executerRequete($sql, array($login)); if ($utilisateur->rowCount() == 1) { $user = $utilisateur->fetch(); $hash = $user['motPass']; return (password_verify($mdp, $hash)); } else return false; } public function getUtilisateur($login) { $sql = "call sp_a_get_utilisateur(?);"; $utilisateur = $this->executerRequete($sql, array($login)); if ($utilisateur->rowCount() == 1) return $utilisateur->fetch(); else throw new Exception("Aucun utilisateur ne correspond aux identifiants fournis"); } public function changerpass($login, $ancmdp, $nvmdp) { $hash = password_hash($nvmdp, PASSWORD_DEFAULT); $sql = "call sp_a_changer_mot_passe_assure(?, ?)"; $this->executerRequete($sql, array($hash, $login)); $_SESSION['passExpired'] = false; $_SESSION['passAchanger'] = false; } public function viderTablesTemporairesUser($login) { $idSaisie = $_SESSION['idSaisie']; $sql = "call sp_a_viderTablesTemporairesUser(?, ?)"; $this->executerRequete($sql, array($login, $idSaisie)); } public function changerlangueutilisateur() { $user = $_SESSION['login']; $codeLangue = $_SESSION['lang']; if($codeLangue == "en_US") { $codeNewLang = "fr_FR"; } else { $codeNewLang = "en_US"; } $sql = "call sp_a_changer_langue_utilisateur(?, ?);"; $this->executerRequete($sql, array($user, $codeNewLang)); $_SESSION['lang'] = $codeNewLang; setcookie('lang', $codeLangue, time()+365*24*3600, '/'); $_COOKIE['lang'] = $codeNewLang; } public function verifiermotpassdefaut($codeSociete, $mdp) { $sql = "call sp_get_mot_pass_reinit(?);"; $resultat = $this->executerRequete($sql, array($codeSociete)); if ($resultat->rowCount() == 1) { $user = $resultat->fetch(); $hash = $user['motPassReinit']; return (password_verify($mdp, $hash)); } else { return false; } } public function getcomplexitepassword() { $sql = 'SELECT concat("#",complexitePassWord,"#") as complexitePassWord, longueurPassWord FROM societeuser where (codeSociete=?) limit 1;'; $resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'])); return $resultat->fetch(PDO::FETCH_ASSOC); } public function respecteoldpass($login, $mdp) { $respecteoldpass = true; $sql = "call sp_get_utilisateur_old_pass(?);"; $resultat = $this->executerRequete($sql, array($login)); $olds_pass = $resultat->fetchAll(PDO::FETCH_ASSOC); foreach ($olds_pass as $old_pass) { $hash = $old_pass['motPass']; if (password_verify($mdp, $hash)) { $respecteoldpass = false; break; } } return $respecteoldpass; } public function changerlangueutilisateurconnexion($login, $codeNewLang) { $sql = "call sp_a_changer_langue_utilisateur(?, ?);"; $this->executerRequete($sql, array($login, $codeNewLang)); $_SESSION['lang'] = $codeNewLang; setcookie('lang', $codeNewLang, time()+365*24*3600, '/'); } }