Ejemplo n.º 1
0
 /**
  * Forward request with next action
  *
  * @param  array $next
  * @return void
  */
 public function forward(Request\AbstractRequest $next)
 {
     $request = $this->getRequest();
     if ($this->getClearRequestParams()) {
         $request->clearParams();
     }
     $request->setModuleName($next->getModuleName())->setControllerName($next->getControllerName())->setActionName($next->getActionName())->setParams($next->getParams())->setDispatched(false);
 }
Ejemplo n.º 2
0
 /**
  * Retrieve default controller class
  *
  * Determines whether the default controller to use lies within the
  * requested module, or if the global default should be used.
  *
  * By default, will only use the module default unless that controller does
  * not exist; if this is the case, it falls back to the default controller
  * in the default module.
  *
  * @param \Zend\Controller\Request\AbstractRequest $request
  * @return string
  */
 public function getDefaultControllerClass(Request\AbstractRequest $request)
 {
     $controller = $this->getDefaultControllerName();
     $default = $this->formatControllerName($controller);
     $request->setControllerName($controller)->setActionName(null);
     $module = $request->getModuleName();
     $controllerDirs = $this->getControllerDirectory();
     $this->_curModule = $this->_defaultModule;
     $this->_curDirectory = $controllerDirs[$this->_defaultModule];
     if ($this->isValidModule($module)) {
         $found = false;
         if (class_exists($default, false)) {
             $found = true;
         } else {
             $moduleDir = $controllerDirs[$module];
             $fileSpec = $moduleDir . DIRECTORY_SEPARATOR . $this->classToFilename($default);
             if (\Zend\Loader::isReadable($fileSpec)) {
                 $found = true;
                 $this->_curDirectory = $moduleDir;
             }
         }
         if ($found) {
             $request->setModuleName($module);
             $this->_curModule = $this->formatModuleName($module);
         }
     } else {
         $request->setModuleName($this->_defaultModule);
     }
     return $default;
 }
Ejemplo n.º 3
0
 /**
  * Push actions into application actions stack
  * @param int $id
  * @param Templater_Api_Interface_Widget $widget
  * @param string $placeholder
  * @param array $params 
  */
 protected function _pushStack($id, \Zend\Controller\Request\AbstractRequest $request, $placeholder, $params = array())
 {
     $params[$this->_widgetIdName] = md5($id);
     $camelFilter = new \Zend\Filter\Word\CamelCaseToDash('-');
     $blockRequest = new \Zend\Controller\Request\Simple(strtolower($camelFilter->filter($request->getActionName())), strtolower($camelFilter->filter($request->getControllerName())), strtolower($camelFilter->filter($request->getModuleName())), array_merge($params, array($this->_marker => $placeholder)));
     $this->_stack->pushStack($blockRequest);
 }