aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Gapczynski <mtgap@owncloud.com>2013-01-01 11:19:33 -0500
committerMichael Gapczynski <mtgap@owncloud.com>2013-01-01 11:19:33 -0500
commitf2ca7023e1ece60dc3cebc5cd770c7373f53c93a (patch)
treee0d35fd7fbd71475422aa3dad9ef0fdf87e9850d
parent3ee3323b8766992a0b60bb76b909e49fc1ea76d2 (diff)
downloadnextcloud-server-f2ca7023e1ece60dc3cebc5cd770c7373f53c93a.tar.gz
nextcloud-server-f2ca7023e1ece60dc3cebc5cd770c7373f53c93a.zip
Fix Shared root problems with Watcher and Quota proxy
-rw-r--r--apps/files_sharing/lib/cache.php3
-rw-r--r--apps/files_sharing/lib/sharedstorage.php13
-rw-r--r--lib/fileproxy/quota.php4
3 files changed, 19 insertions, 1 deletions
diff --git a/apps/files_sharing/lib/cache.php b/apps/files_sharing/lib/cache.php
index a22e7af7f59..60f29ce5eeb 100644
--- a/apps/files_sharing/lib/cache.php
+++ b/apps/files_sharing/lib/cache.php
@@ -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]);
}
diff --git a/apps/files_sharing/lib/sharedstorage.php b/apps/files_sharing/lib/sharedstorage.php
index cb9b36482fa..3a1d7ef101a 100644
--- a/apps/files_sharing/lib/sharedstorage.php
+++ b/apps/files_sharing/lib/sharedstorage.php
@@ -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'];
diff --git a/lib/fileproxy/quota.php b/lib/fileproxy/quota.php
index 80270728aba..c333efa6cdf 100644
--- a/lib/fileproxy/quota.php
+++ b/lib/fileproxy/quota.php
@@ -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;
}