Advertisement
Guest User

Untitled

a guest
May 6th, 2019
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.27 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Controller;
  4.  
  5. use App\Form\ChangeCodeType;
  6. use App\Form\ChangeEmailType;
  7. use App\Form\ChangePasswordType;
  8. use App\Form\ChangePinType;
  9. use App\Service\UserLogger;
  10. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
  11. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
  12. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
  13. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  14. use Symfony\Component\HttpFoundation\Request;
  15. use Symfony\Component\HttpFoundation\Response;
  16. use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
  17. use Symfony\Component\Translation\TranslatorInterface;
  18.  
  19. /**
  20. * @Route("/user")
  21. * @Security("has_role('ROLE_USER')")
  22. */
  23. class UserController extends AbstractController implements UserControllerInterface
  24. {
  25. /**
  26. * @Route("/panel", name="user_panel")
  27. * @Method("GET")
  28. */
  29. public function userPanel(): Response
  30. {
  31. return $this->render('user/panel/index.html.twig');
  32. }
  33.  
  34. /**
  35. * @Route("/password", name="user_change_password")
  36. * @Method({"GET", "POST"})
  37. */
  38. public function changePassword(Request $request, UserPasswordEncoderInterface $passwordEncoder, TranslatorInterface $translator, UserLogger $userLogger): Response
  39. {
  40. $form = $this->createForm(ChangePasswordType::class);
  41. $form->handleRequest($request);
  42.  
  43. if ($form->isSubmitted() && $form->isValid()) {
  44. $em = $this->getDoctrine()->getManager();
  45.  
  46. $newPassword = ($form->getData())->getNewPassword();
  47. $user = $this->getUser();
  48.  
  49. $password = $passwordEncoder->encodePassword($user, $newPassword);
  50.  
  51. $user->setPassword($password);
  52.  
  53. $em->flush();
  54.  
  55. // $userLogger->addLog($user, 'CHANGE_PASSWORD');
  56.  
  57. $this->addFlash('success', $translator->trans('change.password.success'));
  58. return $this->redirectToRoute('user_change_password');
  59. }
  60.  
  61. return $this->render('user/panel/change_password.html.twig', [
  62. 'change_password_form' => $form->createView()
  63. ]);
  64. }
  65.  
  66. /**
  67. * @Route("/mail", name="user_change_email")
  68. * @Method({"GET", "POST"})
  69. */
  70. public function changeEmail(Request $request, TranslatorInterface $translator, UserLogger $userLogger): Response
  71. {
  72. $form = $this->createForm(ChangeEmailType::class);
  73. $form->handleRequest($request);
  74.  
  75. if ($form->isSubmitted() && $form->isValid()) {
  76. $em = $this->getDoctrine()->getManager();
  77.  
  78. $newMail = ($form->getData())->getNewEmail();
  79.  
  80. $user = $this->getUser();
  81. $user->setEmail($newMail);
  82.  
  83. $em->flush();
  84.  
  85. // $userLogger->addLog($user, 'CHANGE_EMAIL');
  86.  
  87. $this->addFlash('success', $translator->trans('change.email.success'));
  88. return $this->redirectToRoute('user_change_email');
  89. }
  90.  
  91. return $this->render('user/panel/change_mail.html.twig', [
  92. 'change_email_form' => $form->createView()
  93. ]);
  94. }
  95.  
  96. /**
  97. * @Route("/code", name="user_change_code")
  98. * @Method({"GET", "POST"})
  99. */
  100. public function changeCode(Request $request, TranslatorInterface $translator, UserLogger $userLogger): Response
  101. {
  102. $form = $this->createForm(ChangeCodeType::class);
  103. $form->handleRequest($request);
  104.  
  105. if ($form->isSubmitted() && $form->isValid()) {
  106. $em = $this->getDoctrine()->getManager();
  107.  
  108. $newCode = ($form->getData())->getNewCode();
  109.  
  110. $user = $this->getUser();
  111. $user->setCode($newCode);
  112.  
  113. $em->flush();
  114.  
  115. // $userLogger->addLog($user, 'CHANGE_CODE');
  116.  
  117. $this->addFlash('success', $translator->trans('change.code.success'));
  118. return $this->redirectToRoute('user_change_code');
  119. }
  120.  
  121. return $this->render('user/panel/change_code.html.twig', [
  122. 'change_code_form' => $form->createView()
  123. ]);
  124. }
  125.  
  126. /**
  127. * @Route("/pin", name="user_change_pin")
  128. * @Method({"GET", "POST"})
  129. */
  130. public function changePIN(Request $request, TranslatorInterface $translator){
  131.  
  132. $form = $this->createForm(ChangePinType::class);
  133. $form->handleRequest($request);
  134.  
  135. if ($form->isSubmitted() && $form->isValid()) {
  136. $em = $this->getDoctrine()->getManager();
  137.  
  138. $newPin = ($form->getData())->getNewPin();
  139.  
  140. $user = $this->getUser();
  141. $user->setPin($newPin);
  142.  
  143. $em->flush();
  144.  
  145. $this->addFlash('success', $translator->trans('change.pin.success'));
  146. return $this->redirectToRoute('user_change_pin');
  147. }
  148.  
  149. return $this->render('user/panel/change_pin.html.twig', [
  150. 'change_pin_form' => $form->createView()
  151. ]);
  152. }
  153.  
  154. /**
  155. * @Route("/payments", name="user_payments")
  156. */
  157. public function payments(): Response {
  158. // $allowed = [
  159. // '37.47.34.239', '89.78.36.204', '5.173.177.180'
  160. // ];
  161. //
  162. // if(!in_array($_SERVER['REMOTE_ADDR'], $allowed)) {
  163. // die;
  164. // }
  165. return $this->render('user/payments/index.html.twig');
  166. }
  167. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement