<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.6 |
+ | CiviCRM version 4.7 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2015 |
+--------------------------------------------------------------------+
'unsubscribe',
'optout',
'opened',
+ 'total_opened',
'bounce',
'spool',
);
// CRM-1258
$row['opened'] = CRM_Mailing_Event_BAO_Opened::getTotalCount($mailing_id, $mailing->id, TRUE);
$report['event_totals']['opened'] += $row['opened'];
+ $row['total_opened'] = CRM_Mailing_Event_BAO_Opened::getTotalCount($mailing_id, $mailing->id);
+ $report['event_totals']['total_opened'] += $row['total_opened'];
// compute unsub total separately to discount duplicates
// CRM-1783
// get all the groups that this user can access
// if they dont have universal access
- $groups = CRM_Core_PseudoConstant::group(NULL, FALSE);
+ $groupNames = civicrm_api3('Group', 'get', array(
+ 'is_active' => 1,
+ 'check_permissions' => TRUE,
+ 'return' => array('title', 'id'),
+ 'options' => array('limit' => 0),
+ ));
+ foreach ($groupNames['values'] as $group) {
+ $groups[$group['id']] = $group['title'];
+ }
if (!empty($groups)) {
$groupIDs = implode(',', array_keys($groups));
+ $domain_id = CRM_Core_Config::domainID();
// get all the mailings that are in this subset of groups
$query = "
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 ) )
- OR ( g.entity_table IS NULL AND g.entity_id IS NULL ) )
+ OR ( g.entity_table IS NULL AND g.entity_id IS NULL AND m.domain_id = $domain_id ) )
";
$dao = CRM_Core_DAO::executeQuery($query);
// CRM-8460
$gotCronLock = FALSE;
- if (property_exists($config, 'mailerJobsMax') && $config->mailerJobsMax && $config->mailerJobsMax > 0) {
- $lockArray = range(1, $config->mailerJobsMax);
+ $mailerJobsMax = Civi::settings()->get('mailerJobsMax');
+ if (is_numeric($mailerJobsMax) && $mailerJobsMax > 0) {
+ $lockArray = range(1, $mailerJobsMax);
shuffle($lockArray);
// check if we are using global locks
foreach ($lockArray as $lockID) {
- $cronLock = Civi\Core\Container::singleton()->get('lockManager')->acquire("worker.mailing.send.{$lockID}");
+ $cronLock = Civi::lockManager()->acquire("worker.mailing.send.{$lockID}");
if ($cronLock->isAcquired()) {
$gotCronLock = TRUE;
break;
// load bootstrap to call hooks
// Split up the parent jobs into multiple child jobs
- $mailerJobSize = (property_exists($config, 'mailerJobSize')) ? $config->mailerJobSize : NULL;
+ $mailerJobSize = Civi::settings()->get('mailerJobSize');
CRM_Mailing_BAO_MailingJob::runJobs_pre($mailerJobSize, $mode);
CRM_Mailing_BAO_MailingJob::runJobs(NULL, $mode);
CRM_Mailing_BAO_MailingJob::runJobs_post($mode);