$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)) {
// Group by entity
else {
$split = explode('.', trim($k, '{}'));
- $entity = isset($split[1]) ? ucfirst($split[0]) : 'Contact';
+ if (isset($split[1])) {
+ $entity = array_key_exists($split[1], CRM_Core_DAO_Address::export()) ? 'Address' : ucfirst($split[0]);
+ }
+ else {
+ $entity = 'Contact';
+ }
$sorted[ts($entity)][] = array('id' => $k, 'text' => $v);
}
}