Skip to content
Snippets Groups Projects
Commit 6f96af0f authored by Roeland Jago Douma's avatar Roeland Jago Douma Committed by GitHub
Browse files

Merge pull request #2819 from nextcloud/trash-ext-link-uselinkowner

Fallback to share link owner when no owner found
parents 886341ac 34d466b2
No related branches found
No related tags found
No related merge requests found
...@@ -88,6 +88,10 @@ class Trashbin { ...@@ -88,6 +88,10 @@ class Trashbin {
if (!$userManager->userExists($uid)) { if (!$userManager->userExists($uid)) {
$uid = User::getUser(); $uid = User::getUser();
} }
if (!$uid) {
// no owner, usually because of share link from ext storage
return [null, null];
}
Filesystem::initMountPoints($uid); Filesystem::initMountPoints($uid);
if ($uid != User::getUser()) { if ($uid != User::getUser()) {
$info = Filesystem::getFileInfo($filename); $info = Filesystem::getFileInfo($filename);
...@@ -206,6 +210,12 @@ class Trashbin { ...@@ -206,6 +210,12 @@ class Trashbin {
list(, $user) = explode('/', $root); list(, $user) = explode('/', $root);
list($owner, $ownerPath) = self::getUidAndFilename($file_path); list($owner, $ownerPath) = self::getUidAndFilename($file_path);
// if no owner found (ex: ext storage + share link), will use the current user's trashbin then
if (is_null($owner)) {
$owner = $user;
$ownerPath = $file_path;
}
$ownerView = new View('/' . $owner); $ownerView = new View('/' . $owner);
// file has been deleted in between // file has been deleted in between
if (is_null($ownerPath) || $ownerPath === '' || !$ownerView->file_exists('/files/' . $ownerPath)) { if (is_null($ownerPath) || $ownerPath === '' || !$ownerView->file_exists('/files/' . $ownerPath)) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment