Rev 1794 | Blame | Last modification | View Log | RSS feed
<?php// declare(encoding='UTF-8');/*** Gère les paramètres de type "masque..." utilisés dans l'URL.** @category DEL* @package Services* @subpackage Bibliotheque* @version 0.1* @author Mathias CHOUET <mathias@tela-botanica.org>* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>* @author Aurelien PERONNET <aurelien@tela-botanica.org>* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>* @copyright 1999-2014 Tela Botanica <accueil@tela-botanica.org>*/class Masque {const PREFIXE = 'masque.';const MASQUE_GENERAL = 'masque';private $masquesPossibles;private $parametresUrl;private $masque;/*** Constructeur de la classe Masque* @param $masquesPossibles la liste des masques autorisés séparé par des ','* */public function __construct($masquesPossibles, $parametresUrl = null) {if ($masquesPossibles != null && trim($masquesPossibles) == '') {$message = 'La liste des masques possibles est obligatoire';$code = RestServeur::HTTP_CODE_ERREUR;throw new Exception($message, $code);}$this->masquesPossibles = explode(',', $masquesPossibles);$this->parametresUrl = $parametresUrl;$this->chargerMasque();}/*** Parcourir le tableau Paramètres pour trouver tous les champs masque*/private function chargerMasque() {if ($this->parametresUrl != null) {foreach ($this->parametresUrl as $id => $parametre) {if (in_array(str_replace(self::PREFIXE, '', $id), $this->masquesPossibles)) {$this->masque[$id] = $parametre;}}}}/*** Retourner les masques sous forme de chaine* @return String la chaine de caractère sous la forme masque=valeur&masque2=valeur*/public function getChaineMasque() {return (!empty($this->masque)) ? http_build_query($this->masque) : '';}/*** Récupérer tout ou partie du masque* @param String $id (optionnel) l'idenfiant du masque* @return une chaine de caractère si l'identifiant est passé en paramètre, un tableau sinon* */public function getMasque($id = null) {return isset($id) ? $this->masque[self::PREFIXE.$id] : $this->masque;}}