예제 #1
0
 /**
  * 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()->put('error', 'De token is verlopen. Vraag een nieuwe link aan.');
         return \Redirect::to('reset-password');
     }
     $request->session()->put('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::to('reset-password');
 }
 /**
  * Resets the users password.
  * @param Request $request
  * @return $this|\Illuminate\Http\RedirectResponse
  * @author David Bikanov
  */
 public function doReset(Request $request)
 {
     $existingReset = Password_reset::where('email', $request->request->get('email'))->where('token', $request->request->get('token'))->first();
     if ($existingReset !== null) {
         if ($request->input('password') === $request->input('repeat-password')) {
             $user = User::where('email', $request->request->get('email'))->first();
             $user->password = \Hash::make($request->input('password'));
             $user->save();
             $existingReset->delete();
             return \Redirect::to('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(\Input::except('email'));
     }
 }