diff --git a/lib/private/legacy/helper.php b/lib/private/legacy/helper.php index 67d70e10bc..626295af5a 100644 --- a/lib/private/legacy/helper.php +++ b/lib/private/legacy/helper.php @@ -43,6 +43,8 @@ * along with this program. If not, see * */ + +use OCP\IUser; use Symfony\Component\Process\ExecutableFinder; /** @@ -504,19 +506,14 @@ class OC_Helper { || $storage->instanceOfStorage('\OC\Files\ObjectStore\HomeObjectStoreStorage') ) { /** @var \OC\Files\Storage\Home $storage */ - $userInstance = $storage->getUser(); - $user = ($userInstance === null) ? null : $userInstance->getUID(); + $user = $storage->getUser(); } else { - $user = \OC::$server->getUserSession()->getUser()->getUID(); - } - if ($user) { - $quota = OC_Util::getUserQuota($user); - } else { - $quota = \OCP\Files\FileInfo::SPACE_UNLIMITED; + $user = \OC::$server->getUserSession()->getUser(); } + $quota = OC_Util::getUserQuota($user); if ($quota !== \OCP\Files\FileInfo::SPACE_UNLIMITED) { // always get free space / total space from root + mount points - return self::getGlobalStorageInfo(); + return self::getGlobalStorageInfo($quota); } } @@ -562,11 +559,10 @@ class OC_Helper { /** * Get storage info including all mount points and quota * + * @param int $quota * @return array */ - private static function getGlobalStorageInfo() { - $quota = OC_Util::getUserQuota(\OCP\User::getUser()); - + private static function getGlobalStorageInfo($quota) { $rootInfo = \OC\Files\Filesystem::getFileInfo('', 'ext'); $used = $rootInfo['size']; if ($used < 0) { diff --git a/lib/private/legacy/util.php b/lib/private/legacy/util.php index 9fce2993a2..f14095675d 100644 --- a/lib/private/legacy/util.php +++ b/lib/private/legacy/util.php @@ -251,8 +251,7 @@ class OC_Util { ) { /** @var \OC\Files\Storage\Home $storage */ if (is_object($storage->getUser())) { - $user = $storage->getUser()->getUID(); - $quota = OC_Util::getUserQuota($user); + $quota = OC_Util::getUserQuota($storage->getUser()); if ($quota !== \OCP\Files\FileInfo::SPACE_UNLIMITED) { return new \OC\Files\Storage\Wrapper\Quota(['storage' => $storage, 'quota' => $quota, 'root' => 'files']); } @@ -375,11 +374,10 @@ class OC_Util { /** * Get the quota of a user * - * @param string $userId + * @param IUser|null $user * @return float Quota bytes */ - public static function getUserQuota($userId) { - $user = \OC::$server->getUserManager()->get($userId); + public static function getUserQuota(?IUser $user) { if (is_null($user)) { return \OCP\Files\FileInfo::SPACE_UNLIMITED; }