Esempio n. 1
0
 /**
  * @param Request $request
  * @return $this
  */
 public function postLogin(Request $request)
 {
     $this->validate($request, ['login' => 'required', 'password' => 'required']);
     $login = $request->input('login');
     if (!filter_var($login, FILTER_VALIDATE_EMAIL)) {
         // It's not an email address - try and find the user from our Pilots!
         if ($pilot = Pilot::where('username', '=', $login)->first()) {
             // Login with this user's email address!
             $login = $pilot->user->email;
             Session::put('airlineId', $pilot->airline->id);
             return $this->doEmailLogin($login, $request->input('password'), $request->has('remember'));
         } else {
             return $this->loginError($login);
         }
     }
     // We have an email address -> this is not supported!
     return $this->loginError($login);
 }
Esempio n. 2
0
 public static function getCurrentPilot()
 {
     return Pilot::where('user_id', '=', Request::user()->id)->where('airline_id', '=', Airline::find(Session::get('airlineId'))->id)->first();
 }
Esempio n. 3
0
 private function handleManualLogin($request)
 {
     $this->smartCARSService->clearOldSessions();
     if (!filter_var($this->userid, FILTER_VALIDATE_EMAIL)) {
         // It's not an email address - try and find the user from our Pilots!
         if ($pilot = Pilot::where('username', '=', $this->userid)->first()) {
             if (password_verify($request->input('password'), $pilot->user->password)) {
                 // Success!
                 // todo check inactivity
                 $ret = ['dbid' => $pilot->id, 'code' => $pilot->airline->prefix, 'pilotid' => str_replace($pilot->airline->prefix, '', $pilot->username), 'firstname' => $pilot->user->first_name, 'lastname' => $pilot->user->last_name, 'email' => $pilot->user->email, 'ranklevel' => $pilot->rank->level, 'rankstring' => $pilot->rank->name];
                 $this->smartCARSService->writeSessionId($pilot->id, $request->input('sessionid'));
                 $result = $this->smartCARSService->sanitizeResult($ret);
                 if ($request->input('new') == 'true') {
                     return implode(",", [$result['dbid'], $result['code'], $result['pilotid'], $request->input('sessionid'), $result['firstname'], $result['lastname'], $result['email'], $result['ranklevel'], $result['rankstring']]);
                 }
                 return implode(",", [$result['dbid'], $result['code'], $result['pilotid'], $request->input('sessionid'), $result['firstname'], $result['lastname'], $result['ranklevel'], $result['rankstring']]);
             }
         }
     }
     return "AUTH_FAILED";
 }