コード例 #1
0
 /**
  * Convert a simple array into a PersistentCollection of Event entities
  *
  * @return PersistentCollection
  */
 public function reverseTransform($submittedArray)
 {
     // Get a list of existing events and types
     /** @var PersistentCollection $events */
     $events = $this->webhook->getEvents();
     $eventTypes = $events->getKeys();
     // Check to see what events have been removed
     $removed = array_diff($eventTypes, $submittedArray);
     if ($removed) {
         foreach ($removed as $type) {
             $this->webhook->removeEvent($events[$type]);
         }
     }
     // Now check to see what events have been added
     $added = array_diff($submittedArray, $eventTypes);
     if ($added) {
         foreach ($added as $type) {
             // Create a new entity
             $event = new Event();
             $event->setWebhook($this->webhook)->setEventType($type);
             $events[] = $event;
         }
     }
     $this->webhook->setEvents($events);
     return $events;
 }
コード例 #2
0
 /**
  * {@inheritDoc}
  */
 public function setEventType($event_type)
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'setEventType', array($event_type));
     return parent::setEventType($event_type);
 }