summaryrefslogtreecommitdiffstats
path: root/apps/federatedfilesharing
diff options
context:
space:
mode:
Diffstat (limited to 'apps/federatedfilesharing')
-rw-r--r--apps/federatedfilesharing/lib/FederatedShareProvider.php16
1 files changed, 3 insertions, 13 deletions
diff --git a/apps/federatedfilesharing/lib/FederatedShareProvider.php b/apps/federatedfilesharing/lib/FederatedShareProvider.php
index 62be96dfa00..370ba44a0bd 100644
--- a/apps/federatedfilesharing/lib/FederatedShareProvider.php
+++ b/apps/federatedfilesharing/lib/FederatedShareProvider.php
@@ -514,29 +514,19 @@ class FederatedShareProvider implements IShareProvider {
$isOwner = false;
- $this->removeShareFromTable($share);
-
// if the local user is the owner we can send the unShare request directly...
if ($this->userManager->userExists($share->getShareOwner())) {
$this->notifications->sendRemoteUnShare($remote, $share->getId(), $share->getToken());
$this->revokeShare($share, true);
- $isOwner = true;
} else { // ... if not we need to correct ID for the unShare request
$remoteId = $this->getRemoteId($share);
$this->notifications->sendRemoteUnShare($remote, $remoteId, $share->getToken());
$this->revokeShare($share, false);
}
- // send revoke notification to the other user, if initiator and owner are not the same user
- if ($share->getShareOwner() !== $share->getSharedBy()) {
- $remoteId = $this->getRemoteId($share);
- if ($isOwner) {
- list(, $remote) = $this->addressHandler->splitUserRemote($share->getSharedBy());
- } else {
- list(, $remote) = $this->addressHandler->splitUserRemote($share->getShareOwner());
- }
- $this->notifications->sendRevokeShare($remote, $remoteId, $share->getToken());
- }
+ // only remove the share when all messages are send to not lose information
+ // about the share to early
+ $this->removeShareFromTable($share);
}
/**