Browse Source

Keep user quota into account when the storage backend has unkown free space

tags/v5.0.0beta1
Robin Appelman 11 years ago
parent
commit
451daf3ab1
1 changed files with 9 additions and 6 deletions
  1. 9
    6
      lib/fileproxy/quota.php

+ 9
- 6
lib/fileproxy/quota.php View File

@@ -62,21 +62,21 @@ class OC_FileProxy_Quota extends OC_FileProxy{
* @var string $internalPath
*/
list($storage, $internalPath) = \OC\Files\Filesystem::resolvePath($path);
$owner=$storage->getOwner($internalPath);
$owner = $storage->getOwner($internalPath);
if (!$owner) {
return -1;
}

$totalSpace=$this->getQuota($owner);
if($totalSpace==-1) {
$totalSpace = $this->getQuota($owner);
if($totalSpace == -1) {
return -1;
}

$view = new \OC\Files\View("/".$owner."/files");

$rootInfo=$view->getFileInfo('/');
$usedSpace=isset($rootInfo['size'])?$rootInfo['size']:0;
return $totalSpace-$usedSpace;
$rootInfo = $view->getFileInfo('/');
$usedSpace = isset($rootInfo['size'])?$rootInfo['size']:0;
return $totalSpace - $usedSpace;
}

public function postFree_space($path, $space) {
@@ -84,6 +84,9 @@ class OC_FileProxy_Quota extends OC_FileProxy{
if($free==-1) {
return $space;
}
if ($space < 0){
return $free;
}
return min($free, $space);
}


Loading…
Cancel
Save