summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2016-02-16 18:45:25 +0100
committerMorris Jobke <hey@morrisjobke.de>2016-02-16 18:45:25 +0100
commitde58364eb850a918ed84df84983c620b31493606 (patch)
treeff2c4e8c79d2be866ff540b27e46ed8b1dfa8cf0
parentc6b24573066cfc87b73b1b61b41032b8c5a406cf (diff)
downloadnextcloud-server-de58364eb850a918ed84df84983c620b31493606.tar.gz
nextcloud-server-de58364eb850a918ed84df84983c620b31493606.zip
Handles null as return code and uses proper UserFolder in trashbin
-rw-r--r--apps/files_trashbin/lib/trashbin.php16
-rw-r--r--lib/private/server.php2
2 files changed, 11 insertions, 7 deletions
diff --git a/apps/files_trashbin/lib/trashbin.php b/apps/files_trashbin/lib/trashbin.php
index c91cfe082fd..62d70d7356a 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 b52c5188a7b..ef4764d07cf 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) {