Exemple #1
0
 /**
  * @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);
     }
 }
Exemple #2
0
 /**
  * @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());
     }
 }