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(), ], ], ]; } }