From de58364eb850a918ed84df84983c620b31493606 Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Tue, 16 Feb 2016 18:45:25 +0100 Subject: [PATCH] Handles null as return code and uses proper UserFolder in trashbin --- apps/files_trashbin/lib/trashbin.php | 16 ++++++++++------ lib/private/server.php | 2 +- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/apps/files_trashbin/lib/trashbin.php b/apps/files_trashbin/lib/trashbin.php index c91cfe082f..62d70d7356 100644 --- a/apps/files_trashbin/lib/trashbin.php +++ b/apps/files_trashbin/lib/trashbin.php @@ -561,11 +561,12 @@ class Trashbin { * @return int available free space for trash bin */ private static function calculateFreeSpace($trashbinSize, $user) { - $config = \OC::$server->getConfig(); - $softQuota = true; - $quota = \OC::$server->getUserManager()->get($user)->getQuota(); - $view = new \OC\Files\View('/' . $user); + $userObject = \OC::$server->getUserManager()->get($user); + if(is_null($userObject)) { + return 0; + } + $quota = $userObject->getQuota(); if ($quota === null || $quota === 'none') { $quota = \OC\Files\Filesystem::free_space('/'); $softQuota = false; @@ -580,8 +581,11 @@ class Trashbin { // calculate available space for trash bin // subtract size of files and current trash bin size from quota if ($softQuota) { - $rootInfo = $view->getFileInfo('/files/', false); - $free = $quota - $rootInfo['size']; // remaining free space for user + $userFolder = \OC::$server->getUserFolder($user); + if(is_null($userFolder)) { + return 0; + } + $free = $quota - $userFolder->getSize(); // remaining free space for user if ($free > 0) { $availableSpace = ($free * self::DEFAULTMAXSIZE / 100) - $trashbinSize; // how much space can be used for versions } else { diff --git a/lib/private/server.php b/lib/private/server.php index b52c5188a7..ef4764d07c 100644 --- a/lib/private/server.php +++ b/lib/private/server.php @@ -730,7 +730,7 @@ class Server extends ServerContainer implements IServerContainer { * Returns a view to ownCloud's files folder * * @param string $userId user ID - * @return \OCP\Files\Folder + * @return \OCP\Files\Folder|null */ public function getUserFolder($userId = null) { if ($userId === null) {