From 509bc4f1eba7065186ed3bfb9601ace45011b3a8 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Mon, 10 Jul 2017 12:10:36 +0200 Subject: [PATCH] Fix activity emails for accept/decline of remote shares Signed-off-by: Joas Schilling --- .../lib/Controller/RequestHandlerController.php | 14 ++++++++------ .../lib/Activity/Providers/RemoteShares.php | 6 +++++- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php b/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php index 8a7a1188c28..09704047c7b 100644 --- a/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php +++ b/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php @@ -318,14 +318,15 @@ class RequestHandlerController extends OCSController { } protected function executeAcceptShare(Share\IShare $share) { - list($file, $link) = $this->getFile($this->getCorrectUid($share), $share->getNode()->getId()); + $fileId = (int) $share->getNode()->getId(); + list($file, $link) = $this->getFile($this->getCorrectUid($share), $fileId); $event = \OC::$server->getActivityManager()->generateEvent(); $event->setApp('files_sharing') ->setType('remote_share') ->setAffectedUser($this->getCorrectUid($share)) - ->setSubject(RemoteShares::SUBJECT_REMOTE_SHARE_ACCEPTED, [$share->getSharedWith(), $file]) - ->setObject('files', (int)$share->getNode()->getId(), $file) + ->setSubject(RemoteShares::SUBJECT_REMOTE_SHARE_ACCEPTED, [$share->getSharedWith(), [$fileId => $file]]) + ->setObject('files', $fileId, $file) ->setLink($link); \OC::$server->getActivityManager()->publish($event); } @@ -373,14 +374,15 @@ class RequestHandlerController extends OCSController { */ protected function executeDeclineShare(Share\IShare $share) { $this->federatedShareProvider->removeShareFromTable($share); - list($file, $link) = $this->getFile($this->getCorrectUid($share), $share->getNode()->getId()); + $fileId = (int) $share->getNode()->getId(); + list($file, $link) = $this->getFile($this->getCorrectUid($share), $fileId); $event = \OC::$server->getActivityManager()->generateEvent(); $event->setApp('files_sharing') ->setType('remote_share') ->setAffectedUser($this->getCorrectUid($share)) - ->setSubject(RemoteShares::SUBJECT_REMOTE_SHARE_DECLINED, [$share->getSharedWith(), $file]) - ->setObject('files', (int)$share->getNode()->getId(), $file) + ->setSubject(RemoteShares::SUBJECT_REMOTE_SHARE_DECLINED, [$share->getSharedWith(), [$fileId => $file]]) + ->setObject('files', $fileId, $file) ->setLink($link); \OC::$server->getActivityManager()->publish($event); diff --git a/apps/files_sharing/lib/Activity/Providers/RemoteShares.php b/apps/files_sharing/lib/Activity/Providers/RemoteShares.php index 6ac0be76ff4..cf4954800e8 100644 --- a/apps/files_sharing/lib/Activity/Providers/RemoteShares.php +++ b/apps/files_sharing/lib/Activity/Providers/RemoteShares.php @@ -131,8 +131,12 @@ class RemoteShares extends Base { ]; case self::SUBJECT_REMOTE_SHARE_ACCEPTED: case self::SUBJECT_REMOTE_SHARE_DECLINED: + $fileParameter = $parameters[1]; + if (!is_array($fileParameter)) { + $fileParameter = [$event->getObjectId() => $event->getObjectName()]; + } return [ - 'file' => $this->getFile([$event->getObjectId() => $event->getObjectName()]), + 'file' => $this->getFile($fileParameter), 'user' => $this->getFederatedUser($parameters[0]), ]; } -- 2.39.5