/** * 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]); } } }