Advertisement
Guest User

Untitled

a guest
May 4th, 2016
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.59 KB | None | 0 0
  1. <?php
  2.  
  3. namespace FourHats\Application\Controller\V1;
  4.  
  5. use FourHats\Util\Router\ResponseBuilder;
  6. use FourHats\Config\Factory as Container;
  7. use FourHats\Application\Controller\AbstractController;
  8. use Respect\Validation\Validator as V;
  9. use PHPMailer;
  10.  
  11. use Symfony\Component\HttpFoundation\Response;
  12.  
  13. class Reset extends AbstractController
  14. {
  15.  
  16. public function __construct($request) {
  17. parent::__construct($request);
  18. }
  19.  
  20. public function post()
  21. {
  22. $params = json_decode($this->request->getContent());
  23.  
  24. $usuario = false;
  25. if($params->email) {
  26. $usuario = Container::create()->mapper->usuario(array("email" => $params->email))->fetch();
  27. }
  28. if($params->login) {
  29. $usuario = Container::create()->mapper->usuario(array("login" => $params->login))->fetch();
  30. }
  31.  
  32. if($usuario) {
  33. $novaSenha = chr(rand(65,90)) . chr(rand(65,90)) . chr(rand(65,90)) . chr(rand(65,90)) . chr(rand(65,90));
  34.  
  35. $usuario->senha = md5($novaSenha);
  36. $mapper = Container::create()->mapper;
  37. $mapper->usuario->persist($usuario);
  38. $mapper->flush();
  39.  
  40. $mail = new PHPMailer();
  41.  
  42. $mail->setFrom('controleobrigacoes@4hats.com', 'Controle de Obrigações');
  43. $mail->addAddress($usuario->email, $usuario->nome);
  44. $mail->isHTML(true);
  45. $mail->Subject = 'Nova senha - Sistema de Controle de Obrigações';
  46. $mail->Body = "
  47. <table>
  48. <tr style='background-color: #eaeaea'>
  49. <td>
  50. <h2 style='color: #3599B7'>Sistema de Controle de Obrigações</h2>
  51. </td>
  52. </tr>
  53. <tr style='background-color: #fefffa'>
  54. <td>
  55. <b>{$usuario->nome}</b>, uma requisição de nova senha foi feita para seu usuário no Sistema de Controle de Obrigações<br/>Sua nova senha é: <b>{$novaSenha}</b>.<br/><br/>Quaisquer duvidas favor entrar em contato com o administrador do sistema.
  56. </td>
  57. </tr>
  58. </table>";
  59.  
  60. if(!$mail->send()) {
  61. return ResponseBuilder::jsonResponse('Erro ao enviar e-mail: ' . $mail->ErrorInfo, Response::HTTP_BAD_REQUEST);
  62. } else {
  63. return ResponseBuilder::jsonResponse('Nova senha enviada por e-mail.', Response::HTTP_OK);
  64. }
  65. } else {
  66. return ResponseBuilder::jsonResponse('Login ou e-mail não encontrados.', Response::HTTP_PRECONDITION_FAILED);
  67. }
  68. }
  69.  
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement