/**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     //dd($request->name);
     $fb_user = FacebookUser::find($request->id);
     //Create FB User if not exists
     if (is_null($fb_user)) {
         $fb_user = new FacebookUser();
         $fb_user->id = $request->id;
         $fb_user->name = $request->name;
         $fb_user->email = $request->email;
         $fb_user->token = $request->access_token;
         $fb_user->save();
     }
     // if fb user found in accounts link, retrieve user and authenticate
     $link = $fb_user->user();
     if (!is_null($link)) {
         $user = User::find($link->id);
     } else {
         $user = User::where('email', '=', $fb_user->email)->first();
         if (is_null($user)) {
             // fb user not in accounts link, nor user table, so create a new account
             $user = new User();
             $user->first_name = $request->name;
             $user->email = $request->email;
             $user->save();
         }
         //Create an Account link fb <-> user
         $link = new AccountLink();
         $link->user_id = $user->id;
         $link->app_type_id = 2;
         // from table acount_types;
         $link->app_user_id = $fb_user->id;
         $link->save();
     }
     // Authenticate
     \Auth::login($user);
     // Go to  user's landing page
     return "/scores/" . $user->id . "/show";
     //return new RedirectResponse(route('scores.user.show', array($user->id)));
     //$user = User::find($user_id);
     //$user = Auth::loginUsingId($userID);
     //return new RedirectResponse(route('scores.user.show', array($user->id)));
     //$user = \Auth::login($user);
     //return new RedirectResponse(route('scores.user.show', array($user->id)));
     ////If player go to Player Profile page
     //if ($user->player_id > 0){
     //	return new RedirectResponse(action('PlayersJournalController@index', array($user->player_id)));
     //}elseif ($lastLogin->diff($today)->days > 7){
     //	/* Remind user to link their account to USAR */
     //	return new RedirectResponse(action('Users\UserInfoController@show_linkUsar', array($user->id)));
     //}else {
     //	return new RedirectResponse(url('/home'));
     //}
     //return $next($request);
 }
Example #2
0
 public function handle($request, Closure $next, $guard = null)
 {
     \App::setLocale(config('gtcmslang.defaultAdminLocale'));
     $showLoginMessage = true;
     if (config('gtcms.adminAutoLogin') && \Auth::guest()) {
         $user = User::where('role', 'admin')->first();
         \Auth::login($user);
         $showLoginMessage = false;
     }
     $allowedUserRoles = config('gtcms.allowedUserRoles');
     if (\Auth::guest() || !in_array(\Auth::user()->role, $allowedUserRoles)) {
         if (\Route::current()->uri() != "admin/login") {
             if (\Request::ajax() && \Request::get('getIgnore_isAjax')) {
                 $data = array('success' => false, 'message' => "Session timeout", 'redirectToLogin' => true);
                 return \Response::json($data);
             } else {
                 return \Redirect::to('/admin/login');
             }
         }
     } else {
         if (\Route::current()->uri() == "admin/login") {
             if ($showLoginMessage) {
                 MessageManager::setError(trans('gtcms.alreadyLoggedIn'));
             }
             return \Redirect::to("/admin");
         }
     }
     if (\Session::get('accessDenied')) {
         if (\Route::currentRouteName() != "restricted") {
             \Session::put('accessDenied', true);
             return \Redirect::to('/access-denied');
         }
     } else {
         if (\Route::currentRouteName() == "restricted") {
             MessageManager::setError(trans('gtcms.accessGranted'));
             \Session::put('accessDenied', false);
             return \Redirect::to("/admin");
         }
     }
     return $next($request);
 }