Subversion Repositories eFlore/Applications.del

Rev

Rev 2077 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2077 Rev 2155
Line 23... Line 23...
23
 
23
 
24
	protected $conteneur;
24
	protected $conteneur;
Line 25... Line 25...
25
	protected $bdd;
25
	protected $bdd;
-
 
26
 
26
 
27
	public function __construct($conteneur) {
27
	public function __construct($conteneur) {
28
		throw new Exception("obsolète - ne plus utiliser"); // go pyoubelz
28
		$this->conteneur = $conteneur;
29
		$this->conteneur = $conteneur;
Line 29... Line 30...
29
		$this->bdd = $this->conteneur->getBdd();
30
		$this->bdd = $this->conteneur->getBdd();
Line 56... Line 57...
56
	public function demanderAuthentificationAdmin() {
57
	public function demanderAuthentificationAdmin() {
57
		if (!$this->etreAdminAutoriseParHttp()) {
58
		if (!$this->etreAdminAutoriseParHttp()) {
58
			$this->authentifierAdmin();
59
			$this->authentifierAdmin();
59
		}
60
		}
60
	}
61
	}
61
 
-
 
62
	/**
62
	/**
63
	 * Exige qu'un utilisateur s'autenthentifie à l'aide de HTTP AUTH
63
	 * Exige qu'un utilisateur s'autenthentifie à l'aide de HTTP AUTH
64
	 */
64
	 */
65
	public function demanderAuthentificationUtilisateur() {
65
	public function demanderAuthentificationUtilisateur() {
66
		if (!$this->etreUtilisateurAutoriseParHttp()) {
66
		if (!$this->etreUtilisateurAutoriseParHttp()) {
67
			$this->authentifierUtilisateur();
67
			$this->authentifierUtilisateur();
68
		}
68
		}
69
	}
69
	}
Line -... Line 70...
-
 
70
 
70
 
71
 
71
	/**
72
	/**
72
	 * Lit les entêtes HTTP AUTH et vérifie si l'utilisateur
73
	 * Lit les entêtes HTTP AUTH et vérifie si l'utilisateur
73
	 * existe (courriel / mot de passe); si $doitEtreAdmin est true,
74
	 * existe (courriel / mot de passe); si $doitEtreAdmin est true,
74
	 * vérifiera également que l'utilisateur est administrateur de Del
75
	 * vérifiera également que l'utilisateur est administrateur de Del
Line 84... Line 85...
84
 
85
 
85
		if ($doitEtreAdmin === true) {
86
		if ($doitEtreAdmin === true) {
86
			$autorisation = ($autorisation && $this->etreAdmin($identifiant));
87
			$autorisation = ($autorisation && $this->etreAdmin($identifiant));
87
		}
88
		}
88
		return $autorisation;
-
 
89
	}
-
 
90
 
89
		return $autorisation;
91
	/**
90
	}	/**
92
	 * Lit les entêtes HTTP AUTH et vérifie que l'utilisateur est identifié
91
	 * Lit les entêtes HTTP AUTH et vérifie que l'utilisateur est identifié
93
	 * et est administrateur de Del
92
	 * et est administrateur de Del
94
	 * 
93
	 * 
95
	 * @return boolean true si l'utilisateur est identifié et admin de Del, false sinon
94
	 * @return boolean true si l'utilisateur est identifié et admin de Del, false sinon
Line 114... Line 113...
114
	protected function getAuthMotDePasse() {
113
	protected function getAuthMotDePasse() {
115
		$mdp = (isset($_SERVER['PHP_AUTH_PW'])) ? $_SERVER['PHP_AUTH_PW'] : null;
114
		$mdp = (isset($_SERVER['PHP_AUTH_PW'])) ? $_SERVER['PHP_AUTH_PW'] : null;
116
		return $mdp;
115
		return $mdp;
117
	}
116
	}
Line -... Line 117...
-
 
117
 
-
 
118
 
118
 
119
 
119
	/**
120
	/**
120
	 * Envoie un message HTTP 401 / une boîte de login HTTP AUTH avec des
121
	 * Envoie un message HTTP 401 / une boîte de login HTTP AUTH avec des
121
	 * messages correspondant à la demande d'authentification d'un administrateur
122
	 * messages correspondant à la demande d'authentification d'un administrateur
122
	 * TODO: externaliser noms et adresses spécifiques à Tela Botanica
123
	 * TODO: externaliser noms et adresses spécifiques à Tela Botanica
Line 141... Line 142...
141
		$message_echec = "Accès limité aux utilisateurs de DEL.\n".
142
		$message_echec = "Accès limité aux utilisateurs de DEL.\n".
142
			"Inscrivez vous http://www.tela-botanica.org/page:inscription pour le devenir.\n".
143
			"Inscrivez vous http://www.tela-botanica.org/page:inscription pour le devenir.\n".
143
			"Votre tentative d'identification a échoué.\n".
144
			"Votre tentative d'identification a échoué.\n".
144
			"Actualiser la page pour essayer à nouveau si vous êtes déjà inscrit ou contacter 'accueil@tela-botanica.org'.";
145
			"Actualiser la page pour essayer à nouveau si vous êtes déjà inscrit ou contacter 'accueil@tela-botanica.org'.";
145
		return $this->authentifier($message_accueil, $message_echec, 'Utilisateur');
146
		return $this->authentifier($message_accueil, $message_echec, 'Utilisateur');
146
	}
-
 
147
 
-
 
148
	/**
147
	}	/**
149
	 * Envoie l'authentification HTTP AUTH , et accepte un mode "debug" pour
148
	 * Envoie l'authentification HTTP AUTH , et accepte un mode "debug" pour
150
	 * les petits malins
149
	 * les petits malins
151
	 */
150
	 */
152
	protected function authentifier($message_accueil, $message_echec, $type) {
151
	protected function authentifier($message_accueil, $message_echec, $type) {
153
		$id = $this->getAuthIdentifiant();
152
		$id = $this->getAuthIdentifiant();
Line 165... Line 164...
165
			}
164
			}
166
		}
165
		}
167
		return true;
166
		return true;
168
	}
167
	}
Line -... Line 168...
-
 
168
 
-
 
169
 
169
 
170
 
170
	/**
171
	/**
171
	 * Envoie un message HTTP 401 / une boîte de login HTTP AUTH
172
	 * Envoie un message HTTP 401 / une boîte de login HTTP AUTH
172
	 * @param string $message_accueil
173
	 * @param string $message_accueil
173
	 * @param string $message_echec
174
	 * @param string $message_echec