fix quota off by one error

This commit is contained in:
Jörn Friedrich Dreyer 2012-11-09 14:34:15 +01:00
parent c053863644
commit c5ba4f476a
1 changed files with 8 additions and 8 deletions

View File

@ -43,7 +43,7 @@ class OC_FileProxy_Quota extends OC_FileProxy{
$userQuota=OC_AppConfig::getValue('files', 'default_quota', 'none'); $userQuota=OC_AppConfig::getValue('files', 'default_quota', 'none');
} }
if($userQuota=='none') { if($userQuota=='none') {
$this->userQuota[$user]=0; $this->userQuota[$user]=-1;
}else{ }else{
$this->userQuota[$user]=OC_Helper::computerFileSize($userQuota); $this->userQuota[$user]=OC_Helper::computerFileSize($userQuota);
} }
@ -61,8 +61,8 @@ class OC_FileProxy_Quota extends OC_FileProxy{
$owner=$storage->getOwner($path); $owner=$storage->getOwner($path);
$totalSpace=$this->getQuota($owner); $totalSpace=$this->getQuota($owner);
if($totalSpace==0) { if($totalSpace==-1) {
return 0; return -1;
} }
$rootInfo=OC_FileCache::get('', "/".$owner."/files"); $rootInfo=OC_FileCache::get('', "/".$owner."/files");
@ -79,7 +79,7 @@ class OC_FileProxy_Quota extends OC_FileProxy{
public function postFree_space($path, $space) { public function postFree_space($path, $space) {
$free=$this->getFreeSpace($path); $free=$this->getFreeSpace($path);
if($free==0) { if($free==-1) {
return $space; return $space;
} }
return min($free, $space); return min($free, $space);
@ -89,21 +89,21 @@ class OC_FileProxy_Quota extends OC_FileProxy{
if (is_resource($data)) { if (is_resource($data)) {
$data = '';//TODO: find a way to get the length of the stream without emptying it $data = '';//TODO: find a way to get the length of the stream without emptying it
} }
return (strlen($data)<$this->getFreeSpace($path) or $this->getFreeSpace($path)==0); return (strlen($data)<$this->getFreeSpace($path) or $this->getFreeSpace($path)==-1);
} }
public function preCopy($path1, $path2) { public function preCopy($path1, $path2) {
if(!self::$rootView) { if(!self::$rootView) {
self::$rootView = new OC_FilesystemView(''); self::$rootView = new OC_FilesystemView('');
} }
return (self::$rootView->filesize($path1)<$this->getFreeSpace($path2) or $this->getFreeSpace($path2)==0); return (self::$rootView->filesize($path1)<$this->getFreeSpace($path2) or $this->getFreeSpace($path2)==-1);
} }
public function preFromTmpFile($tmpfile, $path) { public function preFromTmpFile($tmpfile, $path) {
return (filesize($tmpfile)<$this->getFreeSpace($path) or $this->getFreeSpace($path)==0); return (filesize($tmpfile)<$this->getFreeSpace($path) or $this->getFreeSpace($path)==-1);
} }
public function preFromUploadedFile($tmpfile, $path) { public function preFromUploadedFile($tmpfile, $path) {
return (filesize($tmpfile)<$this->getFreeSpace($path) or $this->getFreeSpace($path)==0); return (filesize($tmpfile)<$this->getFreeSpace($path) or $this->getFreeSpace($path)==-1);
} }
} }