Fix Shared root problems with Watcher and Quota proxy
This commit is contained in:
parent
3ee3323b87
commit
f2ca7023e1
3 changed files with 19 additions and 1 deletions
|
@ -169,6 +169,9 @@ class Shared_Cache extends Cache {
|
|||
* @return int, Cache::NOT_FOUND, Cache::PARTIAL, Cache::SHALLOW or Cache::COMPLETE
|
||||
*/
|
||||
public function getStatus($file) {
|
||||
if ($file == '') {
|
||||
return self::COMPLETE;
|
||||
}
|
||||
if ($cache = $this->getSourceCache($file)) {
|
||||
return $cache->getStatus($this->files[$file]);
|
||||
}
|
||||
|
|
|
@ -364,6 +364,9 @@ class Shared extends \OC\Files\Storage\Common {
|
|||
}
|
||||
|
||||
public function free_space($path) {
|
||||
if ($path == '') {
|
||||
return -1;
|
||||
}
|
||||
$source = $this->getSourcePath($path);
|
||||
if ($source) {
|
||||
list($storage, $internalPath) = \OC\Files\Filesystem::resolvePath($source);
|
||||
|
@ -391,6 +394,13 @@ class Shared extends \OC\Files\Storage\Common {
|
|||
\OC\Files\Filesystem::mount('\OC\Files\Storage\Shared', array('sharedFolder' => '/Shared'), $user_dir.'/Shared/');
|
||||
}
|
||||
|
||||
public function hasUpdated($path, $time) {
|
||||
if ($path == '') {
|
||||
return false;
|
||||
}
|
||||
return $this->filemtime($path) > $time;
|
||||
}
|
||||
|
||||
public function getCache() {
|
||||
return new \OC\Files\Cache\Shared_Cache($this);
|
||||
}
|
||||
|
@ -404,6 +414,9 @@ class Shared extends \OC\Files\Storage\Common {
|
|||
}
|
||||
|
||||
public function getOwner($path) {
|
||||
if ($path == '') {
|
||||
return false;
|
||||
}
|
||||
$source = $this->getFile($path);
|
||||
if ($source) {
|
||||
return $source['uid_owner'];
|
||||
|
|
|
@ -63,6 +63,9 @@ class OC_FileProxy_Quota extends OC_FileProxy{
|
|||
*/
|
||||
list($storage, $internalPath) = \OC\Files\Filesystem::resolvePath($path);
|
||||
$owner=$storage->getOwner($internalPath);
|
||||
if (!$owner) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
$totalSpace=$this->getQuota($owner);
|
||||
if($totalSpace==-1) {
|
||||
|
@ -73,7 +76,6 @@ class OC_FileProxy_Quota extends OC_FileProxy{
|
|||
|
||||
$rootInfo=$view->getFileInfo('/');
|
||||
$usedSpace=isset($rootInfo['size'])?$rootInfo['size']:0;
|
||||
$usedSpace=isset($sharedInfo['size'])?$usedSpace-$sharedInfo['size']:$usedSpace;
|
||||
return $totalSpace-$usedSpace;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue