Esempio n. 1
0
 /**
  * Replace all mailing tokens in $str
  *
  * @param string $str
  *   The string with tokens to be replaced.
  * @param object $mailing
  *   The mailing BAO, or null for validation.
  * @param bool $html
  *   Replace tokens with HTML or plain text.
  *
  * @param null $knownTokens
  * @param bool $escapeSmarty
  *
  * @return string
  *   The processed string
  */
 public static function &replaceMailingTokens($str, &$mailing, $html = FALSE, $knownTokens = NULL, $escapeSmarty = FALSE)
 {
     $key = 'mailing';
     if (!$knownTokens || !isset($knownTokens[$key])) {
         return $str;
     }
     $str = preg_replace_callback(self::tokenRegex($key), function ($matches) use(&$mailing, $escapeSmarty) {
         return CRM_Utils_Token::getMailingTokenReplacement($matches[1], $mailing, $escapeSmarty);
     }, $str);
     return $str;
 }