Guest User

Untitled

a guest
Apr 1st, 2018
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.68 KB | None | 0 0
  1. private $oldpassword;
  2. private $newpassword;
  3.  
  4.  
  5. /**
  6. * @Route("/change-password", name="change_password", defaults={"email=null"})
  7. * @Method("POST")
  8. * @param Request $request
  9. * @param AuthenticationUtils $authenticationUtils
  10. * @param UserPasswordEncoderInterface $passwordEncoder
  11. * @param $email
  12. * @return Response
  13. */
  14. public function ChangepasswordAction(Request $request, UserPasswordEncoderInterface $passwordEncoder, $email)
  15. {
  16. $user = new User();
  17. $form = $this->createForm(ChangepasswordType::class, $user);
  18. $form->handleRequest($request);
  19.  
  20. if ($form->isSubmitted() && $form->isValid()) {
  21.  
  22. try {
  23. $user = $this->getDoctrine()->getRepository(User::class)->find($email);
  24.  
  25.  
  26. } catch (ExceptionInterface $e) {
  27. $this->addFlash('danger', "Cet email n'existe pas.");
  28. }
  29.  
  30. //Recuperer le nouveau mot de passe tapé par l'utilisateur
  31. $newpassword = $passwordEncoder->encodePassword($user, $user->getPassword());
  32. //recuperer l'ancien mot de passe dans la base de donnéees
  33. $oldpassword = $user->getPassword();
  34.  
  35. if ($newpassword = $oldpassword) {
  36. $this->addFlash('danger', "Ce mot de passe est dejà utilisé.");
  37.  
  38. } else {
  39. $user->setPassword($newpassword);
  40. }
  41.  
  42. $em = $this->getDoctrine()->getManager();
  43. $em->persist($user);
  44. $em->flush();
  45.  
  46. $this->addFlash('success', 'votre mot de passe est bien réinitialisé');
  47.  
  48. # Redirection sur la page de connexion
  49. return $this->redirectToRoute('connexion');
  50. }
  51. return $this->render(
  52. 'security/changemotdepasse.html.twig',
  53. array('form' => $form->createView())
  54. );
  55.  
  56. }
Add Comment
Please, Sign In to add comment