projects
/
civicrm-core.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #9660 from colemanw/CRM-19769
[civicrm-core.git]
/
Civi
/
Token
/
TokenCompatSubscriber.php
diff --git
a/Civi/Token/TokenCompatSubscriber.php
b/Civi/Token/TokenCompatSubscriber.php
index 152b5b7ae0fcd05ce6fc8b7bffca0a56e5a45a6f..e6c2f72e65f2a1d17c819a9d7f261d72a6b5c5e0 100644
(file)
--- a/
Civi/Token/TokenCompatSubscriber.php
+++ b/
Civi/Token/TokenCompatSubscriber.php
@@
-49,9
+49,11
@@
class TokenCompatSubscriber implements EventSubscriberInterface {
$messageTokens = $e->getTokenProcessor()->getMessageTokens();
foreach ($e->getRows() as $row) {
$messageTokens = $e->getTokenProcessor()->getMessageTokens();
foreach ($e->getRows() as $row) {
+ /** @var int $contactId */
+ $contactId = $row->context['contactId'];
if (empty($row->context['contact'])) {
$params = array(
if (empty($row->context['contact'])) {
$params = array(
- array('contact_id', '=', $
row->context['contactId']
, 0, 0),
+ array('contact_id', '=', $
contactId
, 0, 0),
);
list($contact, $_) = \CRM_Contact_BAO_Query::apiQuery($params);
$contact = reset($contact); //CRM-4524
);
list($contact, $_) = \CRM_Contact_BAO_Query::apiQuery($params);
$contact = reset($contact); //CRM-4524
@@
-70,16
+72,22
@@
class TokenCompatSubscriber implements EventSubscriberInterface {
$contact = array_merge($contact, $row->context['tmpTokenParams']);
}
$contact = array_merge($contact, $row->context['tmpTokenParams']);
}
+ $contactArray = !is_array($contactId) ? array($contactId => $contact) : $contact;
+
// Note: This is a small contract change from the past; data should be missing
// less randomly.
//\CRM_Utils_Hook::tokenValues($contact, $row->context['contactId']);
// Note: This is a small contract change from the past; data should be missing
// less randomly.
//\CRM_Utils_Hook::tokenValues($contact, $row->context['contactId']);
- \CRM_Utils_Hook::tokenValues($contact,
-
$row->context['contactId']
,
+ \CRM_Utils_Hook::tokenValues($contact
Array
,
+
(array) $contactId
,
empty($row->context['mailingJob']) ? NULL : $row->context['mailingJob']->id,
$messageTokens,
$row->context['controller']
);
empty($row->context['mailingJob']) ? NULL : $row->context['mailingJob']->id,
$messageTokens,
$row->context['controller']
);
+ // merge the custom tokens in the $contact array
+ if (!empty($contactArray[$contactId])) {
+ $contact = array_merge($contact, $contactArray[$contactId]);
+ }
$row->context('contact', $contact);
}
}
$row->context('contact', $contact);
}
}