diff --git a/apps/files_trashbin/lib/trashbin.php b/apps/files_trashbin/lib/trashbin.php index 65ffa11c08a2..69636fa09882 100644 --- a/apps/files_trashbin/lib/trashbin.php +++ b/apps/files_trashbin/lib/trashbin.php @@ -596,8 +596,8 @@ private static function calculateFreeSpace($trashbinSize, $user) { if(is_null($userObject)) { return 0; } - $quota = $userObject->getQuota(); - if ($quota === null || $quota === 'none') { + $quota = \OC_Util::getUserQuota($userObject); + if ($quota === \OCP\Files\FileInfo::SPACE_UNLIMITED) { $quota = Filesystem::free_space('/'); $softQuota = false; // inf or unknown free space diff --git a/apps/files_versions/lib/storage.php b/apps/files_versions/lib/storage.php index baf7ff7f95dd..537cbb600700 100644 --- a/apps/files_versions/lib/storage.php +++ b/apps/files_versions/lib/storage.php @@ -715,8 +715,8 @@ public static function expire($filename, $uid) { $versionsFileview = new View('/'.$uid.'/files_versions'); $softQuota = true; - $quota = $user->getQuota(); - if ( $quota === null || $quota === 'none' ) { + $quota = \OC_Util::getUserQuota($user); + if ($quota === \OCP\Files\FileInfo::SPACE_UNLIMITED) { $quota = Filesystem::free_space('/'); $softQuota = false; } else { diff --git a/lib/private/user/user.php b/lib/private/user/user.php index c3d0baee80e7..b8a2a420bc22 100644 --- a/lib/private/user/user.php +++ b/lib/private/user/user.php @@ -341,11 +341,7 @@ public function getEMailAddress() { * @since 9.0.0 */ public function getQuota() { - $quota = $this->config->getUserValue($this->uid, 'files', 'quota', 'default'); - if($quota === 'default') { - $quota = $this->config->getAppValue('files', 'default_quota', 'none'); - } - return $quota; + return $this->config->getUserValue($this->uid, 'files', 'quota', 'default'); } /** diff --git a/lib/private/util.php b/lib/private/util.php index 61e1f84e2e85..f902637831cc 100644 --- a/lib/private/util.php +++ b/lib/private/util.php @@ -287,16 +287,23 @@ public static function isDefaultExpireDateEnforced() { /** * Get the quota of a user * - * @param string $userId + * @param string|IUser $userId * @return int Quota bytes */ public static function getUserQuota($userId) { - $user = \OC::$server->getUserManager()->get($userId); + if ($userId instanceof IUser) { + $user = $userId; + } else { + $user = \OC::$server->getUserManager()->get($userId); + } if (is_null($user)) { return \OCP\Files\FileInfo::SPACE_UNLIMITED; } $userQuota = $user->getQuota(); - if($userQuota === 'none') { + if ($userQuota === null || $userQuota === 'default') { + $userQuota = \OC::$server->getConfig()->getAppValue('files', 'default_quota', 'none'); + } + if ($userQuota === null || $userQuota === 'none') { return \OCP\Files\FileInfo::SPACE_UNLIMITED; } return OC_Helper::computerFileSize($userQuota);