X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FMailing%2FBAO%2FMailing.php;h=3e97b47ea97a092f126d611584d90d6a783d1475;hb=c6ad7d514d490c7cb8cffbbc0d8661f0670f1603;hp=dd4ef5bc013ed71cd92dfe30153d805129e1b3f5;hpb=11323c0e1cc5e4710689f4a07b7a2fd6e56c9455;p=civicrm-core.git diff --git a/CRM/Mailing/BAO/Mailing.php b/CRM/Mailing/BAO/Mailing.php index dd4ef5bc01..3e97b47ea9 100644 --- a/CRM/Mailing/BAO/Mailing.php +++ b/CRM/Mailing/BAO/Mailing.php @@ -296,9 +296,11 @@ class CRM_Mailing_BAO_Mailing extends CRM_Mailing_DAO_Mailing { ->select("$contact.id as contact_id, $entityTable.id as $entityColumn") ->join($entityTable, " INNER JOIN $entityTable ON $entityTable.contact_id = $contact.id ") ->join('gc', " INNER JOIN civicrm_group_contact_cache gc ON $contact.id = gc.contact_id ") + ->join('gcr', " LEFT JOIN civicrm_group_contact gcr ON gc.group_id = gcr.group_id AND gc.contact_id = gcr.contact_id") ->join('mg', " INNER JOIN civicrm_mailing_group mg ON gc.group_id = mg.entity_id AND mg.search_id IS NULL ") ->join('temp', " LEFT JOIN $excludeTempTablename temp ON $contact.id = temp.contact_id ") ->where('gc.group_id IN (#groups)') + ->where('gcr.status IS NULL OR gcr.status != "Removed"') ->merge($criteria) ->replaceInto($includedTempTablename, array('contact_id', $entityColumn)) ->param('#groups', $includeSmartGroupIDs) @@ -825,14 +827,14 @@ ORDER BY civicrm_email.is_bulkmail DESC */ private function getHeaderFooter() { if (!$this->header and $this->header_id) { - $this->header = new CRM_Mailing_BAO_Component(); + $this->header = new CRM_Mailing_BAO_MailingComponent(); $this->header->id = $this->header_id; $this->header->find(TRUE); $this->header->free(); } if (!$this->footer and $this->footer_id) { - $this->footer = new CRM_Mailing_BAO_Component(); + $this->footer = new CRM_Mailing_BAO_MailingComponent(); $this->footer->id = $this->footer_id; $this->footer->find(TRUE); $this->footer->free(); @@ -1693,8 +1695,8 @@ ORDER BY civicrm_email.is_bulkmail DESC } if (!Civi::settings()->get('disable_mandatory_tokens_check')) { - $header = $mailing->header_id && $mailing->header_id != 'null' ? CRM_Mailing_BAO_Component::findById($mailing->header_id) : NULL; - $footer = $mailing->footer_id && $mailing->footer_id != 'null' ? CRM_Mailing_BAO_Component::findById($mailing->footer_id) : NULL; + $header = $mailing->header_id && $mailing->header_id != 'null' ? CRM_Mailing_BAO_MailingComponent::findById($mailing->header_id) : NULL; + $footer = $mailing->footer_id && $mailing->footer_id != 'null' ? CRM_Mailing_BAO_MailingComponent::findById($mailing->footer_id) : NULL; foreach (array('body_html', 'body_text') as $field) { if (empty($mailing->{$field})) { continue; @@ -1786,7 +1788,7 @@ ORDER BY civicrm_email.is_bulkmail DESC 'forward' => CRM_Mailing_Event_BAO_Forward::getTableName(), 'url' => CRM_Mailing_BAO_TrackableURL::getTableName(), 'urlopen' => CRM_Mailing_Event_BAO_TrackableURLOpen::getTableName(), - 'component' => CRM_Mailing_BAO_Component::getTableName(), + 'component' => CRM_Mailing_BAO_MailingComponent::getTableName(), 'spool' => CRM_Mailing_BAO_Spool::getTableName(), ); @@ -2720,7 +2722,7 @@ SELECT $mailing.id as mailing_id if (!$isSMS) { if ($report['mailing']['header_id']) { - $header = new CRM_Mailing_BAO_Component(); + $header = new CRM_Mailing_BAO_MailingComponent(); $header->id = $report['mailing']['header_id']; $header->find(TRUE); $htmlHeader = $header->body_html; @@ -2728,7 +2730,7 @@ SELECT $mailing.id as mailing_id } if ($report['mailing']['footer_id']) { - $footer = new CRM_Mailing_BAO_Component(); + $footer = new CRM_Mailing_BAO_MailingComponent(); $footer->id = $report['mailing']['footer_id']; $footer->find(TRUE); $htmlFooter = $footer->body_html;