summaryrefslogtreecommitdiff
path: root/app/Core/Event.php
diff options
context:
space:
mode:
authorFrédéric Guillot <fred@kanboard.net>2014-12-27 19:10:38 -0500
committerFrédéric Guillot <fred@kanboard.net>2014-12-27 19:10:38 -0500
commit17dc5bdc9ede52ad618bbf326e67e3b6988170f7 (patch)
tree9cf4d325667f11fa735bca84042fb385e3273329 /app/Core/Event.php
parentcf821e117ce8b937cff7f386a107aaa81ba6bf9b (diff)
Move events handling to Symfony\EventDispatcher
Diffstat (limited to 'app/Core/Event.php')
-rw-r--r--app/Core/Event.php175
1 files changed, 0 insertions, 175 deletions
diff --git a/app/Core/Event.php b/app/Core/Event.php
deleted file mode 100644
index 935f8b9c..00000000
--- a/app/Core/Event.php
+++ /dev/null
@@ -1,175 +0,0 @@
-<?php
-
-namespace Core;
-
-/**
- * Event dispatcher class
- *
- * @package core
- * @author Frederic Guillot
- */
-class Event
-{
- /**
- * Contains all listeners
- *
- * @access private
- * @var array
- */
- private $listeners = array();
-
- /**
- * The last listener executed
- *
- * @access private
- * @var string
- */
- private $lastListener = '';
-
- /**
- * The last triggered event
- *
- * @access private
- * @var string
- */
- private $lastEvent = '';
-
- /**
- * Triggered events list
- *
- * @access private
- * @var array
- */
- private $events = array();
-
- /**
- * Attach a listener object to an event
- *
- * @access public
- * @param string $eventName Event name
- * @param Listener $listener Object that implements the Listener interface
- */
- public function attach($eventName, Listener $listener)
- {
- if (! isset($this->listeners[$eventName])) {
- $this->listeners[$eventName] = array();
- }
-
- $this->listeners[$eventName][] = $listener;
- }
-
- /**
- * Trigger an event
- *
- * @access public
- * @param string $eventName Event name
- * @param array $data Event data
- */
- public function trigger($eventName, array $data)
- {
- if (! $this->isEventTriggered($eventName)) {
-
- $this->events[$eventName] = $data;
-
- if (isset($this->listeners[$eventName])) {
-
- foreach ($this->listeners[$eventName] as $listener) {
-
- $this->lastEvent = $eventName;
-
- if ($listener->execute($data)) {
- $this->lastListener = get_class($listener);
- }
- }
- }
- }
- }
-
- /**
- * Get the last listener executed
- *
- * @access public
- * @return string Event name
- */
- public function getLastListenerExecuted()
- {
- return $this->lastListener;
- }
-
- /**
- * Get the last fired event
- *
- * @access public
- * @return string Event name
- */
- public function getLastTriggeredEvent()
- {
- return $this->lastEvent;
- }
-
- /**
- * Get a list of triggered events
- *
- * @access public
- * @return array
- */
- public function getTriggeredEvents()
- {
- return $this->events;
- }
-
- /**
- * Get a list of triggered events
- *
- * @access public
- * @return array
- */
- public function getEventData($eventName)
- {
- return isset($this->events[$eventName]) ? $this->events[$eventName] : array();
- }
-
- /**
- * Check if an event have been triggered
- *
- * @access public
- * @param string $eventName Event name
- * @return bool
- */
- public function isEventTriggered($eventName)
- {
- return isset($this->events[$eventName]);
- }
-
- /**
- * Flush the list of triggered events
- *
- * @access public
- */
- public function clearTriggeredEvents()
- {
- $this->events = array();
- $this->lastEvent = '';
- }
-
- /**
- * Check if a listener bind to an event
- *
- * @access public
- * @param string $eventName Event name
- * @param mixed $instance Instance name or object itself
- * @return bool Yes or no
- */
- public function hasListener($eventName, $instance)
- {
- if (isset($this->listeners[$eventName])) {
- foreach ($this->listeners[$eventName] as $listener) {
- if ($listener instanceof $instance) {
- return true;
- }
- }
- }
-
- return false;
- }
-}