/**
  * 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'));
     }
 }