From 5f56e085b8857a51e9d8e0edc2680e61bc80429d Mon Sep 17 00:00:00 2001 From: Tim Otten Date: Wed, 11 Feb 2015 16:30:46 -0800 Subject: [PATCH] CRM-15856 - Export list of required tokens to UI --- CRM/Mailing/Info.php | 1 + CRM/Utils/Token.php | 29 +++++++++++++++++++---------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/CRM/Mailing/Info.php b/CRM/Mailing/Info.php index 13f744e587..7c967db510 100644 --- a/CRM/Mailing/Info.php +++ b/CRM/Mailing/Info.php @@ -145,6 +145,7 @@ class CRM_Mailing_Info extends CRM_Core_Component_Info { 'mailGrp' => array_values($mailGrp['values']), 'mailTokens' => array_values($mailTokens), 'contactid' => $contactID, + 'requiredTokens' => CRM_Utils_Token::getRequiredTokens(), 'enableReplyTo' => isset($config->replyTo) ? $config->replyTo : 0, 'fromAddress' => array_values($fromAddress['values'][0]['api.OptionValue.get']['values']), 'defaultTestEmail' => civicrm_api3('Contact', 'getvalue', array( diff --git a/CRM/Utils/Token.php b/CRM/Utils/Token.php index 7434d380d5..b3ebfd7f53 100644 --- a/CRM/Utils/Token.php +++ b/CRM/Utils/Token.php @@ -90,17 +90,11 @@ class CRM_Utils_Token { 'welcome' => array('group'), ); + /** - * Check a string (mailing body) for required tokens. - * - * @param string $str - * The message. - * - * @return bool|array - * true if all required tokens are found, - * else an array of the missing tokens + * @return array */ - public static function requiredTokens(&$str) { + public static function getRequiredTokens() { if (self::$_requiredTokens == NULL) { self::$_requiredTokens = array( 'domain.address' => ts("Domain address - displays your organization's postal address."), @@ -112,9 +106,24 @@ class CRM_Utils_Token { ), ); } + return self::$_requiredTokens; + } + + /** + * Check a string (mailing body) for required tokens. + * + * @param string $str + * The message. + * + * @return bool|array + * true if all required tokens are found, + * else an array of the missing tokens + */ + public static function requiredTokens(&$str) { + $requiredTokens = self::getRequiredTokens(); $missing = array(); - foreach (self::$_requiredTokens as $token => $value) { + foreach ($requiredTokens as $token => $value) { if (!is_array($value)) { if (!preg_match('/(^|[^\{])' . preg_quote('{' . $token . '}') . '/', $str)) { $missing[$token] = $value; -- 2.25.1