Beispiel #1
0
 /**
  * (non-PHPdoc)
  * 
  * @see \Zend\EventManager\EventManagerAwareInterface::setEventManager()
  */
 public function setEventManager(EventManagerInterface $events)
 {
     $identifiers = $events->getIdentifiers();
     $identifiers += [$this->eventIdentifier, __CLASS__];
     $identifiers = array_unique($identifiers);
     $events->setIdentifiers($identifiers);
     $this->events = $events;
 }
Beispiel #2
0
    protected function renderEvent($name, EventManagerInterface $eventManager, $profile)
    {
        $listeners = new PriorityQueue();
        foreach ($eventManager->getListeners($name) as $listener) {
            $info = $this->getListenerInfo($listener);
            $listeners->insert($info, $info['priority']);
        }
        $sharedEvents = $eventManager->getSharedManager();
        foreach ($eventManager->getIdentifiers() as $identifier) {
            $sharedListeners = $sharedEvents->getListeners($identifier, $name);
            if ($sharedListeners) {
                foreach ($sharedListeners as $sharedListener) {
                    $info = $this->getListenerInfo($sharedListener, $identifier);
                    $listeners->insert($info, $info['priority']);
                }
            }
        }
        $html = '';
        foreach ($listeners as $listener) {
            $html .= $this->renderListener($listener, $eventManager, $profile);
        }
        $html = <<<HDOC
<li><span class="name">{$this->escape($name)}</span>
    <ol class="listeners">{$html}</ol></li>
HDOC;
        return $html;
    }