aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/lib/Controllers/ShareController.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_sharing/lib/Controllers/ShareController.php')
-rw-r--r--apps/files_sharing/lib/Controllers/ShareController.php27
1 files changed, 12 insertions, 15 deletions
diff --git a/apps/files_sharing/lib/Controllers/ShareController.php b/apps/files_sharing/lib/Controllers/ShareController.php
index 56f94b91c80..11359e5f2f2 100644
--- a/apps/files_sharing/lib/Controllers/ShareController.php
+++ b/apps/files_sharing/lib/Controllers/ShareController.php
@@ -285,19 +285,6 @@ class ShareController extends Controller {
throw $e;
}
- $rootFolder = null;
- if ($share->getNode() instanceof \OCP\Files\Folder) {
- /** @var \OCP\Files\Folder $rootFolder */
- $rootFolder = $share->getNode();
-
- try {
- $path = $rootFolder->get($path);
- } catch (\OCP\Files\NotFoundException $e) {
- $this->emitAccessShareHook($share, 404, 'Share not found');
- throw new NotFoundException();
- }
- }
-
$shareTmpl = [];
$shareTmpl['displayName'] = $this->userManager->get($share->getShareOwner())->getDisplayName();
$shareTmpl['owner'] = $share->getShareOwner();
@@ -316,7 +303,17 @@ class ShareController extends Controller {
// Show file list
$hideFileList = false;
if ($share->getNode() instanceof \OCP\Files\Folder) {
- $shareTmpl['dir'] = $rootFolder->getRelativePath($path->getPath());
+ /** @var \OCP\Files\Folder $rootFolder */
+ $rootFolder = $share->getNode();
+
+ try {
+ $folderNode = $rootFolder->get($path);
+ } catch (\OCP\Files\NotFoundException $e) {
+ $this->emitAccessShareHook($share, 404, 'Share not found');
+ throw new NotFoundException();
+ }
+
+ $shareTmpl['dir'] = $rootFolder->getRelativePath($folderNode->getPath());
/*
* The OC_Util methods require a view. This just uses the node API
@@ -333,7 +330,7 @@ class ShareController extends Controller {
$hideFileList = $share->getPermissions() & \OCP\Constants::PERMISSION_READ ? false : true;
$folder = new Template('files', 'list', '');
- $folder->assign('dir', $rootFolder->getRelativePath($path->getPath()));
+ $folder->assign('dir', $rootFolder->getRelativePath($folderNode->getPath()));
$folder->assign('dirToken', $token);
$folder->assign('permissions', \OCP\Constants::PERMISSION_READ);
$folder->assign('isPublic', true);