Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2162 Rev 2201
Line 270... Line 270...
270
			"Votre tentative d'identification a échoué.\n".
270
			"Votre tentative d'identification a échoué.\n".
271
			"Actualiser la page pour essayer à nouveau si vous êtes déjà inscrit ou contacter 'accueil@tela-botanica.org'.";
271
			"Actualiser la page pour essayer à nouveau si vous êtes déjà inscrit ou contacter 'accueil@tela-botanica.org'.";
272
		return $this->authentifier($message_accueil, $message_echec, 'Utilisateur');
272
		return $this->authentifier($message_accueil, $message_echec, 'Utilisateur');
273
	}
273
	}
Line 274... Line -...
274
 
-
 
275
	public function isAdmin($id) {
-
 
276
		return in_array($id, explode(',', $this->config['jrest_admin']['admin']));
-
 
277
	}
-
 
278
 
274
 
279
	public function controleUtilisateur($id) {
275
	public function controleUtilisateur($id) {
280
		if (@array_key_exists('name', $_SESSION['user']) && empty($_SESSION['user']['name'])) {
276
		if (@array_key_exists('id_utilisateur', $_SESSION['user']) && empty($_SESSION['user']['id_utilisateur'])) {
281
			//cas de la session temporaire, on ne fait rien de particulier
277
			//cas de la session temporaire, on ne fait rien de particulier
282
		} else {
278
		} else {
283
			if (isset($_SESSION['user']) && isset($_SESSION['user']['name']) && !$this->isAdmin($_SESSION['user']['name']) && $_SESSION['user']['name'] != $id) {
279
			if (isset($_SESSION['user']) && isset($_SESSION['user']['id_utilisateur']) && !$this->etreAdminCelParId($_SESSION['user']['id_utilisateur']) && $_SESSION['user']['id_utilisateur'] != $id) {
284
				// cas d'usurpation d'identité
280
				// cas d'usurpation d'identité
285
				print 'Accès interdit';
281
				print 'Accès interdit';
286
				exit();
282
				exit();
287
			}
283
			}
Line 345... Line 341...
345
	public function etreAdminAutorise() {
341
	public function etreAdminAutorise() {
346
		$identifiant = self::getAuthIdentifiant();
342
		$identifiant = self::getAuthIdentifiant();
347
		$autorisation = ($this->etreUtilisateurAutorise() && $this->etreAdminCel($identifiant)) ? true : false;
343
		$autorisation = ($this->etreUtilisateurAutorise() && $this->etreAdminCel($identifiant)) ? true : false;
348
		return $autorisation;
344
		return $autorisation;
349
	}
345
	}
-
 
346
	
-
 
347
	public function etreAdminCelParId($id) {
-
 
348
		// si l'utilisateur s'est déjà identifié, alors les infos
-
 
349
		// sur le fait qu'il est admin ou non sont déjà disponibles
-
 
350
		if(isset($_SESSION['user']) && isset($_SESSION['user']['admin']) && $_SESSION['user']['id_utilisateur'] == $id) {
-
 
351
			$admin = $_SESSION['user']['admin'];
-
 
352
		} else {
-
 
353
			$requete = "SELECT admin FROM cel_utilisateurs_infos WHERE id_utilisateur = ".Cel::db()->proteger($id);
-
 
354
			$resultat = Cel::db()->requeter($requete);
-
 
355
				
-
 
356
			$admin = false;
-
 
357
			if ($resultat && count($resultat) > 0) {
-
 
358
				$admin = ($resultat[0]['admin'] == 1);
-
 
359
			}
-
 
360
		}
-
 
361
		return $admin;
-
 
362
	}
Line 350... Line 363...
350
 
363
 
-
 
364
	public function etreAdminCel($courriel) {
-
 
365
		// si l'utilisateur s'est déjà identifié, alors les infos
-
 
366
		// sur le fait qu'il est admin ou non sont déjà disponibles
-
 
367
		if(isset($_SESSION['user']) && isset($_SESSION['user']['admin']) && $_SESSION['user']['courriel'] == $courriel) {
-
 
368
			$admin = $_SESSION['user']['admin'];
-
 
369
		} else {
-
 
370
			$requete = "SELECT admin FROM cel_utilisateurs_infos WHERE courriel_utilisateur = ".Cel::db()->proteger($courriel);
-
 
371
			$resultat = Cel::db()->requeter($requete);
351
	public function etreAdminCel($courriel) {
372
				
-
 
373
			$admin = false;
352
		// parmi les admins ?
374
			if ($resultat && count($resultat) > 0) {
-
 
375
				$admin = ($resultat[0]['admin'] == 1);
-
 
376
			}
-
 
377
		}
353
		return in_array($courriel, explode(',', $this->config['jrest_admin']['admin']));
378
		return $admin;
Line 354... Line 379...
354
	}
379
	}
355
 
380
 
356
	public function getInfosComplementairesUtilisateur($id_utilisateur) {
381
	public function getInfosComplementairesUtilisateur($id_utilisateur) {