prestation/PHPMailer/Modele/Utilisateur.php
2025-12-05 10:42:46 +00:00

96 lines
2.5 KiB
PHP
Executable File

<?php
require_once 'Framework/Modele.php';
class Utilisateur extends Modele {
public function connecter($login, $mdp)
{
$sql = "call sp_p_get_utilisateur_pass(?);";
$utilisateur = $this->executerRequete($sql, array($login));
if ($utilisateur->rowCount() == 1)
{
$user = $utilisateur->fetch(PDO::FETCH_ASSOC);
$hash = $user['motPass'];
return (password_verify($mdp, $hash));
} else
return false;
}
public function getUtilisateur($login)
{
$sql = "call sp_p_get_utilisateur(?);";
$utilisateur = $this->executerRequete($sql, array($login));
if ($utilisateur->rowCount() == 1)
// return $utilisateur->fetch(PDO::FETCH_ASSOC);
return $utilisateur->fetch(PDO::FETCH_ASSOC);
else
throw new Exception("Aucun utilisateur ne correspond aux identifiants fournis");
}
public function changerpass($login, $ancmdp, $nvmdp)
{
$hash = password_hash($nvmdp, PASSWORD_DEFAULT);
$sql = "UPDATE p_utilisateur set motPass=?, reInit = '0' WHERE codeUtilisateur=?";
$this->executerRequete($sql, array($hash, $login));
}
public function viderTablesTemporairesUser($login)
{
$idSaisie = $_SESSION['p_idSaisie'];
$sql = "call sp_p_viderTablesTemporairesUser(?, ?)";
$this->executerRequete($sql, array($login, $idSaisie));
}
public function getUtilisateurIdsaisie($idSaisie)
{
$sql = "call sp_p_get_utilisateur_idSaisie(?);";
$utilisateur = $this->executerRequete($sql, array($idSaisie));
return $utilisateur->fetch(PDO::FETCH_ASSOC);
}
public function changerlangueutilisateur()
{
$user = $_SESSION['p_login'];
$codeLangue = $_SESSION['p_lang'];
if($codeLangue == "en_US")
{
$codeNewLang = "fr_FR";
}
else
{
$codeNewLang = "en_US";
}
$sql = "call sp_p_changer_langue_utilisateur(?, ?);";
$this->executerRequete($sql, array($user, $codeNewLang));
$_SESSION['p_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(PDO::FETCH_ASSOC);
$hash = $user['motPassReinit'];
return (password_verify($mdp, $hash));
}
else
{
return false;
}
}
}