Fix size propagation over shared storage boundary

remotes/origin/external-backend-ondemand
Vincent Petry 10 years ago
parent 9f5433c0c3
commit 4322287fc3
  1. 22
      apps/files_sharing/lib/cache.php

@ -394,6 +394,28 @@ class Shared_Cache extends Cache {
return $result;
}
/**
* update the folder size and the size of all parent folders
*
* @param string|boolean $path
* @param array $data (optional) meta data of the folder
*/
public function correctFolderSize($path, $data = null) {
$this->calculateFolderSize($path, $data);
if ($path !== '') {
$parent = dirname($path);
if ($parent === '.' or $parent === '/') {
$parent = '';
}
$this->correctFolderSize($parent);
} else {
// bubble up to source cache
$sourceCache = $this->getSourceCache($path);
$parent = dirname($this->files[$path]);
$sourceCache->correctFolderSize($parent);
}
}
/**
* get the size of a folder and set it in the cache
*

Loading…
Cancel
Save