From 2d7b84448e9e72425e3c6868b30072bd8018e6cf Mon Sep 17 00:00:00 2001 From: Tim Otten Date: Wed, 22 Nov 2017 16:15:32 -0800 Subject: [PATCH] CRM-21472 - Allow FlexMailer to overload getRequiredTokens() --- CRM/Mailing/Info.php | 3 ++- CRM/Utils/Token.php | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CRM/Mailing/Info.php b/CRM/Mailing/Info.php index 50e3f07bbf..c7820ea91c 100644 --- a/CRM/Mailing/Info.php +++ b/CRM/Mailing/Info.php @@ -129,6 +129,7 @@ class CRM_Mailing_Info extends CRM_Core_Component_Info { )); $enabledLanguages = CRM_Core_I18n::languages(TRUE); $isMultiLingual = (count($enabledLanguages) > 1); + $requiredTokens = defined('CIVICRM_FLEXMAILER_HACK_REQUIRED_TOKENS') ? Civi\Core\Resolver::singleton()->call(CIVICRM_FLEXMAILER_HACK_REQUIRED_TOKENS, array()) : CRM_Utils_Token::getRequiredTokens(); CRM_Core_Resources::singleton() ->addSetting(array( 'crmMailing' => array( @@ -143,7 +144,7 @@ class CRM_Mailing_Info extends CRM_Core_Component_Info { 'emailAdd' => $emailAdd['values'], 'mailTokens' => $mailTokens['values'], 'contactid' => $contactID, - 'requiredTokens' => CRM_Utils_Token::getRequiredTokens(), + 'requiredTokens' => $requiredTokens, 'enableReplyTo' => (int) Civi::settings()->get('replyTo'), 'disableMandatoryTokensCheck' => (int) Civi::settings()->get('disable_mandatory_tokens_check'), 'fromAddress' => $fromAddress['values'], diff --git a/CRM/Utils/Token.php b/CRM/Utils/Token.php index 7bd729b2b0..e58c3b6ce7 100644 --- a/CRM/Utils/Token.php +++ b/CRM/Utils/Token.php @@ -118,7 +118,7 @@ class CRM_Utils_Token { * else an array of the missing tokens */ public static function requiredTokens(&$str) { - $requiredTokens = self::getRequiredTokens(); + $requiredTokens = defined('CIVICRM_FLEXMAILER_HACK_REQUIRED_TOKENS') ? Civi\Core\Resolver::singleton()->call(CIVICRM_FLEXMAILER_HACK_REQUIRED_TOKENS, array()) : CRM_Utils_Token::getRequiredTokens(); $missing = array(); foreach ($requiredTokens as $token => $value) { -- 2.25.1