예제 #1
0
 /**
  * Modifie les parametres en bases
  *
  * @param Request $request
  * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
  */
 public function paramEdit(Request $request)
 {
     //On récupère les données envoyées
     $email = $request->email;
     $actual_password = $request->actual_password;
     $new_password = $request->new_password;
     $confirm_password = $request->confirm_password;
     //Test si l'utilisateur existe bien en base
     $admin = Admin::adminExist($email);
     if ($admin->count() === 0) {
         return view('admin/adminAdministrateurParam', ['erreur' => 'Cet administrateur n\'existe pas', 'email' => $email]);
     } else {
         //Test si le mot de passe actuel envoyé correspond à celui en base
         if (Hash::check($actual_password, $admin->password)) {
             //Test si le nouveau mot de passe correspond a la confirmation du mot de passe
             if ($new_password === $confirm_password) {
                 //Test si le nouveau mot de passe répond a la politique de sécurité
                 if (!preg_match('#^[a-z0-9]*[0-9]+[a-z0-9]*$#i', $new_password) || !preg_match('#^.{5,11}$#', $new_password)) {
                     //JSUIS CON...
                     return view('admin/adminAdministrateurParam', ['erreur' => 'Le mot de passe ne répond pas à la politiqiue de sécurité', 'email' => $email]);
                 } else {
                     //Mise a jour des données en base
                     //BON IL ME DIT OK MAIS FAIT PAS L'UPDATE CE RACCOON !
                     $admin->update(['password' => Hash::make($new_password)]);
                     return view('admin/adminAdministrateurParam', ['success' => 'Les paramètres administrateur ont bien été modifiés']);
                 }
             } else {
                 return view('admin/adminAdministrateurParam', ['erreur' => 'La confirmation du mot de passe ne correspond pas', 'email' => $email]);
             }
         } else {
             return view('admin/adminAdministrateurParam', ['erreur' => 'Votre mot de passe actuel n\'est pas le bon', 'email' => $email]);
         }
     }
 }