Beispiel #1
0
 /**
  * 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]);
 }