Example #1
0
 /**
  * Retrieves the currently logged in AVUser with a valid session,
  * either from memory or the storage provider, if necessary.
  *
  * @return AVUser|null
  */
 public static function getCurrentUser()
 {
     if (static::$currentUser instanceof AVUser) {
         return static::$currentUser;
     }
     $storage = AVClient::getStorage();
     $userData = $storage->get("user");
     if ($userData instanceof AVUser) {
         static::$currentUser = $userData;
         return $userData;
     }
     if (isset($userData["id"]) && isset($userData["_sessionToken"])) {
         $user = AVUser::create("_User", $userData["id"]);
         unset($userData["id"]);
         $user->_sessionToken = $userData["_sessionToken"];
         unset($userData["_sessionToken"]);
         foreach ($userData as $key => $value) {
             $user->set($key, $value);
         }
         $user->_opSetQueue = array();
         static::$currentUser = $user;
         return $user;
     }
     return null;
 }