diff --git a/CRM/Mailing/BAO/Mailing.php b/CRM/Mailing/BAO/Mailing.php index 83a73baa681e..f6b624f4aadc 100644 --- a/CRM/Mailing/BAO/Mailing.php +++ b/CRM/Mailing/BAO/Mailing.php @@ -1305,6 +1305,7 @@ public function compose( * @param CRM_Mailing_BAO_Mailing $mailing */ public static function tokenReplace(&$mailing) { + CRM_Core_Error::deprecatedWarning('function no longer called, use flexmailer'); $domain = CRM_Core_BAO_Domain::getDomain(); foreach (['text', 'html'] as $type) { @@ -2475,7 +2476,7 @@ public static function delJob($id) { */ public function getReturnProperties() { $tokens = &$this->getTokens(); - + CRM_Core_Error::deprecatedWarning('function no longer called - use flexmailer'); $properties = []; if (isset($tokens['html']) && isset($tokens['html']['contact']) diff --git a/CRM/Utils/Token.php b/CRM/Utils/Token.php index 050882216078..afe7784ba527 100644 --- a/CRM/Utils/Token.php +++ b/CRM/Utils/Token.php @@ -1183,6 +1183,7 @@ public static function getAnonymousTokenDetails($contactIDs = [0], $className = NULL, $jobID = NULL) { $details = [0 => []]; + CRM_Core_Error::deprecatedFunctionWarning('function no longer used - see flexmailer'); // also call a hook and get token details CRM_Utils_Hook::tokenValues($details[0], $contactIDs, diff --git a/api/v3/Mailing.php b/api/v3/Mailing.php index 6251b3840599..082a00a07654 100644 --- a/api/v3/Mailing.php +++ b/api/v3/Mailing.php @@ -501,60 +501,10 @@ function civicrm_api3_mailing_event_open($params) { * @param array $params * Array per getfields metadata. * - * @return array * @throws \CRM_Core_Exception */ function civicrm_api3_mailing_preview($params) { - $fromEmail = NULL; - if (!empty($params['from_email'])) { - $fromEmail = $params['from_email']; - } - - $mailing = new CRM_Mailing_BAO_Mailing(); - $mailingID = $params['id'] ?? NULL; - if ($mailingID) { - $mailing->id = $mailingID; - $mailing->find(TRUE); - } - else { - $mailing->copyValues($params); - } - - $session = CRM_Core_Session::singleton(); - - CRM_Mailing_BAO_Mailing::tokenReplace($mailing); - - // get and format attachments - $attachments = CRM_Core_BAO_File::getEntityFile('civicrm_mailing', $mailing->id); - - $returnProperties = $mailing->getReturnProperties(); - $contactID = $params['contact_id'] ?? NULL; - if (!$contactID) { - // If we still don't have a userID in a session because we are annon then set contactID to be 0 - $contactID = empty($session->get('userID')) ? 0 : $session->get('userID'); - } - $mailingParams = ['contact_id' => $contactID]; - - if (!$contactID) { - $details = CRM_Utils_Token::getAnonymousTokenDetails($mailingParams, $returnProperties, empty($mailing->sms_provider_id), TRUE, NULL, $mailing->getFlattenedTokens()); - $details = $details[0][0] ?? NULL; - } - else { - [$details] = CRM_Utils_Token::getTokenDetails($mailingParams, $returnProperties, empty($mailing->sms_provider_id), TRUE, NULL, $mailing->getFlattenedTokens()); - $details = $details[$contactID]; - } - - $mime = $mailing->compose(NULL, NULL, NULL, $contactID, $fromEmail, $fromEmail, - TRUE, $details, $attachments - ); - - return civicrm_api3_create_success([ - 'id' => $mailingID, - 'contact_id' => $contactID, - 'subject' => CRM_Utils_Array::value('Subject', $mime->headers(), ''), - 'body_html' => $mime->getHTMLBody(), - 'body_text' => $mime->getTXTBody(), - ]); + throw new CRM_Core_Exception('This is never called because flexmailer intercepts it'); } /** diff --git a/ext/flexmailer/src/API/MailingPreview.php b/ext/flexmailer/src/API/MailingPreview.php index 448f9b9c09ed..4d7fafbef188 100644 --- a/ext/flexmailer/src/API/MailingPreview.php +++ b/ext/flexmailer/src/API/MailingPreview.php @@ -3,7 +3,6 @@ use Civi\FlexMailer\FlexMailer; use Civi\FlexMailer\FlexMailerTask; -use Civi\FlexMailer\Listener\Abdicator; class MailingPreview { @@ -33,11 +32,6 @@ public static function preview($apiRequest) { $mailing->copyValues($params); } - if (!Abdicator::isFlexmailPreferred($mailing) && empty($mailing->sms_provider_id)) { - require_once 'api/v3/Mailing.php'; - return civicrm_api3_mailing_preview($params); - } - $contactID = \CRM_Utils_Array::value('contact_id', $params, \CRM_Core_Session::singleton()->get('userID'));