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