CRM-15418 - Prevent non-contact tokens from being lost in replaceGreetingTokens function.
authorDave Greenberg <dave@civicrm.org>
Mon, 20 Oct 2014 19:19:28 +0000 (12:19 -0700)
committerDave Greenberg <dave@civicrm.org>
Mon, 20 Oct 2014 19:19:28 +0000 (12:19 -0700)
----------------------------------------
* CRM-15418:
  https://issues.civicrm.org/jira/browse/CRM-15418

CRM/Utils/Token.php

index 0e58f6e12dda537c21e573e3adcbd9fa682a9dd5..10d5d8937f3b8817c306009027b247b4d901a02a 100644 (file)
@@ -1364,12 +1364,14 @@ class CRM_Utils_Token {
           $escapeSmarty
         );
       }
+      
       // check if there are still any unevaluated tokens
-      $greetingTokens = self::getTokens($tokenString);
+      $remainingTokens = self::getTokens($tokenString);
 
-      // $greetingTokens not empty, there are hook tokens to replace 
-      if (!empty($greetingTokens) ) {
+      // contact related $greetingTokens not empty, there are customized or hook tokens to replace 
+      if (!empty($remainingTokens['contact']) ) {
         // Fill the return properties array
+        $greetingTokens = $remainingTokens['contact'];
         reset($greetingTokens);
         $greetingsReturnProperties = array();
         while(list($key) = each($greetingTokens)) {