From: Robin Appelman Date: Wed, 21 Sep 2016 16:55:58 +0000 (+0200) Subject: get node by path as fallback X-Git-Tag: v11.0RC2~460^2~3 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=f63f0aa1ae338b6599a591faf9d35d82e9f78457;p=nextcloud-server.git get node by path as fallback Signed-off-by: Robin Appelman --- diff --git a/apps/files_sharing/lib/API/Share20OCS.php b/apps/files_sharing/lib/API/Share20OCS.php index d5a6d8bc9db..ac9ddc1fffa 100644 --- a/apps/files_sharing/lib/API/Share20OCS.php +++ b/apps/files_sharing/lib/API/Share20OCS.php @@ -140,10 +140,14 @@ class Share20OCS extends OCSController { $nodes = $userFolder->getById($share->getNodeId()); if (empty($nodes)) { - throw new NotFoundException(); + // fallback to guessing the path + $node = $userFolder->get($share->getTarget()); + if ($node === null) { + throw new NotFoundException(); + } + } else { + $node = $nodes[0]; } - - $node = $nodes[0]; } $result['path'] = $userFolder->getRelativePath($node->getPath()); @@ -405,8 +409,6 @@ class Share20OCS extends OCSController { try { $share = $this->shareManager->createShare($share); - $userFolder = $this->rootFolder->getUserFolder($this->currentUser->getUID()); - $recipientNode = $userFolder->get($share->getTarget()); } catch (GenericShareException $e) { $code = $e->getCode() === 0 ? 403 : $e->getCode(); throw new OCSException($e->getHint(), $code); @@ -416,7 +418,7 @@ class Share20OCS extends OCSController { $share->getNode()->unlock(ILockingProvider::LOCK_SHARED); } - $output = $this->formatShare($share, $recipientNode); + $output = $this->formatShare($share); return new DataResponse($output); }