public function run()
 {
     global $request;
     $em = \Shared\DoctrineHelper::getEntityManager();
     $loginCompte = $request->request->get("Mot_De_Passe_Oublie_Compte");
     $emailCompte = $request->request->get("Mot_De_Passe_Oublie_Email");
     $passwordNew = \FonctionsUtiles::GenerateString(8);
     $objLogsOublieMotDePasse = new \Site\Entity\LogsOublieMotDePasse();
     $objLogsOublieMotDePasse->setCompteEssaye($loginCompte);
     $objLogsOublieMotDePasse->setEmailEssaye($emailCompte);
     $objLogsOublieMotDePasse->setIp($this->ipAdresse);
     $objLogsOublieMotDePasse->setDateEssai(new \DateTime(date("Y-m-d H:i:s")));
     $objAccount = \Account\AccountHelper::getAccountRepository()->findAccountByEmailAndLogin($emailCompte, $loginCompte);
     if ($objAccount !== null) {
         \Account\AccountHelper::getAccountRepository()->updateAccountPassword($objAccount->getId(), $passwordNew);
         $template = $this->objTwig->loadTemplate("PasswordForgottenEmail.html5.twig");
         $result = $template->render(["newMDP" => $passwordNew]);
         $subject = 'VamosMT2 - Nouveau mot de passe';
         \EmailHelper::sendEmail($emailCompte, $subject, $result);
         $objLogsOublieMotDePasse->setResultatDemande("1");
         echo "1";
     } else {
         $objLogsOublieMotDePasse->setResultatDemande("2");
         echo "2";
     }
     $em->persist($objLogsOublieMotDePasse);
     $em->flush();
 }
 public function run()
 {
     global $request;
     $em = \Shared\DoctrineHelper::getEntityManager();
     $idCompte = $this->objAccount->getId();
     $idPersonnage = $request->request->get("id_personnage");
     $objPlayer = \Player\PlayerHelper::getPlayerRepository()->find($idPersonnage);
     if ($objPlayer !== null) {
         //Suppression des autres demandes
         \Site\SiteHelper::getSuppressionPersonnageRepository()->deleteByPlayerId($idPersonnage);
         $objAccount = \Account\AccountHelper::getAccountRepository()->find($idCompte);
         if ($objAccount !== null) {
             $numeroVerif = \FonctionsUtiles::GenerateString(8, "INT");
             //Envoie de l'email de vérification
             $template = $this->objTwig->loadTemplate("PersonnageDeleteEmailVerify.html5.twig");
             $result = $template->render(["account" => $objAccount->getLogin(), "player" => $objPlayer->getName(), "key" => $numeroVerif]);
             $subject = 'VamosMt2 - Suppression du personnage ' . $objPlayer->getName() . '';
             \EmailHelper::sendEmail($objAccount->getEmail(), $subject, $result);
             //Insertion de la demande
             $objSuppressionPersonnage = new \Site\Entity\SuppressionPersonnage();
             $objSuppressionPersonnage->setIdCompte($idCompte);
             $objSuppressionPersonnage->setIdPersonnage($idPersonnage);
             $objSuppressionPersonnage->setEmail($objAccount->getEmail());
             $objSuppressionPersonnage->setNumeroVerif($numeroVerif);
             $objSuppressionPersonnage->setDate(new \DateTime(date("Y-m-d H:i:s")));
             $objSuppressionPersonnage->setIp($this->ipAdresse);
             $em->persist($objSuppressionPersonnage);
             $em->flush();
             $Tableau_Retour_Json = array('result' => true);
         } else {
             $Tableau_Retour_Json = array('result' => false, 'reasons' => "Le compte n'existe pas.");
         }
         echo json_encode($Tableau_Retour_Json);
     }
 }
 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()
 {
     $em = \Shared\DoctrineHelper::getEntityManager();
     $Nombre_Unique = \FonctionsUtiles::GenerateString(8, "INT");
     //Suppression des autres entrées de vérification
     \Site\SiteHelper::getControleChangementMailRepository()->deleteByAccountId($this->objAccount->getId());
     //Insertion de la clés de vérification
     $objControleChangementMail = new \Site\Entity\ControleChangementMail();
     $objControleChangementMail->setIdCompte($this->objAccount->getId());
     $objControleChangementMail->setEmail($this->objAccount->getEmail());
     $objControleChangementMail->setNumeroVerif($Nombre_Unique);
     $objControleChangementMail->setIp($this->ipAdresse);
     $objControleChangementMail->setDate(new \DateTime(date("Y-m-d H:i:s")));
     $em->persist($objControleChangementMail);
     $em->flush();
     //Envoi de l'email avec la clés
     $templateOld = $this->objTwig->loadTemplate("EmailChangeEmailVerify.html5.twig");
     $resultOld = $templateOld->render(["compte" => $this->objAccount->getLogin(), "key" => $Nombre_Unique]);
     $subject = 'VamosMt2 - Changement de mail de ' . $this->objAccount->getLogin() . '';
     \EmailHelper::sendEmail($this->objAccount->getEmail(), $subject, $resultOld);
     echo '1';
 }