assure/Controleur/ControleurChangermotpass.php
2025-12-01 19:07:16 +00:00

81 lines
2.6 KiB
PHP

<?php
require_once 'Framework/Controleur.php';
require_once 'Modele/Utilisateur.php';
require_once 'Modele/Menuvueutilisateur.php';
require_once 'Framework/Localisation.php';
class ControleurChangermotpass extends Controleur
{
private $menuvue;
private $utilisateur;
public function __construct()
{
$this->utilisateur = new Utilisateur();
$this->menuvue = new Menuvueutilisateur();
$this->menuvue->getMenuVue('Changermotpass');
}
public function index()
{
$this->genererVue();
}
public function changerpass()
{
$login = $_SESSION['login'];
if ($this->requete->existeParametre("ancmdp")
&& $this->requete->existeParametre("nvmdp")
&& $this->requete->existeParametre("cfnvmdp"))
{
$ancmdp = $this->requete->getParametre("ancmdp");
$nvmdp = $this->requete->getParametre("nvmdp");
$cfnvmdp = $this->requete->getParametre("cfnvmdp");
// Ici on va faire intervenir la complexité du mot de passe
$tb_complexitePassWord = $this->utilisateur->getcomplexitepassword();
$complexitePassWord = $tb_complexitePassWord['complexitePassWord'];
$longueurPassWord = $tb_complexitePassWord['longueurPassWord'];
if (strlen($nvmdp)<$longueurPassWord)
{
$this->genererVue(array('msgErreur' => _('Veuillez revoir la longueur du mot de passe!')), "index");
}/*
else if ( strlen($complexitePassWord)>1 && !(preg_match($complexitePassWord, $nvmdp)) )
{
$this->genererVue(array('msgErreur' => 'Mot de passe non conforme!'), "index");
}*/
else if ($nvmdp!=$cfnvmdp)
{
$this->genererVue(array('msgErreur' => _('Veuillez confirmer votre nouveau mot de passe!')), "index");
}
else if ($nvmdp==$ancmdp)
{
$this->genererVue(array('msgErreur' => _('Veuillez changer de mot de passe!')), "index");
}
else if (!$this->utilisateur->respecteoldpass($login, $nvmdp))
{
$this->genererVue(array('msgErreur' => _('Mot de passe récemment utilsé!')), "index");
}
else if ($this->utilisateur->connecter($login, $ancmdp))
{
$this->utilisateur->changerpass($login, $ancmdp, $nvmdp);
// $this->rediriger("Recherche");
// ajout KANE du 24/03/2025
$this->rediriger("Connexion/deconnecter/");
exit();
}
else
{
$this->genererVue(array('msgErreur' => _('Ancien mot de passe incorrect!')), "index");
}
}
else
{
$this->genererVue(array('msgErreur' => _('Veuillez revoir votre saisie!')), "index");
}
}
}