/** * Run the request filter. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $reset = Password_reset::where('token', $request->token)->first(); if ($reset !== null) { if ($reset->created_at->diffInHours() === 0) { return $next($request); } $request->session()->flash('error', 'De token is verlopen. Vraag een nieuwe link aan.'); return \Redirect::route('reset.password'); } $request->session()->flash('error', 'De token is onjuist. Vraag een nieuwe link aan of neem contact op met de beheerder als het probleem zich blijft voortdoen.'); return \Redirect::route('reset.password'); }
/** * Resets the users password. * @param Request $request * @return void * @author David Bikanov */ public function doReset(Request $request) { $existingReset = Password_reset::where('email', $request->email)->where('token', $request->token)->first(); if ($existingReset !== null) { if ($request->password === $request->repeat - password) { $user = User::where('email', $request->email)->first(); $user->password = bcrypt($request->password); $user->save(); $existingReset->delete(); return redirect()->route('success'); } else { $request->session()->flash('message', 'De ingevoerde wachtwoorden komen niet overeen.'); return back()->withInput(); } } else { $request->session()->flash('message', 'Het ingevoerde e-mail adres is onjuist.'); return back()->withInput($request->except('email')); } }