/**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request $request
  * @param  \Closure $next
  * @param  string|null $guard
  * @return mixed
  */
 public function handle($request, Closure $next, $guard = null)
 {
     $auth = Auth::guard($guard);
     if ($auth->check()) {
         $redirect_url = null;
         $user = $auth->user();
         $activatePath = homePath('auth/activate');
         $inactivePath = homePath('auth/inactive');
         if (!$user->active) {
             if (!$request->is($activatePath . '/*') && !$request->is($inactivePath)) {
                 $redirect_url = homePath('auth/inactive', [], $user->settings->locale);
             }
         } else {
             $redirect_url = redirectUrlAfterLogin($user);
         }
         if (!empty($redirect_url)) {
             return redirect($redirect_url);
         }
     }
     return $next($request);
 }
Example #2
0
 public function getActivation($id, $activation_code)
 {
     // if user has logged in but has the id not equals $id, the activation will not process
     // due to the middleware 'guest' applied to this controller in the constructor
     $user = User::findOrFail($id);
     $active = $user->activation_code == $activation_code;
     if ($active) {
         $user->active = true;
         $user->save();
     }
     $this->theme->title(trans('pages.account_activate_title'));
     $this->theme->description(trans('pages.account_activate_title'));
     return view($this->themePage('auth.activate'), ['active' => $active, 'url' => $this->is_auth ? redirectUrlAfterLogin($this->auth_user) : homeUrl('auth/login')]);
 }