Subversion Repositories eFlore/Applications.del

Rev

Rev 1794 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1794 Rev 1795
Line 18... Line 18...
18
 
18
 
19
	const PREFIXE = 'masque.';
19
	const PREFIXE = 'masque.';
Line 20... Line 20...
20
	const MASQUE_GENERAL = 'masque';
20
	const MASQUE_GENERAL = 'masque';
21
 
21
 
22
	private $masquesPossibles;
22
	private $masquesPossibles;
Line 23... Line 23...
23
	private $parametres;
23
	private $parametresUrl;
24
	private $masque;
24
	private $masque;
25
 
25
 
26
	/**
26
	/**
27
	 * Constructeur de la classe Masque
27
	 * Constructeur de la classe Masque
28
	 * @param $masquesPossibles la liste des masques autorisés séparé par des ','
28
	 * @param $masquesPossibles la liste des masques autorisés séparé par des ','
29
	 * */
29
	 * */
30
	public function __construct($masquesPossibles, $parametres = null) {
30
	public function __construct($masquesPossibles, $parametresUrl = null) {
31
		if ($masquesPossibles != null && trim($masquesPossibles) == '') {
31
		if ($masquesPossibles != null && trim($masquesPossibles) == '') {
32
			$message = 'La liste des masques possibles est obligatoire';
32
			$message = 'La liste des masques possibles est obligatoire';
33
			$code = RestServeur::HTTP_CODE_ERREUR;
33
			$code = RestServeur::HTTP_CODE_ERREUR;
34
			throw new Exception($message, $code);
34
			throw new Exception($message, $code);
35
		}
35
		}
36
		$this->masquesPossibles = explode(',', $masquesPossibles);
36
		$this->masquesPossibles = explode(',', $masquesPossibles);
Line 37... Line 37...
37
		$this->parametres = $parametres;
37
		$this->parametresUrl = $parametresUrl;
38
		$this->chargerMasque();
38
		$this->chargerMasque();
39
	}
39
	}
40
 
40
 
41
	/**
41
	/**
42
	 * Parcourir le tableau Paramètres pour trouver tous les champs masque
42
	 * Parcourir le tableau Paramètres pour trouver tous les champs masque
43
	 */
-
 
44
	private function chargerMasque() {
43
	 */
45
		if ($this->parametres != null) {
44
	private function chargerMasque() {
46
			foreach ($this->parametres as $id => $parametre) {
-
 
47
				if (strpos($id, self::PREFIXE) === 0 || $id == self::MASQUE_GENERAL) {
45
		if ($this->parametresUrl != null) {
48
					if (in_array(str_replace(self::PREFIXE, '', $id), $this->masquesPossibles)) {
46
			foreach ($this->parametresUrl as $id => $parametre) {
49
						$this->masque[$id] = $parametre;
47
				if (in_array(str_replace(self::PREFIXE, '', $id), $this->masquesPossibles)) {
50
					}
48
					$this->masque[$id] = $parametre;
Line 51... Line 49...
51
				}
49
				}
52
			}
50
			}
53
		}
51
		}
-
 
52
	}
54
	}
53
 
55
 
-
 
56
	/**
-
 
57
	 * Retourner les masques sous forme de chaine
54
	/**
58
	 * @return String la chaine de caractère sous la forme masque=valeur&masque2=valeur*/
-
 
59
	public function getChaineMasque() {
-
 
60
		if (!empty($this->masque)) {
-
 
61
			$chaine = array();
-
 
62
			foreach ($this->masque as $id => $valeur) {
-
 
63
				$chaine[] = $id.'='.$valeur;
-
 
64
			}
55
	 * Retourner les masques sous forme de chaine
Line 65... Line 56...
65
			return implode('&', $chaine);
56
	 * @return String la chaine de caractère sous la forme masque=valeur&masque2=valeur
66
		} else {
57
	 */
67
			return '';
58
	public function getChaineMasque() {
68
		}
59
		return (!empty($this->masque)) ? http_build_query($this->masque) : '';
69
	}
60
	}
70
 
61
 
71
	/**
-
 
72
	 * Récupérer tout ou partie du masque
62
	/**
73
	 * @param String $id (optionnel) l'idenfiant du masque
-
 
74
	 * @return une chaine de caractère si l'identifiant est passé en paramètre, un tableau sinon
-
 
75
	 * */
-
 
76
	public function getMasque($id = null) {
63
	 * Récupérer tout ou partie du masque
77
		if (isset($id)) {
64
	 * @param String $id (optionnel) l'idenfiant du masque
78
			return $this->masque[self::PREFIXE.$id];
65
	 * @return une chaine de caractère si l'identifiant est passé en paramètre, un tableau sinon