/** * @param Trigger $entity * @param array $sessionEvents * * @return void */ public function setEvents(Trigger &$entity, $sessionEvents) { $order = 1; $existingActions = $entity->getEvents(); foreach ($sessionEvents as $properties) { $isNew = !empty($properties['id']) && isset($existingActions[$properties['id']]) ? false : true; $event = !$isNew ? $existingActions[$properties['id']] : new TriggerEvent(); foreach ($properties as $f => $v) { if (in_array($f, array('id', 'order'))) { continue; } $func = "set" . ucfirst($f); if (method_exists($event, $func)) { $event->{$func}($v); } $event->setTrigger($entity); } $event->setOrder($order); $order++; $entity->addTriggerEvent($properties['id'], $event); } }
/** * @param Trigger $entity * @param array $sessionEvents */ public function setEvents(Trigger $entity, $sessionEvents) { $order = 1; $existingActions = $entity->getEvents(); foreach ($sessionEvents as $properties) { $isNew = !empty($properties['id']) && isset($existingActions[$properties['id']]) ? false : true; $event = !$isNew ? $existingActions[$properties['id']] : new TriggerEvent(); foreach ($properties as $f => $v) { if (in_array($f, ['id', 'order'])) { continue; } $func = 'set' . ucfirst($f); if (method_exists($event, $func)) { $event->{$func}($v); } } $event->setTrigger($entity); $event->setOrder($order); ++$order; $entity->addTriggerEvent($properties['id'], $event); } // Persist if editing the trigger if ($entity->getId()) { $this->pointTriggerEventModel->saveEntities($entity->getEvents()); } }
/** * {@inheritDoc} */ public function __toString() { $this->__initializer__ && $this->__initializer__->__invoke($this, '__toString', array()); return parent::__toString(); }
/** * @param Trigger $entity * @param array $sessionEvents * * @return void */ public function setEvents(Trigger $entity, $sessionEvents) { $order = 1; $existingActions = $entity->getEvents(); foreach ($sessionEvents as $properties) { $isNew = !empty($properties['id']) && isset($existingActions[$properties['id']]) ? false : true; $event = !$isNew ? $existingActions[$properties['id']] : new TriggerEvent(); foreach ($properties as $f => $v) { if (in_array($f, array('id', 'order'))) { continue; } $func = "set" . ucfirst($f); if (method_exists($event, $func)) { $event->{$func}($v); } } $event->setTrigger($entity); $event->setOrder($order); $order++; $entity->addTriggerEvent($properties['id'], $event); } // Persist if editing the trigger if ($entity->getId()) { /** @var \Mautic\PointBundle\Model\TriggerEventModel $eventModel */ $eventModel = $this->factory->getModel('point.triggerEvent'); $eventModel->saveEntities($entity->getEvents()); } }