Fix Shared root problems with Watcher and Quota proxy

This commit is contained in:
Michael Gapczynski 2013-01-01 11:19:33 -05:00
parent 3ee3323b87
commit f2ca7023e1
3 changed files with 19 additions and 1 deletions

View file

@ -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]);
}

View 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'];

View file

@ -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;
}