Merge pull request #19936 from nextcloud/bugfix/noid/handle-unset-owner-in-sharing

Handle unset owner in sharing
This commit is contained in:
Joas Schilling 2020-04-14 20:34:17 +02:00 committed by GitHub
commit 0bd7382a44
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 2 deletions

View File

@ -302,7 +302,7 @@ class Manager implements IManager {
$isFederatedShare = $share->getNode()->getStorage()->instanceOfStorage('\OCA\Files_Sharing\External\Storage'); $isFederatedShare = $share->getNode()->getStorage()->instanceOfStorage('\OCA\Files_Sharing\External\Storage');
$permissions = 0; $permissions = 0;
$mount = $share->getNode()->getMountPoint(); $mount = $share->getNode()->getMountPoint();
if (!$isFederatedShare && $share->getNode()->getOwner()->getUID() !== $share->getSharedBy()) { if (!$isFederatedShare && $share->getNode()->getOwner() && $share->getNode()->getOwner()->getUID() !== $share->getSharedBy()) {
// When it's a reshare use the parent share permissions as maximum // When it's a reshare use the parent share permissions as maximum
$userMountPointId = $mount->getStorageRootId(); $userMountPointId = $mount->getStorageRootId();
$userMountPoints = $userFolder->getById($userMountPointId); $userMountPoints = $userFolder->getById($userMountPointId);
@ -710,7 +710,11 @@ class Manager implements IManager {
} }
$share->setShareOwner($parent->getOwner()->getUID()); $share->setShareOwner($parent->getOwner()->getUID());
} else { } else {
if ($share->getNode()->getOwner()) {
$share->setShareOwner($share->getNode()->getOwner()->getUID()); $share->setShareOwner($share->getNode()->getOwner()->getUID());
} else {
$share->setShareOwner($share->getSharedBy());
}
} }
//Verify share type //Verify share type