Ejemplo n.º 1
0
 public function process(&$Request, &$Response, $options = array())
 {
     if (AK_ENABLE_PROFILER) {
         AkDebug::profile('AkActionController::process() start');
     }
     $this->setRequestAndResponse($Request, $Response);
     if (AK_LOG_EVENTS) {
         $this->_logRequestParams($this->params);
     }
     if (AK_ENABLE_PROFILER) {
         AkDebug::profile('Got request paramenters');
     }
     $actionExists = $this->_ensureActionExists();
     if (!$actionExists) {
         $this->handleResponse();
         return false;
     }
     AkConfig::getLocalesReady();
     if ($this->_high_load_mode !== true) {
         if (!empty($this->_auto_instantiate_models)) {
             $this->instantiateIncludedModelClasses();
             if (AK_ENABLE_PROFILER) {
                 AkDebug::profile('Instantiated models');
             }
         }
         if (!empty($this->_enable_plugins)) {
             $this->loadPlugins();
             if (AK_ENABLE_PROFILER) {
                 AkDebug::profile('Instantiated plugins');
             }
         }
     }
     $this->_ensureProperProtocol();
     $this->_lazy_loading_options = $options;
     //$this->init($options);
     // After filters
     //$this->isFilteringActive() && $this->afterFilter('_handleFlashAttribute');
     $this->_loadActionView();
     if (isset($this->api)) {
         $this->aroundFilter(new AkActionWebService($this));
     }
     $this->_identifyRequest();
     if ($this->isFilteringActive()) {
         $this->performActionWithFilters($this->_action_name);
     } else {
         $this->performActionWithoutFilters($this->_action_name);
     }
     return $this->handleResponse();
 }