Guest User

Untitled

a guest
Nov 19th, 2018
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. public function generateNewPass()
  2. {
  3. $email = $_POST["email"];
  4.  
  5.  
  6. $Query = Doctrine_Query::create()->from("Model_Usuarios f")
  7. ->where("email = '{$email}'");
  8. $existentEmail = $Query->execute(null,Doctrine_Core::HYDRATE_ARRAY);
  9.  
  10. $response = array();
  11.  
  12. if(empty($existentEmail)){
  13. $response["error"] = "y";
  14. $response["message"] = "E-mail não cadastrado.";
  15. echo json_encode($response);exit;
  16. }
  17.  
  18. $newPass = $this->generatePassword();
  19.  
  20. $table = DoctrineLib::gettable("Model_Usuarios");
  21. $mUser = $table->findOneById($existentEmail[0]["id"]);
  22.  
  23. $mUser->senha = sha1($newPass);
  24. $mUser->save();
  25.  
  26.  
  27. //Altera senha do servidor, mesmo não logado no sistema
  28. $Planos = new Planos(true);
  29. $Planos->getUser($existentEmail[0]["id"]);
  30. $Planos->getServer();
  31.  
  32. if ($Planos->hasServer()){
  33. $Planos->updateUser($newPass);
  34. }
  35.  
  36. $response["error"] = "n";
  37. $response["message"] = "Erro ao recuperar senha, por favor contate o suporte.";
  38.  
  39. if($this->sendNewPassMail($newPass, $email)){
  40. $response["error"] = "n";
  41. $response["message"] = "Uma nova senha foi enviada para " . $email;
  42. }
  43.  
  44. echo json_encode($response);
  45. }
  46.  
  47. private function sendNewPassMail($newPass, $email){
  48.  
  49. $config = Array(
  50. 'protocol' => 'smtp',
  51. 'smtp_host' => 'mail.xxx.com',
  52. 'smtp_port' => 465,
  53. 'smtp_user' => 'xxx@xxx.net',
  54. 'smtp_pass' => 'xxx',
  55. 'mailtype' => 'html',
  56. 'charset' => 'iso-8859-1'
  57. );
  58.  
  59. $this->load->library('email', $config);
  60.  
  61. $this->email->set_newline("rn");
  62.  
  63. $this->email->from('xxx@xxx.net', 'xxx');
  64. $this->email->to($email);
  65.  
  66. $this->email->subject(' Senha de acesso');
  67. $this->email->message("Sua nova senha de acesso - ".$newPass);
  68.  
  69. if($this->email->send()){
  70. return true;
  71. }
  72.  
  73. return false;
  74. }
Add Comment
Please, Sign In to add comment