From 64fc96d6bb4bed43ff6e03b69a66e22167b6bd8b Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Wed, 28 May 2025 15:17:45 +0200 Subject: [PATCH] fix: use shared_by user in share mail if initiator is not set Signed-off-by: Robin Appelman --- lib/Listeners/Files/ShareCreatedSendMail.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/Listeners/Files/ShareCreatedSendMail.php b/lib/Listeners/Files/ShareCreatedSendMail.php index 1d6e09dec..afdd287bb 100644 --- a/lib/Listeners/Files/ShareCreatedSendMail.php +++ b/lib/Listeners/Files/ShareCreatedSendMail.php @@ -52,6 +52,7 @@ use OCA\Circles\Tools\Traits\TStringTools; use OCP\EventDispatcher\Event; use OCP\EventDispatcher\IEventListener; +use OCP\IUserManager; /** @template-implements IEventListener */ class ShareCreatedSendMail implements IEventListener { @@ -76,6 +77,8 @@ class ShareCreatedSendMail implements IEventListener { /** @var ContactService */ private $contactService; + /** @var IUserManager */ + private $userManager; public function __construct( ShareWrapperService $shareWrapperService, @@ -83,7 +86,8 @@ public function __construct( RemoteStreamService $remoteStreamService, SendMailService $sendMailService, ContactService $contactService, - ConfigService $configService + ConfigService $configService, + IUserManager $userManager, ) { $this->shareWrapperService = $shareWrapperService; $this->shareTokenService = $shareTokenService; @@ -91,6 +95,7 @@ public function __construct( $this->sendMailService = $sendMailService; $this->contactService = $contactService; $this->configService = $configService; + $this->userManager = $userManager; $this->setup('app', Application::APP_ID); } @@ -147,6 +152,8 @@ public function handle(Event $event): void { if (!is_null($share)) { if ($share->hasInitiator()) { $author = $share->getInitiator()->getDisplayName(); + } elseif ($user = $this->userManager->get($share->getSharedBy())) { + $author = $user->getDisplayName(); } else { $author = 'someone'; }