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');
}
if($userQuota=='none') {
$this->userQuota[$user]=0;
$this->userQuota[$user]=-1;
}else{
$this->userQuota[$user]=OC_Helper::computerFileSize($userQuota);
}
@ -61,8 +61,8 @@ class OC_FileProxy_Quota extends OC_FileProxy{
$owner=$storage->getOwner($path);
$totalSpace=$this->getQuota($owner);
if($totalSpace==0) {
return 0;
if($totalSpace==-1) {
return -1;
}
$rootInfo=OC_FileCache::get('', "/".$owner."/files");
@ -79,7 +79,7 @@ class OC_FileProxy_Quota extends OC_FileProxy{
public function postFree_space($path, $space) {
$free=$this->getFreeSpace($path);
if($free==0) {
if($free==-1) {
return $space;
}
return min($free, $space);
@ -89,21 +89,21 @@ class OC_FileProxy_Quota extends OC_FileProxy{
if (is_resource($data)) {
$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) {
if(!self::$rootView) {
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) {
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) {
return (filesize($tmpfile)<$this->getFreeSpace($path) or $this->getFreeSpace($path)==0);
return (filesize($tmpfile)<$this->getFreeSpace($path) or $this->getFreeSpace($path)==-1);
}
}