public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) { //print_r(Yaf_Application::app()->getModules()); if (Yaf_Session::getInstance()->get("username")) { //echo "亲爱的用户 ".Yaf_Session::getInstance()->get("username")." 你好<br>"; } else { if ($request->getControllerName() == "User") { } else { if ($request->getControllerName() == "Admin") { } else { //header("Location:/user"); } } } }
/** * @param Yaf_Request_Abstract|Yaf_Request_Http $request * @param Yaf_Response_Abstract $response */ public function preDispatch(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) { $controllerName = strtolower($request->getControllerName()); $actionAliasName = strtolower($request->get('action_alias_name')); self::assign('controllerName', $controllerName); self::assign('actionName', $actionAliasName); $titles = [['controller' => 'job', 'action' => 'list', 'title' => '职位管理']]; foreach ($titles as $title) { $changeTitle = true; if (isset($title['controller'])) { if ($title['controller'] != $controllerName) { $changeTitle = false; } } if (isset($title['action'])) { if ($title['action'] != $actionAliasName) { $changeTitle = false; } } if ($changeTitle) { self::assign('title', $title['title']); break; } } }
public function dispatchLoopStartup(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) { if (strtoupper($request->getModuleName()) == 'PLATFORM') { $currentController = $request->getControllerName(); $routedController = 'Platform' . $currentController; $request->setControllerName($routedController); } }
function preDispatch(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) { $controllerName = strtolower($request->getControllerName()); if (0 === strpos($controllerName, 'doc')) { $model = LoginModel::getInstance(); if (false == $model->checkLogin()) { $request->setControllerName('Login')->setActionName('index'); } } }
public function userAccessRedirect(Yaf_Request_Abstract $request) { $controller = strtolower($request->getControllerName()); $actionAliasName = strtolower($request->get('action_alias_name')); if (!UserRegisterModel::singleton()->hasUserRegistered($this->getObjectId()) && ($controller != 'login' && $actionAliasName != 'unregistered')) { $this->headerLocation('http://zhaopin.renmai.cn/login/unregistered'); } $status = self::getUserStatus(); $jumpUrlMap = array(0 => '/auth/choose', 1 => '/auth/result', 2 => '/resume/search', 3 => '/auth/result'); if (in_array($status, array(self::STATUS_UNAUDITED, self::STATUS_AUDITING, self::STATUS_UNQUALIFIED))) { if ($controller != 'auth' && !(isset(self::$userActionMap[$controller]) && in_array($actionAliasName, self::$userActionMap[$controller]))) { $this->headerLocation('http://zhaopin.renmai.cn' . $jumpUrlMap[$status]); } } }
public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) { $aliasName = $request->getActionName(); $name = str_replace('-', '', $aliasName); $request->setActionName($name); $aliasController = $request->getControllerName(); // $name = str_replace('-','',$aliasController); $list = explode('-', $aliasController); if ($list && count($list)) { foreach ($list as &$item) { $item = ucfirst($item); } $request->setControllerName(implode('', $list)); } $request->setParam('action_alias_name', $aliasName); }
public function dispatchLoopStartup(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) { $session = Yaf_Session::getInstance(); $uid = $session->offsetGet('uid'); $url = $request->getRequestUri(); $controller_name = strtolower($request->getControllerName()); $action_name = strtolower($request->getActionName()); $request_type = $request->getParam('request_type', 'page'); // print_R($action_name); if (empty($uid)) { if (stripos($url, 'login') === false) { $this->headerLocation('/index/login'); } } else { return true; } }
/** * 路由结束事件 * * @author mrmsl <*****@*****.**> * @date 2012-12-25 09:33:26 * @lastmodify 2013-02-17 11:43:31 by mrmsl * * @param object $request Yaf_Request_Http实例 * @param object $response Yaf_Response_Http实例 * * @return void 无返回值 */ public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) { define('CONTROLLER_NAME', $request->getControllerName()); //控制器 define('ACTION_NAME', $request->getActionName()); //操作方法 define('REQUEST_METHOD', $request->getMethod()); //请求方法 define('TEMPLATE_FILE', THEME_PATH . strtolower(CONTROLLER_NAME) . '/' . ACTION_NAME . C('TEMPLATE_SUFFIX')); //模板文件 define('REFERER_PAGER', empty($_SERVER['HTTP_REFERER']) ? '' : urldecode($_SERVER['HTTP_REFERER'])); //来路页面 //请求uri if (isset($_SERVER['REQUEST_URI'])) { define('REQUEST_URI', urldecode($_SERVER['REQUEST_URI'])); } else { $querystring = $request->getQuery(); /** * @ignore */ define('REQUEST_URI', urldecode($request->getRequestUri() . ($querystring ? '?' . http_build_query($querystring) : ''))); } $this->_denyControllers(); //禁止直接访问Error,Base控制器 if ($languages = F(MODULE_NAME . DS . LANG . DS . strtolower(CONTROLLER_NAME), '', LANG_PATH)) { //当前控制器语言包 L($languages); } }
private function _fixDefault(Yaf_Request_Abstract $request) { $module = $request->getModuleName(); if (empty($module) || !is_string($module)) { $request->setModuleName($this->_default_module); } else { $request->setModuleName(ucfirst($module)); } $controller = $request->getControllerName(); if (empty($controller) || !is_string($controller)) { $request->setControllerName($this->_default_controller); } else { $request->setControllerName($this->_formatName($controller)); } $action = $request->getActionName(); if (empty($action) || !is_string($action)) { $request->setActionName($this->_default_action); } else { $request->setActionName(strtolower($action)); } }
/** * 执行过滤器 * * @param Yaf_Request_Abstract $request */ public function executeFilterMethod(Yaf_Request_Abstract $request) { $routeName = strtolower($request->getModuleName()) . '_' . strtolower($request->getControllerName()) . '_' . strtolower($request->getActionName()); if (array_key_exists($routeName, $this->filterRegistry)) { self::$requestObj = $request; $registry = $this->filterRegistry[$routeName]; $FilterClass = $registry[1]; $FilterMethod = $registry[0]; $FilterObj = new $FilterClass(); $FilterObj->{$FilterMethod}(); } }
private function _fixDefault(Yaf_Request_Abstract $request) { $module = $request->getModuleName(); if (empty($module) || !is_string($module)) { $request->setModuleName(Yaf_G::YAF_ROUTER_DEFAULT_MODULE); } else { $request->setModuleName(ucfirst($module)); } $controller = $request->getControllerName(); if (empty($controller) || !is_string($controller)) { $request->setControllerName(Yaf_G::YAF_ROUTER_DEFAULT_CONTROLLER); } else { $request->setControllerName($this->_formatName($controller)); } $action = $request->getActionName(); if (empty($action) || !is_string($action)) { $request->setActionName(Yaf_G::YAF_ROUTER_DEFAULT_ACTION); } else { $request->setActionName(strtolower($action)); } }
public function preDispatch(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) { //将下划线请求的控制器名称重写为大小写 $controller = $request->getControllerName(); if (false !== ($pos = strpos($controller, '_'))) { $request->setControllerName(substr($controller, 0, $pos) . substr($controller, $pos + 1)); } //在模块名称合法的情况下,对方法名称做处理 $moduleName = $request->getModuleName(); if (in_array($moduleName, Yaf_Application::app()->getModules())) { //记录将访问的接口名称 Yaf_Registry::set('REQUEST_API_NAME', strtolower($moduleName . '/' . $controller)); //action中存在".",不存在则默认返回Json数据并且指向index动作 $action = $request->getActionName(); if (false !== strpos($action, '.')) { //source && format $param = explode('.', $action); if (count($param) < 2 || empty($param[1])) { die('request error.'); } //记录需要格式化的类型 Yaf_Registry::set('REQUEST_FORMAT_TYPE', $param[1]); switch ($param[1]) { case 'json': header("Content-type:application/json;charset=utf-8"); $request->setActionName('index'); break; case 'html': header("Content-type:text/html;charset=utf-8"); $request->setActionName($param[0]); break; case 'zip': header('Content-Type:application/zip;charset=utf-8'); $request->setActionName('index'); break; } $source = $param[0]; } else { //header("Content-type:application/json;charset=utf-8"); //默认返回json数据 //$request->setActionName($action); //默认全部指向index方法 //Yaf_Registry::set('REQUEST_FORMAT_TYPE', $param[1]); $source = $action; } self::_analySource($source); } }