Example #1
0
 /**
  * dispatch global and local model events
  * no event objects created if no listeners attached
  * return false if some event stop propagation (means u need to cancel dependent actions)
  * @param string $eventName
  * @return bool
  */
 protected function eventDispatch($eventName)
 {
     if (Model::events()->hasListeners($eventName)) {
         $e = new Event($this);
         Model::events()->dispatch($eventName, $e);
         if ($e->isPropagationStopped()) {
             return false;
         }
     }
     if ($this->metadata->events()->hasListeners($eventName)) {
         if (!isset($e)) {
             $e = new Event($this);
         }
         $this->metadata->events()->dispatch($eventName, $e);
         if ($e->isPropagationStopped()) {
             return false;
         }
     }
     return true;
 }