public function run()
 {
     global $request;
     $em = \Shared\DoctrineHelper::getEntityManager();
     $passwordOld = $request->request->get("Ancien_Mot_De_Passe");
     $passwordNew = $request->request->get("Nouveau_Mot_De_Passe");
     $objAccount = \Account\AccountHelper::getAccountRepository()->findAccountByLoginAndPassword($this->objAccount->getLogin(), $passwordOld);
     if ($objAccount !== null) {
         //Suppression des autres demandes
         \Site\SiteHelper::getControleChangementMotDePasseRepository()->deleteByAccountId($objAccount->getId());
         $Nombre_Unique = \FonctionsUtiles::GenerateString(8, "INT");
         $objControleChangementMotDePasse = new \Site\Entity\ControleChangementMotDePasse();
         $objControleChangementMotDePasse->setIdCompte($objAccount->getId());
         $objControleChangementMotDePasse->setCompte($objAccount->getLogin());
         $objControleChangementMotDePasse->setNouveauMotDePasse($passwordNew);
         $objControleChangementMotDePasse->setNumeroVerif($Nombre_Unique);
         $objControleChangementMotDePasse->setIp($this->ipAdresse);
         $em->persist($objControleChangementMotDePasse);
         $em->flush();
         $template = $this->objTwig->loadTemplate("PasswordChangeEmail.html5.twig");
         $result = $template->render(["account" => $objAccount->getLogin(), "key" => $Nombre_Unique]);
         $subject = 'VamosMT2 - Changement de mot de passe';
         \EmailHelper::sendEmail($objAccount->getEmail(), $subject, $result);
         echo '1';
     } else {
         echo '2';
     }
 }
 public function run()
 {
     global $request;
     $em = \Shared\DoctrineHelper::getEntityManager();
     $numeroVerif = $request->request->get("code");
     $objControleChangementMotDePasse = \Site\SiteHelper::getControleChangementMotDePasseRepository()->findByIdCompteAndNumeroVerif($this->objAccount->getId(), $numeroVerif);
     if ($objControleChangementMotDePasse !== null) {
         //Application du mot de passe
         $this->objAccount->setPassword($objControleChangementMotDePasse->getNouveauMotDePasse());
         $em->persist($this->objAccount);
         //Suppression des demandes
         \Site\SiteHelper::getControleChangementMotDePasseRepository()->deleteByAccountId($objControleChangementMotDePasse->getIdCompte());
         //Ajout dans les logs
         $objLogsChangementPassword = new \Site\Entity\LogsChangementPassword();
         $objLogsChangementPassword->setIdCompte($this->objAccount->getId());
         $objLogsChangementPassword->setEmail($this->objAccount->getEmail());
         $objLogsChangementPassword->setDate(new \DateTime(date("Y-m-d H:i:s")));
         $objLogsChangementPassword->setIp($this->ipAdresse);
         $em->persist($objLogsChangementPassword);
         $em->flush();
         //Envoi de l'email
         $template = $this->objTwig->loadTemplate("PasswordChangeTermEmail.html5.twig");
         $result = $template->render(["account" => $this->objAccount->getLogin()]);
         $subject = 'VamosMT2 - Changement du mot de passe terminé';
         \EmailHelper::sendEmail($this->objAccount->getEmail(), $subject, $result);
         echo "1";
     } else {
         echo "2";
     }
 }