Line 20... |
Line 20... |
20 |
private $contexte;
|
20 |
private $contexte;
|
21 |
private $bdd;
|
21 |
private $bdd;
|
Line 22... |
Line 22... |
22 |
|
22 |
|
Line 23... |
Line 23... |
23 |
private $utilisateur = array();
|
23 |
private $utilisateur = array();
|
24 |
|
24 |
|
25 |
public function __construct(Conteneur $conteneur = null) {
|
- |
|
26 |
$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur;
|
25 |
public function __construct(Conteneur $conteneur) {
|
27 |
$this->conteneur->chargerConfiguration('config_utilisateurs.ini');
|
26 |
$this->conteneur = $conteneur;
|
28 |
$this->bdd = $this->conteneur->getBdd();
|
27 |
$this->bdd = $this->conteneur->getBdd();
|
29 |
$this->contexte = $this->conteneur->getContexte();
|
28 |
$this->contexte = $this->conteneur->getContexte();
|
Line 67... |
Line 66... |
67 |
'admin' => '0',
|
66 |
'admin' => '0',
|
68 |
'session_id' => session_id()
|
67 |
'session_id' => session_id()
|
69 |
);
|
68 |
);
|
70 |
}
|
69 |
}
|
Line 71... |
Line 70... |
71 |
|
70 |
|
72 |
protected function identifierUtilisateur($login, $motDePasse) {
|
71 |
protected function identifierUtilisateur($login, $mot_de_passe) {
|
73 |
$requete = 'SELECT du.id_utilisateur, nom, prenom, courriel, mot_de_passe, dui.admin '.
|
- |
|
74 |
'FROM del_utilisateur AS du '.
|
- |
|
75 |
' LEFT JOIN del_utilisateur_infos AS dui ON (du.id_utilisateur = dui.id_utilisateur) '.
|
- |
|
76 |
'WHERE courriel = '.$this->bdd->proteger($login).' '.
|
- |
|
77 |
'AND mot_de_passe = MD5('.$this->bdd->proteger($motDePasse).') '.
|
- |
|
78 |
' -- '.__FILE__.' : '.__LINE__;
|
- |
|
79 |
$utilisateur = $this->bdd->recupererTous($requete);
|
- |
|
80 |
return $utilisateur;
|
72 |
return $this->recupererUtilisateurEnBdd($login, $mot_de_passe, 'MD5');
|
Line 81... |
Line 73... |
81 |
}
|
73 |
}
|
- |
|
74 |
|
- |
|
75 |
protected function identifierUtilisateurSansEncryptionMotDePasse($login, $mot_de_passe) {
|
- |
|
76 |
return $this->recupererUtilisateurEnBdd($login, $mot_de_passe);
|
- |
|
77 |
}
|
- |
|
78 |
|
- |
|
79 |
private function recupererUtilisateurEnBdd($login, $mot_de_passe, $cryptage = false) {
|
- |
|
80 |
$loginP = $this->bdd->proteger($login);
|
82 |
|
81 |
$mdpP = $this->bdd->proteger($mot_de_passe);
|
83 |
protected function identifierUtilisateurSansEncryptionMotDePasse($login, $mot_de_passe) {
|
82 |
$mdpSql = $cryptage ? "$cryptage($mdpP)" : $mdpP;
|
84 |
$requete = 'SELECT du.id_utilisateur, nom, prenom, courriel, mot_de_passe, dui.admin '.
|
83 |
$requete = 'SELECT du.id_utilisateur, nom, prenom, courriel, mot_de_passe, dui.admin '.
|
85 |
'FROM del_utilisateur AS du '.
|
84 |
'FROM del_utilisateur AS du '.
|
86 |
' LEFT JOIN del_utilisateur_infos AS dui ON (du.id_utilisateur = dui.id_utilisateur) '.
|
85 |
' LEFT JOIN del_utilisateur_infos AS dui ON (du.id_utilisateur = dui.id_utilisateur) '.
|
87 |
'WHERE courriel = '.$this->bdd->proteger($login).' '.
|
86 |
"WHERE courriel = $loginP ".
|
88 |
'AND mot_de_passe = '.$this->bdd->proteger($mot_de_passe).' '.
|
87 |
"AND mot_de_passe = $mdpSql ".
|
89 |
' -- '.__FILE__.' : '.__LINE__;
|
- |
|
90 |
$utilisateur = $this->bdd->recuperer($requete);
|
88 |
' -- '.__FILE__.' : '.__LINE__;
|
Line 91... |
Line 89... |
91 |
return $utilisateur;
|
89 |
return $this->bdd->recuperer($requete);
|
92 |
}
|
90 |
}
|
93 |
|
91 |
|
- |
|
92 |
protected function completerInfosUtilisateur($utilisateur) {
|
- |
|
93 |
$utilisateur['session_id'] = session_id();
|
- |
|
94 |
$utilisateur['connecte'] = true;
|
- |
|
95 |
return $utilisateur;
|
94 |
protected function setUtilisateur($utilisateur) {
|
96 |
}
|
95 |
$utilisateur['session_id'] = session_id();
|
97 |
|
96 |
$utilisateur['connecte'] = true;
|
- |
|
97 |
$this->setPersistentCookie('del_courriel', $utilisateur['courriel'], 1);
|
98 |
protected function poserCookieUtilisateur($utilisateur) {
|
Line 98... |
Line 99... |
98 |
$this->setPersistentCookie('del_mot_de_passe', $utilisateur['mot_de_passe'], 1);
|
99 |
$this->setPersistentCookie('del_courriel', $utilisateur['courriel'], 1);
|
99 |
return $utilisateur;
|
100 |
$this->setPersistentCookie('del_mot_de_passe', $utilisateur['mot_de_passe'], 1);
|
100 |
}
|
101 |
}
|
Line 101... |
Line 102... |
101 |
|
102 |
|
102 |
protected function setPersistentCookie($name, $value, $remember = 1) {
|
103 |
protected function setPersistentCookie($name, $value, $remember = 1) {
|
103 |
setcookie($name, $value, time() + ($remember ? (60*60*24*100) : (60*60)),'/');
|
104 |
setcookie($name, $value, time() + ($remember ? (60*60*24*100) : (60*60)),'/');
|
104 |
}
|
105 |
}
|
105 |
|
106 |
|
106 |
protected function oublierUtilisateur() {
|
107 |
protected function oublierUtilisateur() {
|
Line 107... |
Line 108... |
107 |
setcookie('del_courriel', $_COOKIE['del_courriel'], time()-3600, '/');
|
108 |
setcookie('del_courriel', $this->contexte->getCookie('del_courriel'), time()-3600, '/');
|
108 |
setcookie('del_mot_de_passe', $_COOKIE['del_mot_de_passe'], time()-3600, '/');
|
109 |
setcookie('del_mot_de_passe', $this->contexte->getCookie('del_mot_de_passe'), time()-3600, '/');
|
109 |
unset($_COOKIE['del_courriel']);
|
110 |
$this->contexte->setCookie('del_courriel', null);
|
110 |
unset($_COOKIE['del_mot_de_passe']);
|
111 |
$this->contexte->setCookie('del_mot_de_passe', null);
|
111 |
}
|
112 |
}
|
112 |
|
113 |
|
113 |
public function etreAdmin() {
|
114 |
public function etreAdmin() {
|
114 |
//TODO: déplacer ceci dans une classe utilitaire
|
115 |
//TODO: déplacer ceci dans une classe utilitaire
|
115 |
$idUtilisateur = $this->bdd->proteger($this->utilisateur['id_utilisateur']);
|
116 |
$idUtilisateurP = $this->bdd->proteger($this->utilisateur['id_utilisateur']);
|
116 |
$requete = 'SELECT admin '.
|
117 |
$requete = 'SELECT admin '.
|
117 |
'FROM del_utilisateur_infos '.
|
118 |
'FROM del_utilisateur_infos '.
|
118 |
"WHERE id_utilisateur = $idUtilisateur ".
|
119 |
"WHERE id_utilisateur = $idUtilisateurP ".
|