/** * This is basically the 'Login' function. * It cycles through different possible locations for the user, * lastly checking if a login is occurring. * * @return User object. FALSE on fail. */ static function GetCurrent() { // session? if ($session = AppUser::GetSession()) { if ($user = AppUser::FetchFromString($session)) { return $user; } } elseif ($cookie = AppUser::GetCookie()) { if ($user = AppUser::FetchFromString($cookie)) { return $user; } } elseif (Url::GetRequest('check_data', false) && ($email = Url::GetRequest('email', false)) && ($password = Url::GetRequest('password', false))) { // valid? if (($user = AppUser::FetchUser($email)) && $user->validate($password)) { return AppUser::SetCurrent($user); } else { Error::Set("Invalid Email and/or Password", 'validation'); } } // create Guest... return AppModel::Create(AppUser::$levels[0]); }