summaryrefslogtreecommitdiffstats
path: root/lib/public/share.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/public/share.php')
-rw-r--r--lib/public/share.php22
1 files changed, 16 insertions, 6 deletions
diff --git a/lib/public/share.php b/lib/public/share.php
index bc0e3f15c53..9a24192b4c8 100644
--- a/lib/public/share.php
+++ b/lib/public/share.php
@@ -123,25 +123,31 @@ class Share {
return $path;
}
-
+
/**
* @brief Find which users can access a shared item
* @param $path to the file
* @param $user owner of the file
* @param include owner to the list of users with access to the file
* @return array
- * @note $path needs to be relative to user data dir, e.g. 'file.txt'
+ * @note $path needs to be relative to user data dir, e.g. 'file.txt'
* not '/admin/data/file.txt'
*/
public static function getUsersSharingFile($path, $user, $includeOwner = false) {
$shares = array();
$publicShare = false;
+ $source = '-1';
+ $cache = false;
+
$view = new \OC\Files\View('/' . $user . '/files/');
$meta = $view->getFileInfo(\OC_Filesystem::normalizePath($path));
- $source = $meta['fileid'];
- $cache = new \OC\Files\Cache\Cache($meta['storage']);
-
+
+ if($meta !== false) {
+ $source = $meta['fileid'];
+ $cache = new \OC\Files\Cache\Cache($meta['storage']);
+ }
+
while ($source !== '-1') {
// Fetch all shares of this file path from DB
@@ -206,7 +212,11 @@ class Share {
// let's get the parent for the next round
$meta = $cache->get((int)$source);
- $source = $meta['parent'];
+ if($meta !== false) {
+ $source = $meta['parent'];
+ } else {
+ $source = '-1';
+ }
}
// Include owner in list of users, if requested
if ($includeOwner) {