Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 143 | Rev 330 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 143 Rev 162
Line 88... Line 88...
88
		$erreurs = array();
88
		$erreurs = array();
Line 89... Line 89...
89
 
89
 
90
		if (isset($this->parametres['masque.nn']) == false) {
90
		if (isset($this->parametres['masque.nn']) == false) {
91
			$erreurs[] = "Le paramètre masque.nn est obligatoire.";
91
			$erreurs[] = "Le paramètre masque.nn est obligatoire.";
92
		} else {
92
		} else {
93
			if ($this->verifierMasqueNnAutoriseActuellement() == false) {
93
			if ($this->verifierMasqueNnAutorisePourRetourJPEG() == false) {
94
				$erreurs[] = "Le paramètre masque.nn peut contenir une seule valeur numérique pour l'instant pour le format de retour image/jpeg.";
94
				$erreurs[] = "Le paramètre masque.nn peut contenir une seule valeur numérique pour l'instant pour le format de retour image/jpeg.";
95
			} else if ($this->verifierValeurParametreMasqueNn() == false) {
95
			} else if ($this->verifierValeurParametreMasqueNn() == false) {
96
				$erreurs[] = "Le paramètre masque.nn est mal formé.";
96
				$erreurs[] = "Le paramètre masque.nn est mal formé.";
97
			}
97
			}
Line 120... Line 120...
120
			$code = RestServeur::HTTP_CODE_MAUVAISE_REQUETE;
120
			$code = RestServeur::HTTP_CODE_MAUVAISE_REQUETE;
121
			throw new Exception($message, $code);
121
			throw new Exception($message, $code);
122
		}
122
		}
123
	}
123
	}
Line 124... Line 124...
124
 
124
 
125
	private function verifierMasqueNnAutoriseActuellement() {
125
	private function verifierMasqueNnAutorisePourRetourJPEG() {
126
		$ok = true;
126
		$ok = true;
127
		$masque = $this->parametres['masque.nn'];
127
		$masque = $this->parametres['masque.nn'];
-
 
128
		$retour = $this->parametres['retour'];
128
		$retour = $this->parametres['retour'];
129
 
129
		if ($retour == self::MIME_JPEG) {
130
		if ($retour == self::MIME_JPEG) {
130
			$ok = is_numeric($masque) ? true : false;
-
 
131
		} else if ($retour == self::MIME_JSON) {
-
 
132
			$listeNn = explode(',', $masque);
-
 
133
			if ($listeNn == false || count($listeNn) == 0) {
-
 
134
				$ok = false;
-
 
135
			} else {
-
 
136
				foreach ($listeNn as $nn) {
-
 
137
					if (is_numeric($nn) == false) {
-
 
138
						$ok = false;
-
 
139
						break;
-
 
140
					}
-
 
141
				}
-
 
142
			}
131
			$ok = is_numeric($masque) ? true : false;
143
		}
132
		}
144
		return $ok;
133
		return $ok;
Line 145... Line 134...
145
	}
134
	}
146
 
135
 
147
	private function verifierValeurParametreMasqueNn() {
136
	private function verifierValeurParametreMasqueNn() {
148
		$nn = $this->parametres['masque.nn'];
137
		$nn = $this->parametres['masque.nn'];
149
		$projetPattern = '(?:(?:[A-Z0-9]+:)?(?:[0-9]+,)*[0-9]+)';
138
		$projetPattern = '(?:(?:[A-Z0-9]+:)?(?:[0-9]+,)*[0-9]+)';
150
		$patternComplet = "/$projetPattern(?:;$projetPattern)*/i";
139
		$patternComplet = "/^$projetPattern(?:;$projetPattern)*$/i";
151
		$ok = preg_match($patternComplet, $nn) ? true : false;
140
		$ok = preg_match($patternComplet, $nn) ? true : false;
Line 152... Line 141...
152
		return $ok;
141
		return $ok;