Advertisement
Guest User

Untitled

a guest
Nov 18th, 2017
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.34 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Http\Controllers;
  4.  
  5. use Illuminate\Http\Request;
  6. use App\Helpers\Helper;
  7. use App\Models\User;
  8. use App\Models\UserHash;
  9. use View;
  10. use URL;
  11.  
  12.  
  13. class ForgotPasswordController extends Controller
  14. {
  15.  
  16. public function __construct(){
  17.  
  18. parent::__construct();
  19.  
  20. $this->middleware('guestA');
  21. }
  22.  
  23.  
  24. public function send(Request $request){
  25.  
  26. $result = User::where('email',$request->email)->get();
  27. if(count($result)!=1) return back()->with('emailNotFound','1');
  28.  
  29. $userId = $result->first()->id;
  30. $hash = md5($request->email . date("Y-m-d h:i:sa"));
  31.  
  32.  
  33. // send mail.
  34. $image = URL::asset("assets/logo/logo-my-car.jpg");
  35. Mail::to($request->email)->send(new forgotPasswordMailer($hash, $request->email, $image));
  36. // end of sending mail.
  37.  
  38.  
  39. $userHash = UserHash::where('users_id',$userId);
  40. if(count($userHash)>0){
  41. $userHash->delete();
  42. }
  43.  
  44. $userHash = new UserHash;
  45. $userHash->users_id = $userId;
  46. $userHash->hash = $hash;
  47. $userHash->creation = date("Y-m-d H:i:s");
  48. $userHash->save();
  49.  
  50. return back()->with('done','1');
  51. }
  52.  
  53. public function resetpassword($email, $hash){
  54.  
  55. $user = User::where('email',$email)->first();
  56. $userHash = UserHash::where('hash',$hash)->first();
  57.  
  58. if($user==null || $userHash==null) return redirect('forgotpassword')->with('hashError',1);
  59. if($user->id!=$userHash->users_id) return redirect('forgotpassword')->with('hashError',1);
  60. if((time()-strtotime($userHash->creation)) > 24*60*60){
  61. $userHash->delete();
  62. return redirect('forgotpassword')->with('hashError',1);
  63. }
  64.  
  65. return View::make('ForgotPassword.resetPassword', compact(['email','hash']));
  66. }
  67.  
  68. public function storenewpassword(Request $request){
  69.  
  70. if($request->password!==$request->password2) return back();
  71.  
  72. $email = $request->email;
  73. $hash = $request->hash;
  74.  
  75. $user = User::where('email',$email)->first();
  76. $userHash = UserHash::where('hash',$hash)->first();
  77.  
  78. if($user==null || $userHash==null) return redirect('login');
  79. if($user->id!=$userHash->users_id) return redirect('login');
  80.  
  81. if((time()-strtotime($userHash->creation)) > 24*60*60){
  82. $userHash->delete();
  83. return redirect('login');
  84. }
  85.  
  86. $user->password = Helper::encrypt($request->password,$email);
  87. $user->save();
  88.  
  89. $userHash->delete();
  90.  
  91. return redirect('login');
  92. }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement