Spaces:
No application file
No application file
File size: 2,446 Bytes
d2897cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
<?php
namespace Mautic\CampaignBundle\Event;
use Mautic\CampaignBundle\Entity\Event;
use Mautic\CampaignBundle\Entity\LeadEventLog;
use Mautic\CampaignBundle\EventCollector\Accessor\Event\AbstractEventAccessor;
/**
* Trait EventArrayTrait.
*
* @deprecated 2.13.0; used for BC support. To be removed in 3.0
*/
trait EventArrayTrait
{
/**
* @var array
*/
protected $eventArray = [];
/**
* Used to convert entities to the old array format; tried to minimize the need for this except where needed.
*
* @return array
*/
protected function getEventArray(Event $event)
{
$eventId = $event->getId();
if (isset($this->eventArray[$eventId])) {
return $this->eventArray[$eventId];
}
$eventArray = $event->convertToArray();
$campaign = $event->getCampaign();
$eventArray['campaign'] = [
'id' => $campaign->getId(),
'name' => $campaign->getName(),
'createdBy' => $campaign->getCreatedBy(),
];
$eventArray['parent'] = null;
if ($parent = $event->getParent()) {
$eventArray['parent'] = $parent->convertToArray();
$eventArray['parent']['campaign'] = $eventArray['campaign'];
}
$eventArray['children'] = [];
if ($children = $event->getChildren()) {
/** @var Event $child */
foreach ($children as $child) {
$childArray = $child->convertToArray();
$childArray['parent'] =&$eventArray;
$childArray['campaign'] =&$eventArray['campaign'];
unset($childArray['children']);
$eventArray['children'] = $childArray;
}
}
$this->eventArray[$eventId] = $eventArray;
return $this->eventArray[$eventId];
}
protected function getLegacyEventsArray(LeadEventLog $log): array
{
$event = $log->getEvent();
return [
$event->getCampaign()->getId() => [
$this->getEventArray($event),
],
];
}
protected function getLegacyEventsConfigArray(Event $event, AbstractEventAccessor $config): array
{
return [
$event->getEventType() => [
$event->getType() => [
$config->getConfig(),
],
],
];
}
}
|