/** * Unregister a listener from an event * * @param iMSCP_Events_Listener $listener The listener object to remove * @return bool TRUE if $listener is found and unregistered, FALSE otherwise */ public function unregisterListener(iMSCP_Events_Listener $listener) { $event = $listener->getMetadatum('event'); if (!$event || empty($this->events[$event])) { return false; } if (!$this->events[$event]->removeListener($listener)) { return false; } if (!count($this->events[$event])) { unset($this->events[$event]); } return true; }
/** * Unregister an event listener from an event * * @param iMSCP_Events_Listener $listener The listener object to remove * @return bool TRUE if $listener is found and unregistered, FALSE otherwise */ public function unregisterListener(iMSCP_Events_Listener $listener) { $event = $listener->getMetadatum('event'); if ($eventType = $this->getEventType($event)) { $this->eventManagers[$eventType]->unregisterListener($listener); } return false; }