Beispiel #1
0
 /**
  * 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()));
 }
Beispiel #2
0
 public function route(Zend_Controller_Request_Abstract $dispatcher)
 {
     try {
         $getopt = new Zend_Console_Getopt(array('verbose|v' => 'Print verbose output', 'file|f=s' => 'File to upload'));
         $getopt->parse;
         $arguments = $getopt->getRemainingArgs();
     } catch (Zend_Console_Getopt_Exception $e) {
         echo $e->getUsageMessage();
         exit;
     }
     if ($arguments) {
         $command = array_shift($arguments);
         $action = array_shift($arguments);
         if (!preg_match('~\\W~', $command)) {
             $dispatcher->setControllerName($command);
             $dispatcher->setActionName($action);
             $dispatcher->setParams($arguments);
             if (isset($getopt->v)) {
                 $dispatcher->setParam('verbose', true);
             }
             if (isset($getopt->f)) {
                 $dispatcher->setParam('file', $getopt->f);
             }
             return $dispatcher;
         }
         echo "Invalid command.\n", exit;
     }
     echo "No command given.\n", exit;
 }
Beispiel #3
0
 /**
  * Retrieves the request object
  *
  * @return Zend_Controller_Request_Abstract
  */
 public function getRequest()
 {
     if (null === $this->_request) {
         $options = $this->getOptions();
         // Don't instantiate an HTTP request in CLI mode
         if (PHP_SAPI == 'cli') {
             $this->_request = new Zend_Controller_Request_Simple();
         } else {
             // Load Apache-specific request object if applicable
             $this->_request = function_exists('apache_get_version') ? new Zend_Controller_Request_Apache404() : new Zend_Controller_Request_Http();
         }
         // Store the config settings, if any, in the request
         foreach ($options as $key => $value) {
             $method = 'set' . $key;
             // E.g. "setBaseUrl", "setParams"
             if (method_exists($this->_request, $method)) {
                 $this->_request->{$method}($value);
             } else {
                 $this->_request->setParam($key, $value);
             }
         }
         // Store the request in the front controller
         $this->_bootstrap->bootstrap('FrontController');
         $front = $this->_bootstrap->getResource('FrontController');
         $front->setRequest($this->_request);
     }
     return $this->_request;
 }
Beispiel #4
0
 /**
  * @param Zend_Controller_Request_Abstract $oHttpRequest
  */
 public function preDispatch(Zend_Controller_Request_Abstract $oHttpRequest)
 {
     $sControllerName = $oHttpRequest->getControllerName();
     $sActionName = $oHttpRequest->getActionName();
     $aRequestedParams = $oHttpRequest->getUserParams();
     $sQuery = '';
     unset($aRequestedParams['controller']);
     unset($aRequestedParams['action']);
     // Define user role
     if (Zend_Auth::getInstance()->hasIdentity()) {
         $aData = Zend_Auth::getInstance()->getStorage()->read();
         $sRole = $aData['role'];
     } else {
         // Default role
         $sRole = 'guest';
     }
     // Check access
     if (!$this->_oAcl->isAllowed($sRole, $sControllerName, $sActionName)) {
         $oHttpRequest->setParam('referer_controller', $sControllerName);
         $oHttpRequest->setParam('referer_action', $sActionName);
         $aParams = array();
         if (count($aRequestedParams)) {
             foreach ($aRequestedParams as $sKey => $sValue) {
                 $aParams[] = $sKey;
                 $aParams[] = $sValue;
             }
             $sQuery = implode('/', $aParams) . '/';
         }
         $oHttpRequest->setParam('query', $sQuery);
         $oHttpRequest->setControllerName('auth')->setActionName('login');
         $this->_response->setHttpResponseCode(401);
     }
 }
 /**
  * @param Zend_Controller_Request_Abstract $request
  */
 public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request)
 {
     if (!$request instanceof Zend_Controller_Request_Http) {
         return;
     }
     // Accept URI parameter over Accept header for specifying of desired response format
     $format = $this->getRequest()->getParam('format') ?: $request->getHeader('Accept');
     // @todo Need to look into implementing Accept header supporting multiple types with quality factors
     switch (true) {
         // XML
         case stristr($format, 'text/xml') && !stristr($format, 'html'):
             $request->setParam('format', 'xml');
             break;
             // JSONP/Javascript
         // JSONP/Javascript
         case stristr($format, 'text/javascript'):
             $request->setParam('format', 'js');
             break;
             // JSON
         // JSON
         case stristr($format, 'application/json'):
         default:
             // Note the fall through!
             $request->setParam('format', 'json');
             break;
     }
 }
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     try {
         $module = $request->getModuleName();
         if ($module == 'admin') {
             $moduleList = new Zend_Session_Namespace('moduleList');
             $userInfo = new Zend_Session_Namespace('userInfo');
             $module = $moduleList->module;
             $allowed_module = $userInfo->module_list;
             //generating all resources
             $acl = new Zend_Acl();
             //generating user permission
             $acl->addRole(new Zend_Acl_Role('admin'));
             $acl->addRole(new Zend_Acl_Role('anonymous'));
             $acl->add(new Zend_Acl_Resource('index'));
             $acl->add(new Zend_Acl_Resource('ajax'));
             $acl->allow('admin', 'index');
             $acl->allow('admin', 'ajax');
             if (!empty($module)) {
                 foreach ($module as $value) {
                     if (!$acl->has($value['controller'])) {
                         $acl->add(new Zend_Acl_Resource($value['controller']));
                     }
                     if (in_array($value['id'], $allowed_module)) {
                         if ($value['action'] != null) {
                             $acl->allow('admin', $value['controller'], $value['action']);
                         } else {
                             $acl->allow('admin', $value['controller']);
                         }
                     }
                 }
             }
             //allowing anonymous user to get into the login page
             $acl->allow('anonymous', 'index', 'index');
             $acl->allow('anonymous', 'index', 'login');
             $auth = Zend_Auth::getInstance();
             if ($auth->hasIdentity()) {
                 $role = 'admin';
             } else {
                 $role = 'anonymous';
             }
             $controller = $request->controller;
             $action = $request->action;
             if (!$acl->isAllowed($role, $controller, $action)) {
                 $request->setModuleName('admin');
                 $request->setControllerName('error');
                 $request->setActionName('acl');
                 $request->setParam('type', 1);
             }
         }
     } catch (Zend_Acl_Exception $e) {
         $request->setModuleName('admin');
         $request->setControllerName('error');
         $request->setActionName('acl');
         $request->setParam('type', 2);
     }
 }
Beispiel #7
0
 /**
  * Reset object states
  * 
  * @return void
  */
 public function resetObjects()
 {
     $params = $this->request->getUserParams();
     foreach (array_keys($params) as $key) {
         $this->request->setParam($key, null);
     }
     $this->response->clearBody();
     $this->response->clearHeaders()->clearRawHeaders();
 }
Beispiel #8
0
 public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request)
 {
     $header = $request->getHeader('Accept');
     if (strstr($header, 'application/json')) {
         $request->setParam('format', 'json');
     } elseif (strstr($header, 'application/xml')) {
         $request->setParam('format', 'xml');
     } else {
         $request->setParam('format', 'html');
     }
 }
Beispiel #9
0
 /**
  * @params \Zend_Controller_Request_Abstract   $dispatcher
  * @params string  $paramString
  */
 protected function setCliParamsToDispatcher(\Zend_Controller_Request_Abstract $dispatcher, $paramString)
 {
     if (!empty($paramString)) {
         $decodeFunctions = array('decode_none', 'decode_base64', 'decode_base32', 'decode_base32hex', 'decode_hex');
         foreach ($decodeFunctions as $decoder) {
             $decodedPararms = $this->{$decoder}($paramString);
             if (!empty($decodedPararms) && $this->isJsonString($decodedPararms)) {
                 $dispatcher->setParam('params', $decodedPararms);
                 return;
             }
         }
     }
     $dispatcher->setParam('params', $paramString);
 }
 /**
  * Pre dispatch
  *
  * @author          Eddie Jaoude
  * @param           Zend_Controller_Request_Abstract $request
  * @return           void
  *
  */
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     # get application objects
     $_registry = Zend_Registry::getInstance();
     # clone objects for ease of use
     $_em = $_registry->doctrine->_em;
     $_logger = $_registry->logger;
     # helper
     $_flashMessenger = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger');
     # send to actions
     $request->setParam('_registry', $_registry);
     $request->setParam('_em', $_em);
     $request->setParam('_logger', $_logger);
     $request->setParam('_flashMessenger', $_flashMessenger);
 }
 public function routeStartup(Zend_Controller_Request_Abstract $request)
 {
     if (substr($request->getRequestUri(), 0, -1) == $request->getBaseUrl()) {
         $request->setRequestUri($request->getRequestUri() . Zend_Registry::get('parameters')->registry->defaultlanguage . "/");
         $request->setParam("language", Zend_Registry::get('parameters')->registry->defaultlanguage);
     }
 }
Beispiel #12
0
 public function route(Zend_Controller_Request_Abstract $dispatcher)
 {
     $getopt = new Zend_Console_Getopt(array());
     $arguments = $getopt->getRemainingArgs();
     $controller = 'index';
     $action = 'index';
     if ($arguments) {
         $controller = array_shift($arguments);
         if ($arguments) {
             $action = array_shift($arguments);
             $pattern_valid_action = '~^\\w+[\\-\\w\\d]+$~';
             if (false == preg_match($pattern_valid_action, $action)) {
                 echo "Invalid action {$action}.\n", exit;
             }
             if ($arguments) {
                 foreach ($arguments as $arg) {
                     $parameter = explode('=', $arg, 2);
                     if (false == isset($parameter[1])) {
                         $parameter[1] = true;
                     }
                     $dispatcher->setParam($parameter[0], $parameter[1]);
                     unset($parameter);
                 }
             }
         }
     }
     $dispatcher->setControllerName($controller)->setActionName($action);
     return $dispatcher;
 }
Beispiel #13
0
 public function apply(Zend_Controller_Request_Abstract $request, $filterBlock)
 {
     // very small optimization
     $catId = (int) Mage::helper('adjnav')->getParam($this->getRequestVar());
     if ($catId) {
         $request->setParam($this->getRequestVar(), $catId);
         parent::apply($request, $filterBlock);
     }
     $category = $this->getCategory();
     if (!Mage::registry('current_category_filter')) {
         Mage::register('current_category_filter', $category);
     }
     if (!isset($filter) || !$filter) {
         $this->addCategoryFilter($category, null);
         return $this;
     }
     $this->_appliedCategory = Mage::getModel('catalog/category')->setStoreId(Mage::app()->getStore()->getId())->load($filter);
     if ($this->_isValidCategory($this->_appliedCategory)) {
         /*
         $this->getLayer()->getProductCollection()
             ->addCategoryFilter($this->_appliedCategory);
         */
         $this->addCategoryFilter($this->_appliedCategory, $filter);
         $this->getLayer()->getState()->addFilter($this->_createItem($this->_appliedCategory->getName(), $filter));
     }
     return $this;
 }
Beispiel #14
0
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     $context = $request->getHeader('X-Zrt-Format');
     if ($context) {
         $request->setParam('format', $context);
     }
 }
Beispiel #15
0
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     if ($request->getParam('sid') !== null && $request->getParam('PHPSESSID') === null) {
         $request->setParam('PHPSESSID', $request->getParam('sid'));
     }
     if ($request->getParam('PHPSESSID') === null) {
         $module = strtolower($request->getModuleName());
         $controller = strtolower($request->getControllerName());
         $action = strtolower($request->getActionName());
         $route = $module . '/' . $controller . '/' . $action;
         if (!in_array($route, $this->_whitelist)) {
             if (is_null($this->_auth)) {
                 $auth = Zend_Auth::getInstance();
                 $auth->setStorage(new Zend_Auth_Storage_Session($this->getStorage()));
                 $this->_auth = $auth;
             }
             if (!$this->_auth->hasIdentity()) {
                 $errorHandler = new ArrayObject(array(), ArrayObject::ARRAY_AS_PROPS);
                 $errorHandler->type = 'EXCEPTION_NOT_ALLOWED';
                 $errorHandler->exception = new Zend_Controller_Action_Exception('No credentials available');
                 $errorHandler->request = clone $request;
                 $request->setParam('error_handler', $errorHandler)->setModuleName($this->getErrorHandlerModule())->setControllerName($this->getErrorHandlerController())->setActionName($this->getErrorHandlerAction());
             } else {
                 $this->_auth->getIdentity()->connect();
                 $this->_auth->getIdentity()->refresh();
             }
         }
     }
 }
Beispiel #16
0
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     /**
      * Pegando o helper Redirector
      */
     $this->_redirect = Zend_Controller_Action_HelperBroker::getStaticHelper('Redirector');
     /*
      * Instanciando as variáveis de sessão do zend_auth
      */
     $authNamespace = new Zend_Session_Namespace('Zend_Auth');
     /**
      * Copiando em variáves o modulo, controlle e action
      */
     $module = strtolower($request->getModuleName());
     $controller = strtolower($request->getControllerName());
     $action = strtolower($request->getActionName());
     /**
      * Se o usuário estiver autenticado
      */
     if (Zend_Auth::getInstance()->hasIdentity()) {
         if (isset($authNamespace->timeout) && time() > $authNamespace->timeout) {
             /**
              * limpa a identidade do usuário que está um longo período sem acessar o controller
              */
             $request->setModuleName('default');
             $request->setControllerName('login');
             $request->setActionName('logout');
             $authNamespace->erro = 'Sua sessão expirou, favor logar novamente';
         } else {
             /**
              *  Usuário está ativo - atualizamos o time da sessão.
              */
             $authNamespace->timeout = strtotime(self::$_ZEND_SESSION_NAMESPACE_EXPIRATION_SECONDS . " seconds");
             /**
              * Renovando o timeout das variáves de sessão
              */
             $namesspaces = Zend_Session::getIterator();
             $namesspacesArrayCopy = $namesspaces->getArrayCopy();
             foreach ($namesspacesArrayCopy as $namesspace) {
                 $namesspace_each = new Zend_Session_Namespace($namesspace);
                 //$namesspace_each->setExpirationSeconds(self::$_ZEND_SESSION_NAMESPACE_EXPIRATION_SECONDS);
                 $namesspace_each->timeout = strtotime(self::$_ZEND_SESSION_NAMESPACE_EXPIRATION_SECONDS . " seconds");
                 $temp = $namesspace_each->timeout;
             }
         }
     }
     /** Se o usuário não possuir identidade ou a identidade foi removida devido ao timeout,
      * redirecionamos ele para a tela de login.
      */
     if (!Zend_Auth::getInstance()->hasIdentity()) {
         if (!($module == 'default' && $controller == 'login' && $action == 'index') && !($module == 'default' && $controller == 'login' && $action == 'ajaxbanco')) {
             $request->setModuleName('default');
             $request->setControllerName('login');
             $request->setActionName('index');
             $request->setParam('sessao', 'expirada');
         }
         return;
     }
 }
Beispiel #17
0
 /**
  * @param \Zend_Controller_Request_Abstract $request
  * @throws mixed
  */
 protected function _handleError(\Zend_Controller_Request_Abstract $request)
 {
     // remove zend error handler
     $front = \Zend_Controller_Front::getInstance();
     $front->unregisterPlugin("Zend_Controller_Plugin_ErrorHandler");
     $response = $this->getResponse();
     if ($response->isException() && !$this->_isInsideErrorHandlerLoop) {
         // get errorpage
         try {
             // enable error handler
             $front->setParam('noErrorHandler', false);
             $errorPath = Config::getSystemConfig()->documents->error_pages->default;
             if (Site::isSiteRequest()) {
                 $site = Site::getCurrentSite();
                 $errorPath = $site->getErrorDocument();
             }
             if (empty($errorPath)) {
                 $errorPath = "/";
             }
             $document = Document::getByPath($errorPath);
             if (!$document instanceof Document\Page) {
                 // default is home
                 $document = Document::getById(1);
             }
             if ($document instanceof Document\Page) {
                 $params = Tool::getRoutingDefaults();
                 if ($module = $document->getModule()) {
                     $params["module"] = $module;
                 }
                 if ($controller = $document->getController()) {
                     $params["controller"] = $controller;
                     $params["action"] = "index";
                 }
                 if ($action = $document->getAction()) {
                     $params["action"] = $action;
                 }
                 $this->setErrorHandler($params);
                 $request->setParam("document", $document);
                 \Zend_Registry::set("pimcore_error_document", $document);
                 // ensure that a viewRenderer exists, and is enabled
                 if (!\Zend_Controller_Action_HelperBroker::hasHelper("viewRenderer")) {
                     $viewRenderer = new \Pimcore\Controller\Action\Helper\ViewRenderer();
                     \Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
                 }
                 $viewRenderer = \Zend_Controller_Action_HelperBroker::getExistingHelper("viewRenderer");
                 $viewRenderer->setNoRender(false);
                 if ($viewRenderer->view === null) {
                     $viewRenderer->initView(PIMCORE_WEBSITE_PATH . "/views");
                 }
             }
         } catch (\Exception $e) {
             \Logger::emergency("error page not found");
         }
     }
     // call default ZF error handler
     parent::_handleError($request);
 }
Beispiel #18
0
 public function apply(Zend_Controller_Request_Abstract $request, $filterBlock)
 {
     $catId = (int) Mage::helper('multilayer')->getParam($this->getRequestVar());
     if ($catId) {
         $request->setParam($this->getRequestVar(), $catId);
         parent::apply($request, $filterBlock);
     }
     return $this;
 }
 public function apply(Zend_Controller_Request_Abstract $request, $filterBlock)
 {
     // very small optimization
     $catId = (int) Mage::helper('layerednav')->getParam($this->getRequestVar());
     if ($catId) {
         $request->setParam($this->getRequestVar(), $catId);
         parent::apply($request, $filterBlock);
     }
     return $this;
 }
Beispiel #20
0
 /**
  * Locate path alias node
  * @see library/Zend/Controller/Plugin/Zend_Controller_Plugin_Abstract#routeStartup($request)
  * 
  * @param Zend_Controller_Request_Abstract $request
  * @return void
  */
 public function routeShutdown(Zend_Controller_Request_Abstract $request)
 {
     if ($request->getRequestUri() != "/" && ($path = Zoo::getService('path')->findPath($request->getRequestUri()))) {
         $content_service = Zoo::getService('content');
         $request->setActionName($content_service->action);
         $request->setControllerName($content_service->controller);
         $request->setModuleName($content_service->module);
         $request->setParam('id', $path->nid);
     }
 }
Beispiel #21
0
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     $lang = $request->getParam('lang', '');
     if ($lang !== 'id' && $lang !== 'en') {
         $request->setParam('lang', 'id');
     }
     $zl = new Zend_Locale();
     $zl->setLocale($lang);
     Zend_Registry::set('Zend_Locale', $zl);
 }
Beispiel #22
0
 public function routeStartup(Zend_Controller_Request_Abstract $request)
 {
     $request->setParam('View', Showcase_View_Smarty::factory('view.xml'));
     $request->getParam('View')->cache_handler_func = 'zend_cache_handler';
     $request->getParam('View')->caching = 0;
     $viewRenderer = new Showcase_Controller_Action_Helper_ViewRenderer();
     $viewRenderer->setViewSuffix('tpl')->setView($request->getParam('View'))->setViewBasePathSpec(Package::buildPath(SITE_DIR, 'views'));
     Zend_Controller_Action_HelperBroker::removeHelper('viewRenderer');
     Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
 }
Beispiel #23
0
 /**
  * postDispatch() plugin hook -- render layout
  *
  * @param  Zend_Controller_Request_Abstract $request
  * @return void
  */
 public function postDispatch(Zend_Controller_Request_Abstract $request)
 {
     $layout = $this->getLayout();
     $helper = $this->getLayoutActionHelper();
     // Return early if forward detected
     if (!$request->isDispatched() || $this->getResponse()->isRedirect() || $layout->getMvcSuccessfulActionOnly() && (!empty($helper) && !$helper->isActionControllerSuccessful())) {
         return;
     }
     // Return early if layout has been disabled
     if (!$layout->isEnabled() or !$this->getLayout()->isLoaded()) {
         return;
     }
     $response = $this->getResponse();
     $content = $response->getBody(true);
     $contentKey = $layout->getContentKey();
     if (isset($content['default'])) {
         $content[$contentKey] = $content['default'];
     }
     if ('default' != $contentKey) {
         unset($content['default']);
     }
     $layout->assign($content);
     $fullContent = null;
     $obStartLevel = ob_get_level();
     try {
         $fullContent = $layout->render();
         $response->setBody($fullContent);
     } catch (Exception $e) {
         while (ob_get_level() > $obStartLevel) {
             $fullContent .= ob_get_clean();
         }
         $request->setParam('layoutFullContent', $fullContent);
         $request->setParam('layoutContent', $layout->content);
         $response->setBody(null);
         if (Zend_Controller_Front::getInstance()->throwExceptions()) {
             throw $e;
         } else {
             $this->getResponse()->setException($e);
         }
     }
     return $this;
 }
Beispiel #24
0
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     if (Zend_Registry::isRegistered('error') && ($exception = Zend_Registry::get('error'))) {
         $error = new ArrayObject(array(), ArrayObject::ARRAY_AS_PROPS);
         $error->exception = $exception;
         $error->type = Zend_Controller_Plugin_ErrorHandler::EXCEPTION_OTHER;
         $error->request = clone $this->getRequest();
         $request->setControllerName('Error');
         $request->setParam('error_handler', $error);
     }
     return;
 }
Beispiel #25
0
 public function routeShutdown(Zend_Controller_Request_Abstract $request)
 {
     require_once 'Sitengine/Env.php';
     $frontController = Zend_Controller_Front::getInstance();
     #print $request->getQuery(Sitengine_Env::PARAM_CONTROLLER);
     #Sitengine_Debug::print_r($frontController->getControllers());
     $controllerName = $frontController->getController($request->getQuery(Sitengine_Env::PARAM_CONTROLLER));
     $request->setParam(Sitengine_Env::PARAM_CONTROLLER, $controllerName);
     $request->setControllerName($controllerName);
     $request->setActionName($request->getQuery(Sitengine_Env::PARAM_ACTION));
     #$frontController->getDispatcher()->dispatch($request, $frontController->getResponse());
 }
 /**
  * validateItemProperties
  * @return void
  * @author Thomas Schedler <*****@*****.**>
  * @version 1.0 
  */
 protected function validateItemProperties()
 {
     if ($this->objRequest->getParam('formId', '') == '' && $this->objRequest->getParam('formVersion', '') == '' && (int) $this->objRequest->getParam('id') > 0) {
         $objData = $this->getModelGlobals()->loadProperties($this->objRequest->getParam('id'));
         if (count($objData) > 0) {
             $objGlobalProperties = $objData->current();
             $this->objRequest->setParam('formId', $objGlobalProperties->genericFormId);
             $this->objRequest->setParam('formVersion', $objGlobalProperties->genericFormVersion);
             $this->objRequest->setParam('templateId', $objGlobalProperties->templateId);
         }
     }
 }
 private function _changeDispatch(Zend_Controller_Request_Abstract &$request, Zend_Controller_Response_Abstract $response)
 {
     $module = $request->getParam($request->getModuleKey());
     $controller = $request->getParam($request->getControllerKey());
     $action = $request->getParam($request->getActionKey());
     $submodule = '';
     $subcontroller = '';
     $subaction = '';
     if ('admin' != $module) {
         $submodule = $module;
         $subcontroller = $controller ? $controller : 'index';
         $subaction = $action ? $action : 'index';
         $controller = 'index';
         $action = 'subroute';
         $module = 'default';
     } else {
         $submodule = $controller;
         $subcontroller = $action ? $action : 'index';
         //долно быть настроено в route
         //$subaction = ( $action ) ? $action : 'index';
         $controller = 'index';
         $action = 'subroute';
     }
     $request->setParam($request->getModuleKey(), $module);
     $request->setModuleName($module);
     $request->setParam($request->getControllerKey(), $controller);
     $request->setControllerName($controller);
     $request->setParam($request->getActionKey(), $action);
     $request->setActionName($action);
     $request->setParam('submodule', $submodule);
     $request->setParam('subcontroller', $subcontroller);
     $request->setParam('subaction', $subaction);
 }
Beispiel #28
0
 public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request)
 {
     $controller = $request->getControllerName();
     $action = $request->getActionName();
     if ($controller != 'user') {
         return;
     }
     if (!Zend_Auth::getInstance()->hasIdentity()) {
         $request->setControllerName('login');
         $request->setActionName('index');
         $request->setParam('message', 'You are trying to access a protected area.  Please log in first.');
         return;
     }
 }
Beispiel #29
0
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     if ($acl = Zend_registry::get('Acl')) {
         if ($user = $request->getParam('User', null)) {
             if (($roles = $user->getRoles()) && count($roles)) {
                 $clientRole = $roles[0];
                 $clientHelper = Zend_Controller_Action_HelperBroker::getStaticHelper('Client');
                 $client = $clientHelper->loadByGroup($clientRole->id);
                 $request->setParam('Client', $client);
                 $request->getParam('View')->register_object('client', $client);
             }
         }
     }
 }
Beispiel #30
0
 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());
     }
 }