This revises a very recent commit that touches `static $contactDetails` cache.
Imagine you have two calls to `transitionParticipants()` which involve different-but-overlapping sets:
* First invocation involves Alice and Bob
* Second invocation involves Bob and Carol
The first invocation loads Alice and Bob into `$contactDetails`. The second
invocation identifies Carol as missing. We need to load Carol. Here's the change:
* Before: Carol overwrites Bob in `$contactDetails`. Bob goes missing.
* After: Alice, Bob, and Carol all exist in `$contactDetails`.
//get all required contacts detail.
if (!empty($contactIds)) {
- $contactDetails = civicrm_api3('Contact', 'get', ['id' => ['IN' => $contactIds, 'return' => 'display_name']])['values'];
+ $contactDetails += civicrm_api3('Contact', 'get', ['id' => ['IN' => $contactIds, 'return' => 'display_name']])['values'];
}
//get all required events detail.