Exemplo n.º 1
0
 /**
  * same as param(), but convert the value to a boolean value. If it isn't
  * a numerical value, return null.
  * @param string  $parName           the name of the request parameter
  * @param mixed   $parDefaultValue   the default returned value if the parameter doesn't exists
  * @param boolean $useDefaultIfEmpty true: says to return the default value the value is ""
  * @return boolean the request parameter value
  */
 protected function boolParam($parName, $parDefaultValue = null, $useDefaultIfEmpty = false)
 {
     $value = $this->request->getParam($parName, $parDefaultValue, $useDefaultIfEmpty);
     if ($value == "true" || $value == "1" || $value == "on" || $value == "yes") {
         return true;
     } elseif ($value == "false" || $value == "0" || $value == "off" || $value == "no") {
         return false;
     } else {
         return null;
     }
 }
Exemplo n.º 2
0
 /**
  * main method : launch the execution of the action.
  *
  * This method should be called in a entry point.
  * @param  jRequest  $request the request object
  */
 public function process($request)
 {
     global $gJConfig;
     $this->request = $request;
     // let's log messages appeared during init
     foreach ($this->initErrorMessages as $msg) {
         jLog::log($msg, $msg->getCategory());
     }
     $this->request->init();
     jSession::start();
     $this->moduleName = $request->getParam('module');
     $this->actionName = $request->getParam('action');
     if (empty($this->moduleName)) {
         $this->moduleName = $gJConfig->startModule;
     }
     if (empty($this->actionName)) {
         if ($this->moduleName == $gJConfig->startModule) {
             $this->actionName = $gJConfig->startAction;
         } else {
             $this->actionName = 'default:index';
         }
     }
     jContext::push($this->moduleName);
     try {
         $this->action = new jSelectorActFast($this->request->type, $this->moduleName, $this->actionName);
         if ($gJConfig->modules[$this->moduleName . '.access'] < 2) {
             throw new jException('jelix~errors.module.untrusted', $this->moduleName);
         }
         $ctrl = $this->getController($this->action);
     } catch (jException $e) {
         if ($gJConfig->urlengine['notfoundAct'] == '') {
             throw $e;
         }
         try {
             $this->action = new jSelectorAct($gJConfig->urlengine['notfoundAct']);
             $ctrl = $this->getController($this->action);
         } catch (jException $e2) {
             throw $e;
         }
     }
     if (count($this->plugins)) {
         $pluginparams = array();
         if (isset($ctrl->pluginParams['*'])) {
             $pluginparams = $ctrl->pluginParams['*'];
         }
         if (isset($ctrl->pluginParams[$this->action->method])) {
             $pluginparams = array_merge($pluginparams, $ctrl->pluginParams[$this->action->method]);
         }
         foreach ($this->plugins as $name => $obj) {
             $result = $this->plugins[$name]->beforeAction($pluginparams);
             if ($result) {
                 $this->action = $result;
                 jContext::pop();
                 jContext::push($result->module);
                 $this->moduleName = $result->module;
                 $this->actionName = $result->resource;
                 $ctrl = $this->getController($this->action);
                 break;
             }
         }
     }
     $this->response = $ctrl->{$this->action->method}();
     if ($this->response == null) {
         throw new jException('jelix~errors.response.missing', $this->action->toString());
     }
     foreach ($this->plugins as $name => $obj) {
         $this->plugins[$name]->beforeOutput();
     }
     $this->response->output();
     foreach ($this->plugins as $name => $obj) {
         $this->plugins[$name]->afterProcess();
     }
     jContext::pop();
     jSession::end();
 }