Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 570 Rev 586
Line 133... Line 133...
133
	protected function getAuthMotDePasse() {
133
	protected function getAuthMotDePasse() {
134
		$mdp = (isset($_SERVER['PHP_AUTH_PW'])) ? $_SERVER['PHP_AUTH_PW'] : null;
134
		$mdp = (isset($_SERVER['PHP_AUTH_PW'])) ? $_SERVER['PHP_AUTH_PW'] : null;
135
		return $mdp;
135
		return $mdp;
136
	}
136
	}
Line 137... Line 137...
137
	
137
	
138
	public function authentifierAdmin() { 
138
	protected function authentifierAdmin() { 
139
		$message_accueil = "Veuillez vous identifier avec votre compte Tela Botanica.";
139
		$message_accueil = "Veuillez vous identifier avec votre compte Tela Botanica.";
140
		$message_echec = "Accès limité aux administrateurs du CEL.\n".
140
		$message_echec = "Accès limité aux administrateurs du CEL.\n".
141
			"Votre tentative d'identification a échoué.\n".
141
			"Votre tentative d'identification a échoué.\n".
142
			"Actualiser la page pour essayer à nouveau si vous êtes bien inscrit comme administrateur.";
142
			"Actualiser la page pour essayer à nouveau si vous êtes bien inscrit comme administrateur.";
143
		return $this->authentifier($message_accueil, $message_echec, 'Admin');
143
		return $this->authentifier($message_accueil, $message_echec, 'Admin');
Line 144... Line 144...
144
	}
144
	}
145
	
145
	
146
	public function authentifierUtilisateur() { 
146
	protected function authentifierUtilisateur() { 
147
		$message_accueil = "Veuillez vous identifier avec votre compte Tela Botanica.";
147
		$message_accueil = "Veuillez vous identifier avec votre compte Tela Botanica.";
148
		$message_echec = "Accès limité aux utilisateur du CEL.\n".
148
		$message_echec = "Accès limité aux utilisateur du CEL.\n".
149
			"Inscrivez vous http://www.tela-botanica.org/page:inscription pour le devenir.\n".
149
			"Inscrivez vous http://www.tela-botanica.org/page:inscription pour le devenir.\n".
Line 168... Line 168...
168
			}
168
			}
169
		}
169
		}
170
		return true;
170
		return true;
171
	} 
171
	} 
Line 172... Line 172...
172
    
172
    
173
	public function etreUtilisateurAutorise() {
173
	protected function etreUtilisateurAutorise() {
174
		$identifiant = $this->getAuthIdentifiant();
174
		$identifiant = $this->getAuthIdentifiant();
175
		$mdp = md5($this->getAuthMotDePasse());
175
		$mdp = md5($this->getAuthMotDePasse());
176
		$url = sprintf($this->config['authentification']['serviceUrlTpl'], $identifiant, $mdp);
176
		$url = sprintf($this->config['authentification']['serviceUrlTpl'], $identifiant, $mdp);
177
		$json = $this->getDao()->envoyerRequeteConsultation($url);
177
		$json = $this->getDao()->envoyerRequeteConsultation($url);
Line 178... Line 178...
178
		$existe = json_decode($json);
178
		$existe = json_decode($json);
179
		
179
		
180
		$autorisation = (isset($existe) && $existe) ? true :false;
180
		$autorisation = (isset($existe) && $existe) ? true :false;
Line 181... Line 181...
181
		return $autorisation;
181
		return $autorisation;
182
	}
182
	}
183
	
183
	
184
	public function etreAdminAutorise($identifiant) {
184
	protected function etreAdminAutorise($identifiant) {
185
		$identifiant = $this->getAuthIdentifiant();
185
		$identifiant = $this->getAuthIdentifiant();
Line 186... Line 186...
186
		$autorisation = ($this->etreUtilisateurAutorise() && $this->etreAdminCel($identifiant)) ? true : false;
186
		$autorisation = ($this->etreUtilisateurAutorise() && $this->etreAdminCel($identifiant)) ? true : false;
187
		return $autorisation;
187
		return $autorisation;
188
	}
188
	}
Line 189... Line 189...
189
	
189
	
190
	public function etreAdminCel($courriel) {
190
	protected function etreAdminCel($courriel) {
191
		$admins = $this->config['authentification']['administrateurs'];
191
		$admins = $this->config['authentification']['administrateurs'];
Line 192... Line 192...
192
		$courriels_autorises = explode(',', $admins);
192
		$courriels_autorises = explode(',', $admins);
193
 
193
 
Line -... Line 194...
-
 
194
		$autorisation = (in_array($courriel, $courriels_autorises)) ? true : false ;
-
 
195
		return $autorisation;
-
 
196
	}
-
 
197
	
-
 
198
	//+----------------------------------------------------------------------------------------------------------------+
194
		$autorisation = (in_array($courriel, $courriels_autorises)) ? true : false ;
199
	// GESTION de l'ENVOIE au NAVIGATEUR
195
		return $autorisation;
200
 
196
	}
201
	protected function envoyerJsonp($donnees = null, $encodage = 'utf-8') {
197
	
202
		$contenu = $_GET['callback'].'('.json_encode($donnees).');';
198
	//+----------------------------------------------------------------------------------------------------------------+
203
		$this->envoyer($contenu, 'text/html', $encodage);
Line 240... Line 245...
240
		} else if (!is_null($mime) && is_null($encodage)) {
245
		} else if (!is_null($mime) && is_null($encodage)) {
241
			header("Content-Type: $mime");
246
			header("Content-Type: $mime");
242
		}
247
		}
243
		print $contenu;
248
		print $contenu;
244
	}
249
	}
245
	
250
		
246
	private function envoyerAuth($message_accueil, $message_echec) {
251
	private function envoyerAuth($message_accueil, $message_echec) {
247
		header('HTTP/1.0 401 Unauthorized');
252
		header('HTTP/1.0 401 Unauthorized');
248
		header('WWW-Authenticate: Basic realm="'.mb_convert_encoding($message_accueil, 'ISO-8859-1', 'UTF-8').'"');
253
		header('WWW-Authenticate: Basic realm="'.mb_convert_encoding($message_accueil, 'ISO-8859-1', 'UTF-8').'"');
249
		header('Content-type: text/plain; charset=UTF-8');
254
		header('Content-type: text/plain; charset=UTF-8');
250
		print $message_echec;
255
		print $message_echec;
Line 261... Line 266...
261
	 * @param String $fichier	le chemin du fichier du squelette
266
	 * @param String $fichier	le chemin du fichier du squelette
262
	 * @param Array  $donnees	un tableau associatif contenant les variables a injecter dans le squelette.
267
	 * @param Array  $donnees	un tableau associatif contenant les variables a injecter dans le squelette.
263
	 *
268
	 *
264
	 * @return boolean false si le squelette n'existe pas, sinon la chaine résultat.
269
	 * @return boolean false si le squelette n'existe pas, sinon la chaine résultat.
265
	 */
270
	 */
266
	public static function traiterSquelettePhp($fichier, Array $donnees = array()) {
271
	protected static function traiterSquelettePhp($fichier, Array $donnees = array()) {
267
		$sortie = false;
272
		$sortie = false;
268
		if (file_exists($fichier)) {
273
		if (file_exists($fichier)) {
269
			// Extraction des variables du tableau de données
274
			// Extraction des variables du tableau de données
270
			extract($donnees);
275
			extract($donnees);
271
			// Démarage de la bufferisation de sortie
276
			// Démarage de la bufferisation de sortie