/** * Returns an end-user interface instance, creating it if it does not * already exist and using a default class if none has been set. * * @return Phergie_Ui_Abstract */ public function getUi() { if (empty($this->ui)) { $this->ui = new Phergie_Ui_Console(); $this->ui->setEnabled($this->getConfig('ui.enabled')); } return $this->ui; }
/** * Sends resulting outgoing events from earlier processing in handleEvents(). * * @param Phergie_Connection $connection Active connection * * @return void */ protected function processEvents(Phergie_Connection $connection) { $this->plugins->preDispatch(); if (count($this->events)) { foreach ($this->events as $event) { $this->ui->onCommand($event, $connection); $method = 'do' . ucfirst(strtolower($event->getType())); call_user_func_array(array($this->driver, $method), $event->getArguments()); } } $this->plugins->postDispatch(); if ($this->events->hasEventOfType(Phergie_Event_Request::TYPE_QUIT)) { $this->ui->onQuit($connection); $this->connections->removeConnection($connection); } $this->events->clearEvents(); }