CRM-15856 - Export list of required tokens to UI
authorTim Otten <totten@civicrm.org>
Thu, 12 Feb 2015 00:30:46 +0000 (16:30 -0800)
committerTim Otten <totten@civicrm.org>
Thu, 12 Feb 2015 19:59:17 +0000 (11:59 -0800)
CRM/Mailing/Info.php
CRM/Utils/Token.php

index 13f744e5877fb343b8c9ecba94072c725a05ff46..7c967db5100458d34b1636d682f4f9961c241479 100644 (file)
@@ -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(
index 7434d380d56ce7b1c1273e5f1655ce461aead4ff..b3ebfd7f5360e1184220789ce2d91227d1e514b6 100644 (file)
@@ -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;