--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web/lib/Zend/EventManager/GlobalEventManager.php Thu Mar 21 19:52:38 2013 +0100
@@ -0,0 +1,149 @@
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @category Zend
+ * @package Zend_EventManager
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+require_once 'Zend/Stdlib/CallbackHandler.php';
+require_once 'Zend/Stdlib/PriorityQueue.php';
+
+/**
+ * Event manager: notification system
+ *
+ * Use the EventManager when you want to create a per-instance notification
+ * system for your objects.
+ *
+ * @category Zend
+ * @package Zend_EventManager
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_EventManager_GlobalEventManager
+{
+ /**
+ * @var Zend_EventManager_EventCollection
+ */
+ protected static $events;
+
+ /**
+ * Set the event collection on which this will operate
+ *
+ * @param null|Zend_EventManager_EventCollection $events
+ * @return void
+ */
+ public static function setEventCollection(Zend_EventManager_EventCollection $events = null)
+ {
+ self::$events = $events;
+ }
+
+ /**
+ * Get event collection on which this operates
+ *
+ * @return void
+ */
+ public static function getEventCollection()
+ {
+ if (null === self::$events) {
+ self::setEventCollection(new Zend_EventManager_EventManager());
+ }
+ return self::$events;
+ }
+
+ /**
+ * Trigger an event
+ *
+ * @param string $event
+ * @param object|string $context
+ * @param array|object $argv
+ * @return Zend_EventManager_ResponseCollection
+ */
+ public static function trigger($event, $context, $argv = array())
+ {
+ return self::getEventCollection()->trigger($event, $context, $argv);
+ }
+
+ /**
+ * Trigger listeenrs until return value of one causes a callback to evaluate
+ * to true.
+ *
+ * @param string $event
+ * @param string|object $context
+ * @param array|object $argv
+ * @param callback $callback
+ * @return Zend_EventManager_ResponseCollection
+ */
+ public static function triggerUntil($event, $context, $argv, $callback)
+ {
+ return self::getEventCollection()->triggerUntil($event, $context, $argv, $callback);
+ }
+
+ /**
+ * Attach a listener to an event
+ *
+ * @param string $event
+ * @param callback $callback
+ * @param int $priority
+ * @return Zend_Stdlib_CallbackHandler
+ */
+ public static function attach($event, $callback, $priority = 1)
+ {
+ return self::getEventCollection()->attach($event, $callback, $priority);
+ }
+
+ /**
+ * Detach a callback from a listener
+ *
+ * @param Zend_Stdlib_CallbackHandler $listener
+ * @return bool
+ */
+ public static function detach(Zend_Stdlib_CallbackHandler $listener)
+ {
+ return self::getEventCollection()->detach($listener);
+ }
+
+ /**
+ * Retrieve list of events this object manages
+ *
+ * @return array
+ */
+ public static function getEvents()
+ {
+ return self::getEventCollection()->getEvents();
+ }
+
+ /**
+ * Retrieve all listeners for a given event
+ *
+ * @param string $event
+ * @return Zend_Stdlib_PriorityQueue|array
+ */
+ public static function getListeners($event)
+ {
+ return self::getEventCollection()->getListeners($event);
+ }
+
+ /**
+ * Clear all listeners for a given event
+ *
+ * @param string $event
+ * @return void
+ */
+ public static function clearListeners($event)
+ {
+ return self::getEventCollection()->clearListeners($event);
+ }
+}