foreach ($matches[1] as $token) {
list($type, $name) = preg_split('/\./', $token, 2);
if ($name) {
- if (!isset($subjectToken['contact'])) {
- $subjectToken['contact'] = array();
+ if (!isset($subjectToken[$type])) {
+ $subjectToken[$type] = array();
}
- $subjectToken['contact'][] = $name;
+ $subjectToken[$type][] = $name;
}
}
}
$messageSubject = CRM_Utils_Token::replaceContactTokens($body_subject, $contact, FALSE, $subjectToken);
- $messageSubject = CRM_Utils_Token::replaceDomainTokens($messageSubject, $domain, TRUE, $tokens[$value]);
- $messageSubject = CRM_Utils_Token::replaceComponentTokens($messageSubject, $contact, $tokens[$value], TRUE);
+ $messageSubject = CRM_Utils_Token::replaceDomainTokens($messageSubject, $domain, TRUE, $subjectToken);
+ $messageSubject = CRM_Utils_Token::replaceComponentTokens($messageSubject, $contact, $subjectToken, TRUE);
$messageSubject = CRM_Utils_Token::replaceHookTokens($messageSubject, $contact, $categories, TRUE);
$messageSubject = $smarty->fetch("string:{$messageSubject}");