Пример #1
0
 public function resetPassword($token)
 {
     $userManager = new UserManager();
     $succes = "";
     $error = "";
     // On verif si le token de URL est bien celui de la BDD pour trouver le user
     $foundUser = $userManager->getToken($token);
     // Si user pas trouver =  retour sur la home su site
     if (empty($foundUser)) {
         $this->redirectToRoute('home');
         //die();
     }
     // Confirmation du Form de reset MDP
     if (!empty($_POST)) {
         $password = trim($_POST['password']);
         $password_confirm = trim($_POST['password_confirm']);
         if (empty($password)) {
             $error = "Veuilliez renseigner votre Mots de passe !";
         } elseif ($password !== $password_confirm) {
             $error = "Vos mots de passe ne conrresponde pas !";
         } else {
             $containsLetter = preg_match('/[a-zA-Z]/', $password);
             $containsDigit = preg_match('/\\d/', $password);
             if (!$containsLetter || !$containsDigit) {
                 $error = "Veulliez choisir un mot de passe avec au moin une lettre,  et un chiffre !";
             }
         }
         if (empty($password_confirm)) {
             $error = "Veuilliez confirmer votre Mots de passe !";
         }
         if (empty($error)) {
             //insérer en base
             $hash = password_hash($password, PASSWORD_DEFAULT);
             $id = $foundUser['id'];
             $newPassword = ["password" => $hash];
             $userManager = new \Manager\UserManager();
             $userManager->update($newPassword, $id);
             $this->redirectToRoute('connexion');
             $succes = "Votre Mots de passe a bien été changer !";
         }
     }
     $data = [];
     $data['succes'] = $succes;
     $data['error'] = $error;
     $this->show('user/reset_password', $data);
 }
Пример #2
0
 public function changePassword()
 {
     $userManager = new UserManager();
     if (!empty($_GET)) {
         $_SESSION['token'] = $_GET['token'];
         $token = $_SESSION['token'];
     }
     $user = $userManager->getToken($token);
     $confirm_password = "";
     $errorConfirm_password = "";
     if (!empty($_POST)) {
         $password = trim(strip_tags($_POST['password']));
         $confirm_password = trim(strip_tags($_POST['confirm_password']));
         if ($password != $confirm_password) {
             $errorConfirm_password = "******";
         } else {
             if (strlen($password) < 6) {
                 $errorConfirm_password = "******";
             } else {
                 $containsLetter = preg_match('/[a-zA-Z]/', $password);
                 $containsDigit = preg_match('/\\d/', $password);
                 $containsSpecial = preg_match('/[^a-zA-Z\\d]/', $password);
                 if (!$containsLetter || !$containsDigit || !$containsSpecial) {
                     $errorConfirm_password = "******";
                 }
             }
         }
         if ($errorConfirm_password == "") {
             $hashedPassword = password_hash($password, PASSWORD_DEFAULT);
             $id = $user['id'];
             $newPassword = ["password" => $hashedPassword];
             $userManager->update($newPassword, $id);
         }
     }
     $data['errorConfirm_password'] = $errorConfirm_password;
     $this->show('user/change_password', $data);
 }