|
|
|
@ -161,7 +161,7 @@ class Quota extends Wrapper { |
|
|
|
$free = $this->free_space($path); |
|
|
|
if ($source && $free >= 0 && $mode !== 'r' && $mode !== 'rb') { |
|
|
|
// only apply quota for files, not metadata, trash or others
|
|
|
|
if (strpos(ltrim($path, '/'), 'files/') === 0) { |
|
|
|
if ($this->shouldApplyQuota($path)) { |
|
|
|
return \OC\Files\Stream\Quota::wrap($source, $free); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -182,6 +182,13 @@ class Quota extends Wrapper { |
|
|
|
return ($extension === 'part'); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Only apply quota for files, not metadata, trash or others |
|
|
|
*/ |
|
|
|
private function shouldApplyQuota(string $path): bool { |
|
|
|
return strpos(ltrim($path, '/'), 'files/') === 0; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @param IStorage $sourceStorage |
|
|
|
* @param string $sourceInternalPath |
|
|
|
@ -214,7 +221,7 @@ class Quota extends Wrapper { |
|
|
|
|
|
|
|
public function mkdir($path) { |
|
|
|
$free = $this->free_space($path); |
|
|
|
if ($free === 0.0) { |
|
|
|
if ($this->shouldApplyQuota($path) && $free === 0.0) { |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
|