New file |
0,0 → 1,79 |
<?php |
/** |
* Navigation gère les url de navigation en fonction d'un départ et d'une limite |
|
* @category php 5.2 |
* @package del |
* @author Grégoire Duché <gregoire@tela-botanica.org> |
* @copyright Copyright (c) 2012, Tela Botanica (accueil@tela-botanica.org) |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version $Id: Bdd.php 403 2012-02-22 14:35:20Z gduche $ |
*/ |
class Masque { |
|
const prefixe = 'masque.'; |
|
private $masquesPossibles; |
private $parametres; |
private $masque; |
|
/** |
* Constructeur de la classe Masque |
* @param $masquesPossibles la liste des masques autorisés séparé par des ',' |
* */ |
public function __construct($masquesPossibles, $parametres = null) { |
if ($masquesPossibles == null) { |
$message = 'La liste des masques possibles est obligatoire'; |
$code = RestServeur::HTTP_CODE_ERREUR; |
throw new Exception($message, $code); |
} |
$this->masquesPossibles = explode(',', $masquesPossibles); |
$this->parametres = $parametres; |
$this->chargerMasque(); |
} |
|
/** |
* Parcourir le tableau Paramètres pour trouver tous les champs masque |
*/ |
public function chargerMasque() { |
if ($this->parametres != null) { |
foreach ($this->parametres as $id => $parametre) { |
if (strpos($id, self::prefixe) === 0) { |
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() { |
if (!empty($this->masque)) { |
$chaine = array(); |
foreach ($this->masque as $id => $valeur) { |
$chaine[] = $id.'='.$valeur; |
} |
return implode('&', $chaine); |
} else { |
return ''; |
} |
} |
|
/** |
* 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) { |
if (isset($id)) { |
return $this->masque[self::prefixe.$id]; |
} else { |
return $this->masque; |
} |
} |
} |
?> |