diff --git a/lib/public/share.php b/lib/public/share.php index 63645e6fa3..b38208bc67 100644 --- a/lib/public/share.php +++ b/lib/public/share.php @@ -209,7 +209,7 @@ class Share { } } } - + // let's get the parent for the next round $meta = $cache->get((int)$source); if($meta !== false) { @@ -840,7 +840,11 @@ class Share { // Get filesystem root to add it to the file target and remove from the // file source, match file_source with the file cache if ($itemType == 'file' || $itemType == 'folder') { - $root = \OC\Files\Filesystem::getRoot(); + if(!is_null($uidOwner)) { + $root = \OC\Files\Filesystem::getRoot(); + } else { + $root = ''; + } $where = 'INNER JOIN `*PREFIX*filecache` ON `file_source` = `*PREFIX*filecache`.`fileid`'; if (!isset($item)) { $where .= ' WHERE `file_target` IS NOT NULL'; @@ -1303,11 +1307,11 @@ class Share { 'run' => &$run, 'error' => &$error )); - + if ($run === false) { throw new \Exception($error); } - + if (isset($fileSource)) { if ($parentFolder) { if ($parentFolder === true) { @@ -1398,11 +1402,11 @@ class Share { 'run' => &$run, 'error' => &$error )); - + if ($run === false) { throw new \Exception($error); } - + if (isset($fileSource)) { if ($parentFolder) { if ($parentFolder === true) {