AND $g2contact.status = 'Added'
AND $contact.do_not_email = 0
AND $contact.is_opt_out = 0
- AND $contact.is_deceased = 0
+ AND $contact.is_deceased <> 1
AND $location_filter
AND $email.email IS NOT NULL
AND $email.email != ''
AND $g2contact.status = 'Added'
AND $contact.do_not_sms = 0
AND $contact.is_opt_out = 0
- AND $contact.is_deceased = 0
+ AND $contact.is_deceased <> 1
AND $phone.phone_type_id = {$phoneTypes['Mobile']}
AND $phone.phone IS NOT NULL
AND $phone.phone != ''
($mg.group_type = 'Include')
AND $contact.do_not_email = 0
AND $contact.is_opt_out = 0
- AND $contact.is_deceased = 0
+ AND $contact.is_deceased <> 1
AND $location_filter
AND $email.on_hold = 0
AND $mg.mailing_id = {$mailing_id}
($mg.group_type = 'Include')
AND $contact.do_not_sms = 0
AND $contact.is_opt_out = 0
- AND $contact.is_deceased = 0
+ AND $contact.is_deceased <> 1
AND $phone.phone_type_id = {$phoneTypes['Mobile']}
AND $mg.mailing_id = {$mailing_id}
AND X_$job_id.contact_id IS null";
WHERE gc.group_id = {$groupDAO->id}
AND c.do_not_email = 0
AND c.is_opt_out = 0
- AND c.is_deceased = 0
+ AND c.is_deceased <> 1
AND $location_filter
AND civicrm_email.on_hold = 0
AND X_$job_id.contact_id IS null
WHERE gc.group_id = {$groupDAO->id}
AND c.do_not_sms = 0
AND c.is_opt_out = 0
- AND c.is_deceased = 0
+ AND c.is_deceased <> 1
AND p.phone_type_id = {$phoneTypes['Mobile']}
AND X_$job_id.contact_id IS null";
}
AND $g2contact.status = 'Added'
AND $contact.do_not_email = 0
AND $contact.is_opt_out = 0
- AND $contact.is_deceased = 0
+ AND $contact.is_deceased <> 1
AND $location_filter
AND $email.on_hold = 0
AND $mg.mailing_id = {$mailing_id}
AND $g2contact.status = 'Added'
AND $contact.do_not_sms = 0
AND $contact.is_opt_out = 0
- AND $contact.is_deceased = 0
+ AND $contact.is_deceased <> 1
AND $phone.phone_type_id = {$phoneTypes['Mobile']}
AND $mg.mailing_id = {$mailing_id}
AND X_$job_id.contact_id IS null";
WHERE (civicrm_email.is_bulkmail = 1 OR civicrm_email.is_primary = 1)
AND civicrm_contact.id = {$groupContact}
AND civicrm_contact.do_not_email = 0
-AND civicrm_contact.is_deceased = 0
+AND civicrm_contact.is_deceased <> 1
AND civicrm_email.on_hold = 0
AND civicrm_contact.is_opt_out = 0
GROUP BY civicrm_email.id
*/
public static function commonCompose(&$form) {
//get the tokens.
- $tokens = CRM_Core_SelectValues::contactTokens();
+ $tokens = array();
- $className = CRM_Utils_System::getClassName($form);
- if ($className == 'CRM_Mailing_Form_Upload') {
- $tokens = array_merge(CRM_Core_SelectValues::mailingTokens(), $tokens);
- }
- elseif ($className == 'CRM_Admin_Form_ScheduleReminders') {
- $tokens = array_merge(CRM_Core_SelectValues::activityTokens(), $tokens);
- $tokens = array_merge(CRM_Core_SelectValues::eventTokens(), $tokens);
- $tokens = array_merge(CRM_Core_SelectValues::membershipTokens(), $tokens);
- }
- elseif ($className == 'CRM_Event_Form_ManageEvent_ScheduleReminders') {
- $tokens = array_merge(CRM_Core_SelectValues::eventTokens(), $tokens);
+ if (method_exists($form, 'listTokens')) {
+ $tokens = array_merge($form->listTokens(), $tokens);
}
//sorted in ascending order tokens by ignoring word case
$textFields = array('text_message' => ts('HTML Format'), 'sms_text_message' => ts('SMS Message'));
$modePrefixes = array('Mail' => NULL, 'SMS' => 'SMS');
+ $className = CRM_Utils_System::getClassName($form);
+
if ($className != 'CRM_SMS_Form_Upload' && $className != 'CRM_Contact_Form_Task_SMS' &&
$className != 'CRM_Contact_Form_Task_SMS'
) {
- $form->addWysiwyg('html_message',
+ $form->add('wysiwyg', 'html_message',
ts('HTML Format'),
array(
'cols' => '80',
else {
$templates[$prefix] = CRM_Core_BAO_MessageTemplate::getMessageTemplates(FALSE);
}
-
if (!empty($templates[$prefix])) {
$form->assign('templates', TRUE);
);
$form->add('text', "{$prefix}saveTemplateName", ts('Template Title'));
}
- }
- /**
- * Build the compose PDF letter form.
- *
- * @param CRM_Core_Form $form
- *
- * @return void
- */
- public static function commonLetterCompose(&$form) {
- //get the tokens.
- $tokens = CRM_Core_SelectValues::contactTokens();
- 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);
- }
-
- $form->assign('tokens', CRM_Utils_Token::formatTokensForDisplay($tokens));
-
- $form->_templates = CRM_Core_BAO_MessageTemplate::getMessageTemplates(FALSE);
- if (!empty($form->_templates)) {
- $form->assign('templates', TRUE);
- $form->add('select', 'template', ts('Select Template'),
- array(
- '' => ts('- select -'),
- ) + $form->_templates, FALSE,
- array('onChange' => "selectValue( this.value,'' );")
- );
- $form->add('checkbox', 'updateTemplate', ts('Update Template'), NULL);
- }
-
- $form->add('checkbox', 'saveTemplate', ts('Save As New Template'), NULL, FALSE,
- array('onclick' => "showSaveDetails(this);")
- );
- $form->add('text', 'saveTemplateName', ts('Template Title'));
-
- $form->addWysiwyg('html_message',
- ts('Your Letter'),
- array(
- 'cols' => '80',
- 'rows' => '8',
- 'onkeyup' => "return verify(this)",
- )
- );
+ // I'm not sure this is ever called.
$action = CRM_Utils_Request::retrieve('action', 'String', $form, FALSE);
if ((CRM_Utils_System::getClassName($form) == 'CRM_Contact_Form_Task_PDF') &&
- $action == CRM_Core_Action::VIEW
+ $action == CRM_Core_Action::VIEW
) {
$form->freeze('html_message');
}
// CRM-8460
$gotCronLock = FALSE;
- if (property_exists($config, 'mailerJobsMax') && $config->mailerJobsMax && $config->mailerJobsMax > 1) {
+ if (property_exists($config, 'mailerJobsMax') && $config->mailerJobsMax && $config->mailerJobsMax > 0) {
$lockArray = range(1, $config->mailerJobsMax);
shuffle($lockArray);
// check if we are using global locks
- $serverWideLock = CRM_Core_BAO_Setting::getItem(
- CRM_Core_BAO_Setting::MAILING_PREFERENCES_NAME,
- 'civimail_server_wide_lock'
- );
foreach ($lockArray as $lockID) {
- $cronLock = new CRM_Core_Lock("civimail.cronjob.{$lockID}", NULL, $serverWideLock);
+ $cronLock = Civi\Core\Container::singleton()->get('lockManager')->acquire("worker.mailing.send.{$lockID}");
if ($cronLock->isAcquired()) {
$gotCronLock = TRUE;
break;
CRM_Core_Error::debug_log_message('Returning early, since max number of cronjobs running');
return TRUE;
}
+
+ if (getenv('CIVICRM_CRON_HOLD')) {
+ // In testing, we may need to simulate some slow activities.
+ sleep(getenv('CIVICRM_CRON_HOLD'));
+ }
}
// load bootstrap to call hooks
// format params and add links
$contactMailings = array();
foreach ($mailings as $mailingId => $values) {
- $contactMailings[$mailingId]['subject'] = $values['subject'];
- $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(
+ $mailing = array();
+ $mailing['subject'] = $values['subject'];
+ $mailing['creator_name'] = CRM_Utils_System::href(
$values['creator_name'],
'civicrm/contact/view',
"reset=1&cid={$values['creator_id']}");
-
+ $mailing['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");
+ $mailing['start_date'] = CRM_Utils_Date::customFormat($values['start_date']);
//CRM-12814
- $contactMailings[$mailingId]['openstats'] = "Opens: " .
+ $mailing['openstats'] = "Opens: " .
CRM_Utils_Array::value($values['mailing_id'], $openCounts, 0) .
"<br />Clicks: " .
CRM_Utils_Array::value($values['mailing_id'], $clickCounts, 0);
$mailingKey = $hash;
}
- $contactMailings[$mailingId]['links'] = CRM_Core_Action::formLink(
+ $mailing['links'] = CRM_Core_Action::formLink(
$actionLinks,
NULL,
array(
'Mailing',
$values['mailing_id']
);
+
+ array_push($contactMailings, $mailing);
}
- return $contactMailings;
+ $contactMailingsDT = array();
+ $contactMailingsDT['data'] = $contactMailings;
+ $contactMailingsDT['recordsTotal'] = $params['total'];
+ $contactMailingsDT['recordsFiltered'] = $params['total'];
+
+ return $contactMailingsDT;
}
/**