Example #1
0
 /**
  * Trigger new event.
  *
  * @internal to be used only from \core\event\base::trigger() method.
  * @param \core\event\base $event
  *
  * @throws \coding_Exception if used directly.
  */
 public static function dispatch(\core\event\base $event)
 {
     if (during_initial_install()) {
         return;
     }
     if (!$event->is_triggered() or $event->is_dispatched()) {
         throw new \coding_exception('Illegal event dispatching attempted.');
     }
     self::$buffer[] = $event;
     if (self::$dispatching) {
         return;
     }
     self::$dispatching = true;
     self::process_buffers();
     self::$dispatching = false;
 }