/** * @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); }
public static function getCurrentPilot() { return Pilot::where('user_id', '=', Request::user()->id)->where('airline_id', '=', Airline::find(Session::get('airlineId'))->id)->first(); }
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"; }