Ejemplo n.º 1
0
 /**
  * Main execution method
  * 
  * @param \Framework\core\HttpRequest $request
  * @param \Framework\core\HttpResponse $response
  * @return Framework\Core
  */
 public function _before(&$request, &$response)
 {
     $config = $this->getConfig();
     if (PHP_SAPI === 'cli') {
         $request->setCli(true);
         $params = \application\modules\cli\CliUtils::extractParams();
         $params['module'] = 'cli';
         $state = \framework\core\Request::CLI_STATE;
     } else {
         $url = $request->getUrl();
         $path = $this->getComponent('route')->urlToPath($url, $config['defaultModule'], $config['defaultAction']);
         $params = $this->getComponent('route')->pathToParams($path);
         $this->duplicateContentPolicy($url, $path, $params);
         $state = \framework\core\Request::FIRST_REQUEST;
         // Views variables
         $this->viewSetGlobal('messages', $this->getComponent('message')->getAll());
         if (!class_exists('application\\modules\\' . $params['module'] . '\\controllers\\' . $params['action'])) {
             $params['module'] = 'errors';
             $params['action'] = 'error404';
             $params['params'] = array();
         }
     }
     $request->setRequest($this->createRequest($params['module'], $params['action'], $params['params'], $state));
 }