public function routeShutdown(Zend_Controller_Request_Abstract $request) { $useModule = array('default', 'mice'); if (in_array($request->getModuleName(), $useModule) and $this->getRequest()->getParam('language') != 'scripts') { Zend_Db_Table_Abstract::setDefaultAdapter(Zend_Registry::get('read')); } else { Zend_Db_Table_Abstract::setDefaultAdapter(Zend_Registry::get('write')); } if (in_array($request->getModuleName(), $useModule) and $this->getRequest()->getParam('language') != 'scripts') { $language = $this->getRequest()->getParam('language'); if (empty($language)) { $language = 'id'; } // Model $dictionaryDb = new Model_DbTable_Dictionary(); $languageDb = new Model_DbTable_Language(); // Data $dictionary = $dictionaryDb->getDictionaryArray($language); $languageId = $languageDb->getIdByName($language); try { // Translator Zend $translate = new Zend_Translate('array', $dictionary, $language); // Set registry Zend_Registry::set('Zend_Translate', $translate); Zend_Registry::set('language', $language); Zend_Registry::set('languageId', $languageId['language_id']); Zend_Registry::set('languageText', $languageId['language_text']); } catch (Zend_Translate_Exception $zte) { } catch (Zend_Exception $ze) { } } }
public function preDispatch(Zend_Controller_Request_Abstract $request) { if (!in_array($request->getModuleName(), array('qg', 'painel'))) { return; } $controller = ""; $action = ""; $module = ""; if (!$this->_auth->hasIdentity()) { $controller = $this->_notLoggedRoute['controller']; $action = $this->_notLoggedRoute['action']; $module = $request->getModuleName(); } else { if (!$this->_isAuthorized($request->getModuleName(), $request->getControllerName(), $request->getActionName())) { $controller = $this->_forbiddenRoute['controller']; $action = $this->_forbiddenRoute['action']; $module = $request->getModuleName(); } else { $controller = $request->getControllerName(); $action = $request->getActionName(); $module = $request->getModuleName(); } } $request->setControllerName($controller); $request->setActionName($action); $request->setModuleName($module); }
public function routeShutdown(Zend_Controller_Request_Abstract $request) { Zend_Layout::getMvcInstance()->setLayout($request->getModuleName()); Zend_Layout::getMvcInstance()->setLayoutPath(APPLICATION_PATH . "/modules/" . $request->getModuleName() . "/layouts/scripts"); $eh = Zend_Controller_Front::getInstance()->getPlugin("Zend_Controller_Plugin_ErrorHandler"); $eh->setErrorHandlerModule($request->getModuleName()); }
public function preDispatch(Zend_Controller_Request_Abstract $request) { $this->_initAcl(); if ($this->_auth->hasIdentity()) { $ident = $this->_auth->getIdentity(); $date = new Zend_Date(); $ident->last_login = $date->get(DATABASE_DATE_FORMAT); $ident->save(); } if ($request->getControllerName() != 'admin' && $request->getModuleName() != 'admin') { return; } // if this is not admin skip the rest if (!$this->_auth->hasIdentity() && !($request->getControllerName() == 'auth' && $request->getActionName() == 'login' && $request->getModuleName() == 'admin')) { $redirect = new Zend_Controller_Action_Helper_Redirector(); $redirect->gotoSimple('login', 'auth', 'admin'); } if ($request->getModuleName() == 'user' && $request->getControllerName() == 'admin' && $request->getActionName() == 'profile') { return; } // the profile is a free resource $resource = $request->getModuleName() . '_' . $request->getControllerName(); $hasResource = $this->_acl->has($resource); if ($hasResource && !$this->_acl->isAllowed('fansubcms_user_custom_role_logged_in_user', $resource, $request->getActionName())) { throw new FansubCMS_Exception_Denied('The user is not allowd to do this'); } }
public function preDispatch(Zend_Controller_Request_Abstract $request) { $storage = new Zend_Auth_Storage_Session(); $data = $storage->read(); $role = $data['emprole']; if ($role == 1) { $role = 'admin'; } $request->getModuleName(); $request->getControllerName(); $request->getActionName(); $module = $request->getModuleName(); $resource = $request->getControllerName(); $privilege = $request->getActionName(); $this->id_param = $request->getParam('id'); $allowed = false; $acl = $this->_getAcl(); $moduleResource = "{$module}:{$resource}"; if ($resource == 'profile') { $role = 'viewer'; } if ($resource == 'services') { $role = 'services'; } if ($role != '') { if ($acl->has($moduleResource)) { $allowed = $acl->isAllowed($role, $moduleResource, $privilege); } if (!$allowed) { $request->setControllerName('error'); $request->setActionName('error'); } } }
public function postDispatch(Zend_Controller_Request_Abstract $request) { $auth = Zend_Auth::getInstance(); $sessionName = $request->getModuleName() == 'site' ? 'siteSession' : 'painelSession'; $this->_moduleName = $request->getModuleName(); $auth->setStorage(new Zend_Auth_Storage_Session($sessionName)); }
public function preDispatch(Zend_Controller_Request_Abstract $request) { $auth = Zend_Auth::getInstance(); $publicPages = array(); $publicPages['controllers'] = array('login'); $publicPages['actions'] = array(); $controllerName = $request->getControllerName(); if ($auth->hasIdentity() || in_array($controllerName, $publicPages['controllers'])) { return true; } throw new WebVista_App_AuthException('You must be authenticated to access the system.'); $roleId = $auth->getIdentity()->roleId; $acl = WebVista_Acl::getInstance(); if (!$acl->hasRole($roleId)) { $error = "Sorry, the requested user role '" . $roleId . "' does not exist"; } if (!$acl->has($request->getModuleName() . '_' . $request->getControllerName())) { $error = "Sorry, the requested controller '" . $request->getControllerName() . "' does not exist as an ACL resource"; } if (!$acl->isAllowed($roleId, $request->getModuleName() . '_' . $request->getControllerName(), $request->getActionName())) { $error = "Sorry, the page you requested does not exist or you do not have access"; } if (isset($error)) { throw new WebVista_App_AuthException('You must be authenticated to access the system.'); } }
/** * Route shutdown hook -- Ccheck for router exceptions * * @param Zend_Controller_Request_Abstract $request */ public function routeShutdown(Zend_Controller_Request_Abstract $request) { $frontController = Zend_Controller_Front::getInstance(); if (in_array($request->getModuleName(), array('async', 'external', 'externalr12')) && $frontController->hasPlugin('Zend_Controller_Plugin_ErrorHandler')) { $errorHandler = $frontController->getPlugin('Zend_Controller_Plugin_ErrorHandler'); $errorHandler->setErrorHandlerModule($request->getModuleName()); } }
function hasAccessUrl(Zend_Controller_Request_Abstract $request) { $acl = $this->getAcl(); $url1 = $request->getModuleName() . '::*'; $url2 = $request->getModuleName() . '::' . $request->getControllerName() . '::*'; $url3 = $request->getModuleName() . '::' . $request->getControllerName() . '::' . $request->getActionName(); return $acl->has($url1) && $acl->isAllowed($this->getRole(), $url1) || $acl->has($url2) && $acl->isAllowed($this->getRole(), $url2) || $acl->has($url3) && $acl->isAllowed($this->getRole(), $url3); }
public static function getModulesIdsByRequest(Zend_Controller_Request_Abstract $request) { $map = self::getMapModules(); if (isset($map[$request->getModuleName()][$request->getControllerName()][$request->getActionName()])) { return $map[$request->getModuleName()][$request->getControllerName()][$request->getActionName()]; } else { return false; } }
public function preDispatch(Zend_Controller_Request_Abstract $request) { $frontController = Zend_Controller_Front::getInstance(); $config = $frontController->getParam('bootstrap')->getApplication()->getOptions(); if (isset($config[$request->getModuleName()]['resources']['layout']['layout'])) { $layout = Zend_Layout::getMvcInstance(); $layout->setLayout($config[$request->getModuleName()]['resources']['layout']['layout']); } }
/** * @author Phuc Duong <*****@*****.**> * @desc set layout */ public function preDispatch(Zend_Controller_Request_Abstract $request) { $this->getLayout()->setLayoutPath(Zend_Controller_Front::getInstance()->getModuleDirectory($request->getModuleName()) . '/layouts/scripts/'); $module = $request->getModuleName(); if (isset($module) && $module == "admin") { $this->getLayout()->setLayout($module); } else { $this->getLayout()->setLayout('layout'); } }
public function preDispatch(Zend_Controller_Request_Abstract $request) { $layoutDir = 'default'; if ($request->getModuleName() == 'admin') { $layoutDir = 'admin'; } $layout = Zend_Layout::getMvcInstance(); $layout->setLayoutPath(APPLICATION_PATH . DS . "layouts" . DS . $layoutDir)->setInflectorTarget(':script.:suffix')->setViewSuffix('inc'); $this->prepareNavigation($request->getModuleName()); }
public function preDispatch(Zend_Controller_Request_Abstract $request) { $front = Zend_Controller_Front::getInstance(); if ($front->getDefaultModule() == $request->getModuleName()) { return; } $layout = Zend_Layout::getMvcInstance(); $layout->setLayoutPath($front->getModuleDirectory($request->getModuleName()) . '/views/layouts'); $layout->setLayout('default'); }
/** * * @access protected * @return void */ protected function _includeCssController() { $ds = '/'; //DIRECTORY_SEPARATOR; $file = 'public' . $ds . 'styles' . $ds . $this->_request->getModuleName() . $ds . $this->_request->getControllerName() . '.css'; if (file_exists(APPLICATION_PATH . $ds . '..' . $ds . $file)) { $view = Zend_Controller_Front::getInstance()->getParam('bootstrap')->getResource('view'); $view->headLink()->appendStylesheet($view->baseUrl($file)); } }
public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request) { $view = Zend_Controller_Action_HelperBroker::getExistingHelper('ViewRenderer')->view; $scriptPath = APPLICATION_PATH . '/templates/' . Zend_Registry::get('template') . '/' . $request->getModuleName(); $defaultScriptPath = APPLICATION_PATH . '/templates/' . Zend_Registry::get('template') . '/default'; if (file_exists($scriptPath)) { $view->addScriptPath($scriptPath); } elseif ($request->getModuleName() != 'default' && file_exists($defaultScriptPath)) { $view->addScriptPath($defaultScriptPath); } }
public function dispatchLoopStartup(Zend_Controller_Request_Abstract $pRequest) { if (!$pRequest->getModuleName() || $pRequest->getModuleName() == 'default') { $page = strtolower($pRequest->getParam('page', '')); if ($page) { $pRequest->setModuleName('index'); $pRequest->setControllerName('info'); $pRequest->setActionName($page); } } }
public function getInstance(Zend_Controller_Request_Abstract $request) { if (!is_null($request->getModuleName())) { $controller = $this->_loadCommand($request->getControllerName(), $request->getModuleName()); return $controller; } elseif (!is_null($request->getControllerName())) { $controller = $this->_loadCommand($request->getControllerName()); return $controller; } else { return $this->_loadCommand($this->getDefaultControllerName()); } }
public function routeShutdown(Zend_Controller_Request_Abstract $request) { $front = Zend_Controller_Front::getInstance(); if (!$front->getPlugin('Zend_Controller_Plugin_ErrorHandler') instanceof Zend_Controller_Plugin_ErrorHandler) { return; } $error = $front->getPlugin('Zend_Controller_Plugin_ErrorHandler'); $testRequest = new Zend_Controller_Request_Http(); $testRequest->setModuleName($request->getModuleName())->setControllerName($error->getErrorHandlerController())->setActionName($error->getErrorHandlerAction()); if ($front->getDispatcher()->isDispatchable($testRequest)) { $error->setErrorHandlerModule($request->getModuleName()); } }
public function preDispatch(\Zend_Controller_Request_Abstract $request) { if (isset($this->_moduleLayouts[$request->getModuleName()])) { $config = $this->_moduleLayouts[$request->getModuleName()]; $layout = \Zend_Layout::getMvcInstance(); if ($layout->getMvcEnabled()) { $layout->setLayoutPath($config['layoutPath']); if ($config['layout'] !== null) { $layout->setLayout($config['layout']); } } } }
public function preDispatch(Zend_Controller_Request_Abstract $request) { $aHostName = array('hansa-flex.pro', 'hansa-flex.su', 'hansa-flex.org', 'xn----7sbavhvfm6b0af.xn--p1ai'); if (in_array($request->getServer('HTTP_HOST'), $aHostName)) { $layout = Zend_Layout::getMvcInstance(); $layout->setLayout('plug'); } if ($request->getParam('fullPath')) { $this->validatePath($request->getParam('fullPath')); } if ($request->getModuleName() === 'admin' || $request->getModuleName() === 'utils') { $this->redirectAdmin(); } }
public function routeShutdown(Zend_Controller_Request_Abstract $request) { try { $this->_statusRules($request->getModuleName(), $request->getControllerName(), $request->getActionName(), $request->getParam('resourceStack')); $this->_aclRules($request->getModuleName(), $request->getControllerName(), $request->getActionName(), $request->getParam('resourceStack'), $request->getQuery()); $this->_workflowRules($request->getModuleName(), $request->getControllerName(), $request->getActionName(), $request->getParam('resourceStack')); } catch (Saf_Controller_Front_Plugin_RouteRules_Exception $e) { Saf_Debug::out('Enforcing Routing Rule: ' . $e->getMessage()); $request->setModuleName($e->getModuleName()); $request->setControllerName($e->getControllerName()); $request->setActionName($e->getActionName()); $request->setParam('resourceStack', $e->getResourceStack()); } }
public function routeShutdown(Zend_Controller_Request_Abstract $request) { try { // Set Request Object $_request[$request->getModuleKey()] = $request->getModuleName(); $_request[$request->getControllerKey()] = $request->getControllerName(); $_request[$request->getActionKey()] = $request->getActionName(); if (PHP_SAPI != 'cli' && $request->getModuleName() != 'cronjob') { $_request['url'] = $_SERVER['REQUEST_URI']; } Monitor_Request::getInstance()->setRequest($_request); } catch (Zend_Exception $e) { throw $e; } }
public function preDispatch(Zend_Controller_Request_Abstract $request) { if ($request->getModuleName() === "admin" && !Zend_Auth::getInstance()->hasIdentity()) { $request->setModuleName("admin")->setControllerName("auth")->setActionName("login"); $request->setDispatched(); } }
/** * @param Zend_Controller_Request_Abstract $request * @return void */ public function preDispatch(Zend_Controller_Request_Abstract $request) { $this->setSessionLifeTime(); if (!in_array($request->getModuleName(), $this->modules)) { return; } if (Zend_Auth::getInstance()->hasIdentity()) { $user = Zend_Registry::get('container')->getService('user')->getCurrentUser(); if (!$user->isAdmin()) { // can't go into admin $redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('redirector'); $redirector->direct('index', 'index', 'default'); } // set user for application $GLOBALS['g_user'] = $user; Zend_Registry::set('user', $user); // set view user $view = Zend_Registry::get('view'); $view->currentUser = $user; // set view navigation acl $acl = Zend_Registry::get('acl')->getAcl($user); /* @var $acl Zend_Acl */ $view->navigation()->setAcl($acl); $view->navigation()->setRole($user); return; } }
/** * routeShutdown * 在 路由器 完成请求的路由后被调用 * @param Zend_Controller_Request_Abstract $request * @return void */ public function routeShutdown(Zend_Controller_Request_Abstract $request) { /** * 检测请求的Content-type类型 */ $pathinfo = $request->getPathInfo(); if (!empty($pathinfo)) { if ($extension = pathinfo($pathinfo, PATHINFO_EXTENSION)) { if (preg_match('/^[-a-z0-9]+$/i', $extension)) { $request->setParam(static::KEY_EXT, strtolower($extension)); } } } /** * 检测是否支持json响应 */ if ($request->getParam(static::KEY_EXT) == '') { $accept = $request->getServer('HTTP_ACCEPT'); if (!empty($accept)) { if (strpos($accept, 'json') !== false) { $request->setParam(static::KEY_EXT, 'json'); } } } /** * 格式化请求目标信息,不允许[-a-zA-Z0-9]以外的字符 */ $pattern = '/[^-a-zA-Z0-9].*/'; $request->setModuleName(preg_replace($pattern, '', $request->getModuleName())); $request->setControllerName(preg_replace($pattern, '', $request->getControllerName())); $request->setActionName(preg_replace($pattern, '', $request->getActionName())); }
public function postDispatch(Zend_Controller_Request_Abstract $request) { $layout = Zend_Layout::getMvcInstance(); // the name "maintenanceMode" is also referred to in the Admin_MaintenanceController, // so if you change the filename, it needs to be changed there too $maintenanceModeFileName = 'maintenanceMode'; $register = new Ot_Config_Register(); $identity = Zend_Auth::getInstance()->getIdentity(); $role = empty($identity->role) ? $register->defaultRole->getValue() : $identity->role; if (isset($identity->masquerading) && $identity->masquerading == true && isset($identity->realAccount) && !is_null($identity->realAccount) && isset($identity->realAccount->role)) { $role = $identity->realAccount->role; } $acl = Zend_Registry::get('acl'); $view = $layout->getView(); $viewRenderer = Zend_Controller_Action_HelperBroker::getExistingHelper('ViewRenderer'); if (is_file(APPLICATION_PATH . '/../overrides/' . $maintenanceModeFileName) && (!$request->isXmlHttpRequest() && !$viewRenderer->getNeverRender())) { if (!$acl->isAllowed($role, 'ot_maintenance', 'index')) { if (!($request->getModuleName() == 'ot' && $request->getControllerName() == 'login' && $request->getActionName() == 'index')) { $response = $this->getResponse(); $layout->disableLayout(); $response->setBody($view->maintenanceMode()->publicLayout()); } } else { $response = $this->getResponse(); // there's no point in setting text here if it's a redirect if ($response->isRedirect()) { $response->setBody(''); } else { $response->setBody($view->maintenanceMode()->header() . $response->getBody()); } } } }
/** * Predispatch method to authenticate user * * @param Zend_Controller_Request_Abstract $request */ public function preDispatch(Zend_Controller_Request_Abstract $request) { //user only to login for access to admin functions /*if ('admin' != $request->getModuleName()) { return; } if (App_Model_Users::isLoggedIn() && App_Model_Users::isAdmin()) { //user is logged in and allowed to access admin functions return; }*/ if ('admin' == $request->getModuleName()) { return; } /** * User not logged in or not allowed to access admin ... redirect to login. * Note: if user is logged in but not authorised, we redirect to login * to allow user to login as a different user with the right permissions. */ Zend_Session::destroy(true); if ($request->getActionName() != 'logincheck') { $request->setModuleName('default')->setControllerName('login')->setActionName('index'); //->setDispatched(FALSE); header("Location:http://" . $_SERVER['HTTP_HOST'] . "/login/index"); } }
public function preDispatch(Zend_Controller_Request_Abstract $request) { $controller = ""; $action = ""; $module = ""; /* if($request->getControllerName() == "index" ){ $controller = $request->getControllerName(); $action = $request->getActionName(); $module = $request->getModuleName(); } else if ( !$this->_auth->hasIdentity() ) { }*/ if (!$this->_isAuthorized($request->getControllerName(), $request->getActionName())) { if (!$this->_auth->hasIdentity()) { if (!in_array($request->getControllerName(), $this->_moRedirect) && !Application_Model_Redirect::hasRequestUri()) { Application_Model_Redirect::saveRequestUri("/" . $request->getControllerName() . "/" . $request->getActionName()); } $controller = $this->_notLoggedRoute['controller']; $action = $this->_notLoggedRoute['action']; $module = $this->_notLoggedRoute['module']; } else { $controller = $this->_forbiddenRoute['controller']; $action = $this->_forbiddenRoute['action']; $module = $this->_forbiddenRoute['module']; } } else { $controller = $request->getControllerName(); $action = $request->getActionName(); $module = $request->getModuleName(); } $request->setControllerName($controller); $request->setActionName($action); $request->setModuleName($module); }
/** * Hlavni logika ACL * * @param $request */ public function preDispatch(Zend_Controller_Request_Abstract $request) { $controller = $request->getControllerName(); $action = $request->getActionName(); $module = $request->getModuleName(); $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $acl = new Zend_Acl(); $identity = $auth->getIdentity(); $acl->addRole(new Zend_Acl_Role('user'))->addRole(new Zend_Acl_Role('owner'))->addRole(new Zend_Acl_Role('admin'), 'owner'); if ($identity->owner == true) { $inherit = 'owner'; } elseif ($identity->administrator == true) { $inherit = 'admin'; } else { $inherit = 'user'; } $acl->addRole(new Zend_Acl_Role($identity->email), $inherit); $projekt = $request->getParam('projekt'); // Zakladni resource foreach ($this->_resources as $val => $key) { $acl->add(new Zend_Acl_Resource($key)); } // Prava pro zakladni resource $acl->allow('owner'); $acl->deny('admin', 'account'); $acl->allow('user', array('index', 'project', 'assignment', 'calendar', 'people', 'auth', 'redir')); $acl->deny('user', 'account'); $acl->deny('user', 'project', $this->_create); $acl->deny('user', 'people', $this->_create); $acl->deny('user', 'project', $this->_manage); $acl->deny('user', 'people', $this->_manage); if ($request->id == $identity->iduser) { $acl->allow('user', 'people', $this->_manage); } // Resource pro projektovou podsekci $this->_projectAcl($acl, $identity); Zend_Registry::set('acl', $acl); if ($identity->administrator == 1) { $isAllowed = true; } elseif (in_array($projekt . '|' . $request->getControllerName(), $this->_resources)) { $isAllowed = $acl->isAllowed($identity->email, $projekt . '|' . $request->getControllerName(), $request->getActionName()); } elseif (in_array($request->getControllerName(), $this->_resources)) { $isAllowed = $acl->isAllowed($identity->email, $request->getControllerName(), $request->getActionName()); } else { $isAllowed = false; } $error = $request->getParam('error_handler'); if (is_null($error)) { if (!$isAllowed) { $module = $this->_noacl['module']; $controller = $this->_noacl['controller']; $action = $this->_noacl['action']; } } $request->setModuleName($module); $request->setControllerName($controller); $request->setActionName($action); } }