public function beforeDispatchLoop(Event $event, Dispatcher $dispatcher) { if (!$this->auth->logged_in() && $this->router->getActionName() != 'login' && $this->router->getControllerName() != 'rotator') { $dispatcher->setReturnedValue($this->response->redirect('login')); return false; } if ($this->router->getControllerName() != 'rotator') { if ($this->auth->logged_in('admin')) { $dispatcher->setDefaultNamespace('App\\Controllers\\Admin'); } elseif ($this->auth->logged_in('advertiser')) { $dispatcher->setDefaultNamespace('App\\Controllers\\Advertiser'); } } return true; }
public function beforeException(Event $event, Dispatcher $dispatcher, Exception $exception) { $di = $this->getDI(); $response = $di->get('response'); switch ($exception->getCode()) { case Dispatcher::EXCEPTION_HANDLER_NOT_FOUND: case Dispatcher::EXCEPTION_ACTION_NOT_FOUND: $dispatcher->forward(['controller' => 'error', 'action' => 'show404']); return false; } if ($exception instanceof AbstractResponse) { $response->setContent($exception->getMessage())->setStatusCode($exception->getStatusCode(), $exception->getStatusMessage()); $dispatcher->setReturnedValue($response); return false; } //return $response->setContent($exception->getMessage() . ', ' . $exception->getFile() . ':' . $exception->getLine()); }