Example #1
0
 /**
  * Get controller class name
  *
  * Try request first; if not found, try pulling from request parameter;
  * if still not found, fallback to default
  *
  * @param \Zend\Controller\Request\AbstractRequest $request
  * @return string|false Returns class name on success
  */
 public function getControllerClass(Request\AbstractRequest $request)
 {
     $controllerName = $request->getControllerName();
     if (empty($controllerName)) {
         if (!$this->getParam('useDefaultControllerAlways')) {
             return false;
         }
         $controllerName = $this->getDefaultControllerName();
         $request->setControllerName($controllerName);
     }
     $className = $this->formatControllerName($controllerName);
     $controllerDirs = $this->getControllerDirectory();
     $module = $request->getModuleName();
     if ($this->isValidModule($module)) {
         $this->_curModule = $module;
         $this->_curDirectory = $controllerDirs[$module];
     } elseif ($this->isValidModule($this->_defaultModule)) {
         $request->setModuleName($this->_defaultModule);
         $this->_curModule = $this->_defaultModule;
         $this->_curDirectory = $controllerDirs[$this->_defaultModule];
     } else {
         throw new Controller\Exception('No default module defined for this application');
     }
     return $className;
 }
Example #2
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);
 }
Example #3
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);
 }
Example #4
0
 /**
  * Defined by Zend_Controller_Plugin_Abstract
  *
  * @param Zend_Controller_Request_Abstract
  * @return void
  */
 public function postDispatch(AbstractRequest $request)
 {
     $this->mark($request->getControllerName() . 'Controller::' . $request->getActionName() . 'Action');
 }