Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace FourHats\Application\Controller\V1;
- use FourHats\Util\Router\ResponseBuilder;
- use FourHats\Config\Factory as Container;
- use FourHats\Application\Controller\AbstractController;
- use Respect\Validation\Validator as V;
- use PHPMailer;
- use Symfony\Component\HttpFoundation\Response;
- class Reset extends AbstractController
- {
- public function __construct($request) {
- parent::__construct($request);
- }
- public function post()
- {
- $params = json_decode($this->request->getContent());
- $usuario = false;
- if($params->email) {
- $usuario = Container::create()->mapper->usuario(array("email" => $params->email))->fetch();
- }
- if($params->login) {
- $usuario = Container::create()->mapper->usuario(array("login" => $params->login))->fetch();
- }
- if($usuario) {
- $novaSenha = chr(rand(65,90)) . chr(rand(65,90)) . chr(rand(65,90)) . chr(rand(65,90)) . chr(rand(65,90));
- $usuario->senha = md5($novaSenha);
- $mapper = Container::create()->mapper;
- $mapper->usuario->persist($usuario);
- $mapper->flush();
- $mail = new PHPMailer();
- $mail->setFrom('controleobrigacoes@4hats.com', 'Controle de Obrigações');
- $mail->addAddress($usuario->email, $usuario->nome);
- $mail->isHTML(true);
- $mail->Subject = 'Nova senha - Sistema de Controle de Obrigações';
- $mail->Body = "
- <table>
- <tr style='background-color: #eaeaea'>
- <td>
- <h2 style='color: #3599B7'>Sistema de Controle de Obrigações</h2>
- </td>
- </tr>
- <tr style='background-color: #fefffa'>
- <td>
- <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.
- </td>
- </tr>
- </table>";
- if(!$mail->send()) {
- return ResponseBuilder::jsonResponse('Erro ao enviar e-mail: ' . $mail->ErrorInfo, Response::HTTP_BAD_REQUEST);
- } else {
- return ResponseBuilder::jsonResponse('Nova senha enviada por e-mail.', Response::HTTP_OK);
- }
- } else {
- return ResponseBuilder::jsonResponse('Login ou e-mail não encontrados.', Response::HTTP_PRECONDITION_FAILED);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement