Browse Source

Merge pull request #19782 from nextcloud/quota-wrapper-include-external

Use global used space in quota wrappen when external storage is included
tags/v19.0.0beta1
Roeland Jago Douma 4 years ago
parent
commit
b300dc5a50
No account linked to committer's email address
1 changed files with 18 additions and 9 deletions
  1. 18
    9
      lib/private/Files/Storage/Wrapper/Quota.php

+ 18
- 9
lib/private/Files/Storage/Wrapper/Quota.php View File

@@ -29,6 +29,7 @@

namespace OC\Files\Storage\Wrapper;

use OC\Files\Filesystem;
use OCP\Files\Cache\ICacheEntry;
use OCP\Files\Storage\IStorage;

@@ -44,6 +45,8 @@ class Quota extends Wrapper {
*/
protected $sizeRoot;

private $config;

/**
* @param array $parameters
*/
@@ -51,6 +54,7 @@ class Quota extends Wrapper {
parent::__construct($parameters);
$this->quota = $parameters['quota'];
$this->sizeRoot = isset($parameters['root']) ? $parameters['root'] : '';
$this->config = \OC::$server->getSystemConfig();
}

/**
@@ -65,16 +69,21 @@ class Quota extends Wrapper {
* @param \OC\Files\Storage\Storage $storage
*/
protected function getSize($path, $storage = null) {
if (is_null($storage)) {
$cache = $this->getCache();
} else {
$cache = $storage->getCache();
}
$data = $cache->get($path);
if ($data instanceof ICacheEntry and isset($data['size'])) {
return $data['size'];
if ($this->config->getValue('quota_include_external_storage', false)) {
$rootInfo = Filesystem::getFileInfo('', 'ext');
return $rootInfo->getSize(true);
} else {
return \OCP\Files\FileInfo::SPACE_NOT_COMPUTED;
if (is_null($storage)) {
$cache = $this->getCache();
} else {
$cache = $storage->getCache();
}
$data = $cache->get($path);
if ($data instanceof ICacheEntry and isset($data['size'])) {
return $data['size'];
} else {
return \OCP\Files\FileInfo::SPACE_NOT_COMPUTED;
}
}
}


Loading…
Cancel
Save