summaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/lib/External
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2017-07-21 22:54:14 +0200
committerGitHub <noreply@github.com>2017-07-21 22:54:14 +0200
commit50fc5a1e2524724549ac2cbeefe64a4692dbda77 (patch)
tree52f7bbdf63bd6e6129b7017f50dd66b7ca0ac338 /apps/files_sharing/lib/External
parent13dd0b0ebe9cdce7ea5c9287a1e6c6547f8a6809 (diff)
parent8b3dfcc429fcc68f0d9ac433ba882df0d987e4b0 (diff)
downloadnextcloud-server-50fc5a1e2524724549ac2cbeefe64a4692dbda77.tar.gz
nextcloud-server-50fc5a1e2524724549ac2cbeefe64a4692dbda77.zip
Merge pull request #5823 from nextcloud/improve-error-handling
Improve error handling for accepting federated shares
Diffstat (limited to 'apps/files_sharing/lib/External')
-rw-r--r--apps/files_sharing/lib/External/Manager.php19
1 files changed, 11 insertions, 8 deletions
diff --git a/apps/files_sharing/lib/External/Manager.php b/apps/files_sharing/lib/External/Manager.php
index 9473ce86658..ab20e37a79b 100644
--- a/apps/files_sharing/lib/External/Manager.php
+++ b/apps/files_sharing/lib/External/Manager.php
@@ -197,6 +197,7 @@ class Manager {
public function acceptShare($id) {
$share = $this->getShare($id);
+ $result = false;
if ($share) {
\OC_Util::setupFS($this->uid);
@@ -211,16 +212,18 @@ class Manager {
`mountpoint` = ?,
`mountpoint_hash` = ?
WHERE `id` = ? AND `user` = ?');
- $acceptShare->execute(array(1, $mountPoint, $hash, $id, $this->uid));
- $this->sendFeedbackToRemote($share['remote'], $share['share_token'], $share['remote_id'], 'accept');
-
- \OC_Hook::emit('OCP\Share', 'federated_share_added', ['server' => $share['remote']]);
-
- $this->processNotification($id);
- return true;
+ $updated = $acceptShare->execute(array(1, $mountPoint, $hash, $id, $this->uid));
+ if ($updated === true) {
+ $this->sendFeedbackToRemote($share['remote'], $share['share_token'], $share['remote_id'], 'accept');
+ \OC_Hook::emit('OCP\Share', 'federated_share_added', ['server' => $share['remote']]);
+ $result = true;
+ }
}
- return false;
+ // Make sure the user has no notification for something that does not exist anymore.
+ $this->processNotification($id);
+
+ return $result;
}
/**