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)); } }