/** * @return Bengine_Admin_Controller_Abstract */ protected function init() { if ($this->getParam("controller") != "auth" && !Core::getUser()->ifPermissions(array("HAS_AI_ACCESS"))) { $this->redirect("admin/auth"); } return parent::init(); }
/** * Run dispatch process. * * @return mixed */ protected function dispatch() { Hook::event("PreDispatch"); $controllerName = Core::getRequest()->getGET("controller", "index"); $package = Core::getRequest()->getGET("package", DEFAULT_PACKAGE); $overridePackage = null; if (strpos($controllerName, ".")) { list($overridePackage, $controllerName) = explode(".", $controllerName); } self::$controllerName = $controllerName; $config = array("action" => Core::getRequest()->getGET("action", "index")); $class = ($overridePackage !== null ? $overridePackage : $package) . "/controller_" . lcfirst($controllerName); self::$controller = self::factory($class, $config); if (!self::$controller) { self::$controller = self::factory($package . "/controller_index", array("action" => "noroute")); } Hook::event("PostDispatch"); return self::$controller->run(); }
/** * Called when no action method has been found. * * @return Bengine_Comm_Controller_Abstract */ protected function norouteAction() { $this->assign("page", Core::getLang()->get("ERROR_404")); return parent::norouteAction(); }