Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App\Http\Controllers;
- use Illuminate\Http\Request;
- use App\Helpers\Helper;
- use App\Models\User;
- use App\Models\UserHash;
- use View;
- use URL;
- class ForgotPasswordController extends Controller
- {
- public function __construct(){
- parent::__construct();
- $this->middleware('guestA');
- }
- public function send(Request $request){
- $result = User::where('email',$request->email)->get();
- if(count($result)!=1) return back()->with('emailNotFound','1');
- $userId = $result->first()->id;
- $hash = md5($request->email . date("Y-m-d h:i:sa"));
- // send mail.
- $image = URL::asset("assets/logo/logo-my-car.jpg");
- Mail::to($request->email)->send(new forgotPasswordMailer($hash, $request->email, $image));
- // end of sending mail.
- $userHash = UserHash::where('users_id',$userId);
- if(count($userHash)>0){
- $userHash->delete();
- }
- $userHash = new UserHash;
- $userHash->users_id = $userId;
- $userHash->hash = $hash;
- $userHash->creation = date("Y-m-d H:i:s");
- $userHash->save();
- return back()->with('done','1');
- }
- public function resetpassword($email, $hash){
- $user = User::where('email',$email)->first();
- $userHash = UserHash::where('hash',$hash)->first();
- if($user==null || $userHash==null) return redirect('forgotpassword')->with('hashError',1);
- if($user->id!=$userHash->users_id) return redirect('forgotpassword')->with('hashError',1);
- if((time()-strtotime($userHash->creation)) > 24*60*60){
- $userHash->delete();
- return redirect('forgotpassword')->with('hashError',1);
- }
- return View::make('ForgotPassword.resetPassword', compact(['email','hash']));
- }
- public function storenewpassword(Request $request){
- if($request->password!==$request->password2) return back();
- $email = $request->email;
- $hash = $request->hash;
- $user = User::where('email',$email)->first();
- $userHash = UserHash::where('hash',$hash)->first();
- if($user==null || $userHash==null) return redirect('login');
- if($user->id!=$userHash->users_id) return redirect('login');
- if((time()-strtotime($userHash->creation)) > 24*60*60){
- $userHash->delete();
- return redirect('login');
- }
- $user->password = Helper::encrypt($request->password,$email);
- $user->save();
- $userHash->delete();
- return redirect('login');
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement