/** * @param $hierarchy * @param $events * @param Campaign $entity * @param string $root * @param int $order */ private function buildOrder($hierarchy, &$events, &$entity, $root = 'null', $order = 1) { $count = count($hierarchy); foreach ($hierarchy as $eventId => $parent) { if ($parent == $root || $count === 1) { $events[$eventId]->setOrder($order); $entity->addEvent($eventId, $events[$eventId]); unset($hierarchy[$eventId]); if (count($hierarchy)) { $this->buildOrder($hierarchy, $events, $entity, $eventId, $order + 1); } } } }
/** * {@inheritDoc} */ public function addEvent($key, \Mautic\CampaignBundle\Entity\Event $event) { $this->__initializer__ && $this->__initializer__->__invoke($this, 'addEvent', array($key, $event)); return parent::addEvent($key, $event); }