<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.3 |
+ | CiviCRM version 4.4 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2013 |
+--------------------------------------------------------------------+
$aclWhere = $aclWhere ? "WHERE {$aclWhere}" : '';
$limitString = NULL;
if ($limit && $offset !== NULL) {
+ $offset = CRM_Utils_Type::escape($offset, 'Int');
+ $limit = CRM_Utils_Type::escape($limit, 'Int');
+
$limitString = "LIMIT $offset, $limit";
}
private function _getMailingGroupIds($type = 'Include') {
$mailingGroup = new CRM_Mailing_DAO_MailingGroup();
$group = CRM_Contact_DAO_Group::getTableName();
- if (!isset($thi->sid)) {
+ if (!isset($this->id)) {
// we're just testing tokens, so return any group
$query = "SELECT id AS entity_id
FROM $group
)) {
$textBody = join('', $text);
if ($useSmarty) {
- $smarty->security = TRUE;
- $textBody = $smarty->fetch("string:$textBody");
- $smarty->security = FALSE;
+ $textBody = $smarty->fetch("string:$textBody");
}
$mailParams['text'] = $textBody;
}
))) {
$htmlBody = join('', $html);
if ($useSmarty) {
- $smarty->security = TRUE;
- $htmlBody = $smarty->fetch("string:$htmlBody");
- $smarty->security = FALSE;
+ $htmlBody = $smarty->fetch("string:$htmlBody");
}
$mailParams['html'] = $htmlBody;
}
$groups = CRM_Core_PseudoConstant::group(NULL, FALSE);
if (!empty($groups)) {
$groupIDs = implode(',', array_keys($groups));
- $selectClause = ($count) ? 'COUNT( DISTINCT m.id) as count' : 'DISTINCT( m.id ) as id';
// get all the mailings that are in this subset of groups
$query = "
-SELECT $selectClause
+SELECT DISTINCT( m.id ) as id
FROM civicrm_mailing m
LEFT JOIN civicrm_mailing_group g ON g.mailing_id = m.id
WHERE ( ( g.entity_table like 'civicrm_group%' AND g.entity_id IN ( $groupIDs ) )
}
if ($rowCount) {
+ $offset = CRM_Utils_Type::escape($offset, 'Int');
+ $rowCount = CRM_Utils_Type::escape($rowCount, 'Int');
+
$query .= " LIMIT $offset, $rowCount ";
}
CRM_Core_Error::fatal();
}
+ CRM_Utils_Hook::pre('delete', 'Mailing', $id, CRM_Core_DAO::$_nullArray);
+
// delete all file attachments
CRM_Core_BAO_File::deleteEntityFile('civicrm_mailing',
$id
$dao->delete();
CRM_Core_Session::setStatus(ts('Selected mailing has been deleted.'), ts('Deleted'), 'success');
+
+ CRM_Utils_Hook::post('delete', 'Mailing', $id, $dao);
}
/**
);
- $form->_templates = CRM_Core_BAO_MessageTemplates::getMessageTemplates(FALSE);
+ $form->_templates = CRM_Core_BAO_MessageTemplate::getMessageTemplates(FALSE);
if (!empty($form->_templates)) {
$form->assign('templates', TRUE);
$form->add('select', 'template', ts('Use Template'),
if (CRM_Utils_System::getClassName($form) == 'CRM_Mailing_Form_Upload') {
$tokens = array_merge(CRM_Core_SelectValues::mailingTokens(), $tokens);
}
-
+ //@todo move this fn onto the form
if (CRM_Utils_System::getClassName($form) == 'CRM_Contribute_Form_Task_PDFLetter') {
$tokens = array_merge(CRM_Core_SelectValues::contributionTokens(), $tokens);
}
+ if(method_exists($form, 'listTokens')) {
+ $tokens = array_merge($form->listTokens(), $tokens);
+ }
+
//sorted in ascending order tokens by ignoring word case
natcasesort($tokens);
)
);
- $form->_templates = CRM_Core_BAO_MessageTemplates::getMessageTemplates(FALSE);
+ $form->_templates = CRM_Core_BAO_MessageTemplate::getMessageTemplates(FALSE);
if (!empty($form->_templates)) {
$form->assign('templates', TRUE);
$form->add('select', 'template', ts('Select Template'),
// CRM_Core_Error::debug_log_message("Beginning processQueue run: {$config->mailerJobsMax}, {$config->mailerJobSize}");
if ($mode == NULL && CRM_Core_BAO_MailSettings::defaultDomain() == "EXAMPLE.ORG") {
- CRM_Core_Error::fatal(ts('The <a href="%1">default mailbox</a> has not been configured. You will find <a href="%2">more info in the online user and administrator guide</a>', array(1 => CRM_Utils_System::url('civicrm/admin/mailSettings', 'reset=1'), 2 => "http://book.civicrm.org/user/initial-set-up/email-system-configuration")));
+ CRM_Core_Error::fatal(ts('The <a href="%1">default mailbox</a> has not been configured. You will find <a href="%2">more info in the online user and administrator guide</a>', array(1 => CRM_Utils_System::url('civicrm/admin/mailSettings', 'reset=1'), 2 => "http://book.civicrm.org/user/advanced-configuration/email-system-configuration/")));
}
// check if we are enforcing number of parallel cron jobs
return TRUE;
}
- private function addMultipleEmails($mailingID) {
+ private static function addMultipleEmails($mailingID) {
$sql = "
INSERT INTO civicrm_mailing_recipients
(mailing_id, email_id, contact_id)
$params['total'] = CRM_Mailing_BAO_Mailing::getContactMailingsCount($params);
//CRM-12814
- if ( !empty($mailings) ) {
+ if (!empty($mailings)) {
$openCounts = CRM_Mailing_Event_BAO_Opened::getMailingTotalCount(array_keys($mailings));
$clickCounts = CRM_Mailing_Event_BAO_TrackableURLOpen::getMailingTotalCount(array_keys($mailings));
}
$contactMailings[$mailingId]['start_date'] = CRM_Utils_Date::customFormat($values['start_date']);
$contactMailings[$mailingId]['recipients'] = CRM_Utils_System::href(ts('(recipients)'), 'civicrm/mailing/report/event',
"mid={$values['mailing_id']}&reset=1&cid={$params['contact_id']}&event=queue&context=mailing");
+
$contactMailings[$mailingId]['mailing_creator'] = CRM_Utils_System::href(
- $values['creator_name'],
- 'civicrm/contact/view',
- "reset=1&cid={$values['creator_id']}");
+ $values['creator_name'],
+ 'civicrm/contact/view',
+ "reset=1&cid={$values['creator_id']}");
//CRM-12814
- $contactMailings[$mailingId]['openstats'] = "Opens: ".$openCounts[$values['mailing_id']].
- "<br />Clicks: ".$clickCounts[$values['mailing_id']];
+ $contactMailings[$mailingId]['openstats'] = ts('Opens') . ': ' . $openCounts[$values['mailing_id']] .
+ '<br />' . ts('Clicks') . ': ' . $clickCounts[$values['mailing_id']];
$actionLinks = array(
CRM_Core_Action::VIEW => array(
- 'name' => ts('View'),
- 'url' => 'civicrm/mailing/view',
- 'qs' => "reset=1&id={$values['mailing_id']}",
+ 'name' => ts('View'),
+ 'url' => 'civicrm/mailing/view',
+ 'qs' => "reset=1&id={$values['mailing_id']}",
'title' => ts('View Mailing'),
'class' => 'crm-mailing-view',
),
*/
static public function getContactMailingsCount(&$params) {
$params['version'] = 3;
-
- $result = civicrm_api('MailingContact', 'getcount', $params);
- return $result['values']['count'];
+ return civicrm_api('MailingContact', 'getcount', $params);
}
}