From b561230a9ac2d6e7679dfc79916b9ef4d4876bf0 Mon Sep 17 00:00:00 2001 From: "Donald A. Lobo" Date: Wed, 6 Nov 2013 14:32:27 -0800 Subject: [PATCH] CRM-13716 - MailingJob still uses civicrm_activity_target (for multiple bulk emails) http://issues.civicrm.org/jira/browse/CRM-13716 --- CRM/Mailing/BAO/MailingJob.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/CRM/Mailing/BAO/MailingJob.php b/CRM/Mailing/BAO/MailingJob.php index d9919f106f..51417a3203 100644 --- a/CRM/Mailing/BAO/MailingJob.php +++ b/CRM/Mailing/BAO/MailingJob.php @@ -935,9 +935,21 @@ AND civicrm_activity.source_record_id = %2 // CRM-9519 if (CRM_Core_BAO_Email::isMultipleBulkMail()) { + static $targetRecordID = NULL; + if (!$targetRecordID) { + $activityContacts = CRM_Core_OptionGroup::values('activity_contacts', FALSE, FALSE, FALSE, NULL, 'name'); + $targetRecordID = CRM_Utils_Array::key('Activity Targets', $activityContacts); + } + // make sure we don't attempt to duplicate the target activity foreach ($activity['target_contact_id'] as $key => $targetID) { - $sql = "SELECT id FROM civicrm_activity_target WHERE activity_id = $activityID AND target_contact_id = $targetID;"; + $sql = " +SELECT id +FROM civicrm_activity_contact +WHERE activity_id = $activityID +AND contact_id = $targetID +AND record_type_id = $targetRecordID +"; if (CRM_Core_DAO::singleValueQuery($sql)) { unset($activity['target_contact_id'][$key]); } -- 2.25.1