public function testBase()
 {
     $this->assertEquals($this->_tableau, CopixRequest::asArray());
     foreach ($this->_tableau as $key => $value) {
         $this->assertEquals($value, CopixRequest::get($key));
         $this->assertTrue(CopixRequest::exists($key));
     }
     //définition d'un élément supplémentaire
     CopixRequest::set('element4', 'valeur5');
     $this->assertEquals('valeur5', CopixRequest::get('element4'));
     //on vérifie que cela n'a pas perturbé le reste
     foreach ($this->_tableau as $key => $value) {
         $this->assertEquals($value, CopixRequest::get($key));
     }
 }
 public function fillRequest($pPrefix)
 {
     CopixRequest::set($pPrefix . $this->_field, $this->_value);
 }
 /**
  * Execution d'une action
  *
  * @param string $pPath Identifier 'module|AG::method'
  * @param array $pVars Paramètres
  * @param bool $pFromDesc Indique si l'on viens d'un fichier de description (à raison de compatibilité)
  * @return CopixActionReturn
  * @todo Supprimer $pFromDesc dans les prochaines versions de copix
  * @throws Exception
  */
 public static function process($pPath, $pVars = array(), $pFromDesc = false)
 {
     $extractedPath = CopixActionGroup::_extractPath($pPath);
     if ($extractedPath === null) {
         throw new Exception(_i18n('copix:copix.error.load.actiongroup', $pPath));
     }
     $actiongroup = CopixActionGroup::instance($extractedPath);
     $methName = $pFromDesc === false ? 'process' . $extractedPath->method : $extractedPath->method;
     if (!method_exists($actiongroup, $methName)) {
         $methName = 'otherAction';
     }
     // on défini le module
     CopixContext::push($extractedPath->module);
     foreach ($pVars as $varName => $varValue) {
         CopixRequest::set($varName, $varValue);
     }
     // on essaye d'exécuter l'action
     try {
         if (($result = $actiongroup->_beforeAction($extractedPath->method)) === null) {
             if ($methName == 'otherAction') {
                 $toReturn = $actiongroup->{$methName}($extractedPath);
             } else {
                 $toReturn = $actiongroup->{$methName}();
             }
         } else {
             $extractedPath->method = '_beforeAction';
             $toReturn = $result;
         }
         if (($result = $actiongroup->_afterAction($extractedPath->method, $toReturn)) !== null) {
             $toReturn = $result;
         }
         // si on n'a pas fait de return valide
         if (!$toReturn instanceof CopixActionReturn) {
             throw new CopixException(_i18n('copix:copix.error.invalidActionReturn', array(gettype($toReturn))));
         }
     } catch (Exception $e) {
         try {
             $toReturn = $actiongroup->_catchActionExceptions($e, $extractedPath->method);
         } catch (Exception $e) {
             // on est obligé de relancer un try/catch pour pouvoir faire un pop du contexte
             CopixContext::pop();
             throw $e;
         }
     }
     CopixContext::pop();
     return $toReturn;
 }
 /**
  * surchargez cette methode si vous avez des traitements à faire, des classes à declarer avant
  * la recuperation de la session
  */
 public function beforeSessionStart()
 {
     foreach (CopixRequest::asArray() as $key => $elem) {
         CopixRequest::set($key, $this->_stripSlashes($elem));
     }
 }