public function loginDoctor() { $username = Input::get('user'); $password = Input::get('pass'); $token = Input::get('token'); try { if (str_contains($username, '@')) { Config::set('cartalyst/sentry::users.login_attribute', 'email'); $input = array('email' => $username, 'password' => $password); } else { Config::set('cartalyst/sentry::users.login_attribute', 'username'); $input = array('username' => $username, 'password' => $password); } Sentry::authenticate($input, Input::has('remember')); $user = Sentry::getUser(); $doctor = Doctor::where('user_id', $user->id)->first(); $clinic = Clinic::where('user_id', $user->id)->first(); if ($doctor) { $token = Helpers::createTokenUser($user->id); $mgs = array('access' => 'ok', 'token' => $token, 'doctor_id' => $doctor->id, 'name_full' => $user->first_name . " " . $user->last_name); return Helpers::Mgs($mgs); } else { if ($clinic) { $token = Helpers::createTokenUser($user->id); $mgs = array('access' => 'ok', 'token' => $token, 'clinic_id' => $clinic->id); return Helpers::Mgs($mgs); } else { return Helpers::Mgs("Doctor not found."); } } } catch (\Cartalyst\Sentry\Users\LoginRequiredException $e) { return Helpers::Mgs("Login field is required."); } catch (\Cartalyst\Sentry\Users\PasswordRequiredException $e) { return Helpers::Mgs("Password field is required."); } catch (\Cartalyst\Sentry\Users\UserNotFoundException $e) { return Helpers::Mgs("User not found."); } catch (\Cartalyst\Sentry\Users\UserNotActivatedException $e) { return Helpers::Mgs("User not activated."); } catch (\Cartalyst\Sentry\Throttling\UserSuspendedException $e) { $time = $throttle->getSuspensionTime(); return Helpers::Mgs("User is suspended for [{$time}] minutes."); } catch (\Cartalyst\Sentry\Throttling\UserBannedException $e) { return Helpers::Mgs("User is banned."); } }