summaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/lib
diff options
context:
space:
mode:
authorMichael Gapczynski <mtgap@owncloud.com>2013-01-07 20:52:51 -0500
committerMichael Gapczynski <mtgap@owncloud.com>2013-01-07 20:52:51 -0500
commite8b195bf109d702402735e628b2d239b199088e5 (patch)
tree22d8920ea9ad18260b80d26848cd74928b269fd9 /apps/files_sharing/lib
parent8f8a5bbfb750b3c9091da810749a43cada2740b2 (diff)
downloadnextcloud-server-e8b195bf109d702402735e628b2d239b199088e5.tar.gz
nextcloud-server-e8b195bf109d702402735e628b2d239b199088e5.zip
Almost fix Shared scanner...
Diffstat (limited to 'apps/files_sharing/lib')
-rw-r--r--apps/files_sharing/lib/cache.php13
-rw-r--r--apps/files_sharing/lib/permissions.php2
-rw-r--r--apps/files_sharing/lib/share/file.php3
-rw-r--r--apps/files_sharing/lib/share/folder.php11
-rw-r--r--apps/files_sharing/lib/sharedstorage.php6
5 files changed, 26 insertions, 9 deletions
diff --git a/apps/files_sharing/lib/cache.php b/apps/files_sharing/lib/cache.php
index 8b989db3b07..d35a5148de2 100644
--- a/apps/files_sharing/lib/cache.php
+++ b/apps/files_sharing/lib/cache.php
@@ -137,6 +137,19 @@ class Shared_Cache extends Cache {
}
/**
+ * check if a file is available in the cache
+ *
+ * @param string $file
+ * @return bool
+ */
+ public function inCache($file) {
+ if ($file == '') {
+ return true;
+ }
+ return parent::inCache($file);
+ }
+
+ /**
* remove a file or folder from the cache
*
* @param string $file
diff --git a/apps/files_sharing/lib/permissions.php b/apps/files_sharing/lib/permissions.php
index 508c3a384f0..2b068ff9350 100644
--- a/apps/files_sharing/lib/permissions.php
+++ b/apps/files_sharing/lib/permissions.php
@@ -33,7 +33,7 @@ class Shared_Permissions extends Permissions {
if ($fileId == -1) {
return \OCP\PERMISSION_READ;
}
- $source = \OCP\Share::getItemSharedWithBySource('file', $fileId, \OC_Share_Backend_File::FORMAT_SHARED_STORAGE);
+ $source = \OCP\Share::getItemSharedWithBySource('file', $fileId, \OC_Share_Backend_File::FORMAT_SHARED_STORAGE, null, true);
if ($source) {
return $source['permissions'];
} else {
diff --git a/apps/files_sharing/lib/share/file.php b/apps/files_sharing/lib/share/file.php
index 5e98c455d35..6d3c55a008f 100644
--- a/apps/files_sharing/lib/share/file.php
+++ b/apps/files_sharing/lib/share/file.php
@@ -117,6 +117,9 @@ class OC_Share_Backend_File implements OCP\Share_Backend_File_Dependent {
}
public static function getSource($target) {
+ if ($target == '') {
+ return false;
+ }
$target = '/'.$target;
$target = rtrim($target, '/');
$pos = strpos($target, '/', 1);
diff --git a/apps/files_sharing/lib/share/folder.php b/apps/files_sharing/lib/share/folder.php
index bbe4c130bdd..11c8c6b1e80 100644
--- a/apps/files_sharing/lib/share/folder.php
+++ b/apps/files_sharing/lib/share/folder.php
@@ -24,6 +24,13 @@ class OC_Share_Backend_Folder extends OC_Share_Backend_File implements OCP\Share
public function getChildren($itemSource) {
$children = array();
$parents = array($itemSource);
+ $query = \OC_DB::prepare('SELECT `id` FROM `*PREFIX*mimetypes` WHERE `mimetype` = ?');
+ $result = $query->execute(array('httpd/unix-directory'));
+ if ($row = $result->fetchRow()) {
+ $mimetype = $row['id'];
+ } else {
+ $mimetype = -1;
+ }
while (!empty($parents)) {
$parents = "'".implode("','", $parents)."'";
$query = OC_DB::prepare('SELECT `fileid`, `name`, `mimetype` FROM `*PREFIX*filecache` WHERE `parent` IN ('.$parents.')');
@@ -32,8 +39,8 @@ class OC_Share_Backend_Folder extends OC_Share_Backend_File implements OCP\Share
while ($file = $result->fetchRow()) {
$children[] = array('source' => $file['fileid'], 'file_path' => $file['name']);
// If a child folder is found look inside it
- if ($file['mimetype'] == 'httpd/unix-directory') {
- $parents[] = $file['id'];
+ if ($file['mimetype'] == $mimetype) {
+ $parents[] = $file['fileid'];
}
}
}
diff --git a/apps/files_sharing/lib/sharedstorage.php b/apps/files_sharing/lib/sharedstorage.php
index 24096e0c10c..c8756af8ed7 100644
--- a/apps/files_sharing/lib/sharedstorage.php
+++ b/apps/files_sharing/lib/sharedstorage.php
@@ -408,12 +408,6 @@ class Shared extends \OC\Files\Storage\Common {
}
public function getScanner($path = '') {
- if ($path != '' && ($source = $this->getSourcePath($path))) {
- list($storage, $internalPath) = \OC\Files\Filesystem::resolvePath($source);
- if ($storage) {
- return $storage->getScanner($internalPath);
- }
- }
return new \OC\Files\Cache\Scanner($this);
}