From 0f2013d24fd709bc9324d833259bf49cb0707c3e Mon Sep 17 00:00:00 2001 From: fenn-cs Date: Thu, 26 Sep 2024 13:00:52 +0200 Subject: [PATCH] fix(ShareAPI): Send mails for mail shares by default It looks like, the frontend it needs to provide the `sendMail` param for the backend to decide wether mails would be sent. Our UI does not have that at the moment so it should default to sending emails always for mail shares. Not exactly sure how this was handled earlier but this is a good starting point. Resolves : https://github.com/nextcloud/server/issues/48012 Signed-off-by: fenn-cs --- .../lib/Controller/ShareAPIController.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/apps/files_sharing/lib/Controller/ShareAPIController.php b/apps/files_sharing/lib/Controller/ShareAPIController.php index 1be1fdbbde90e..0d825deea9e76 100644 --- a/apps/files_sharing/lib/Controller/ShareAPIController.php +++ b/apps/files_sharing/lib/Controller/ShareAPIController.php @@ -658,7 +658,16 @@ public function createShare( $this->checkInheritedAttributes($share); // Handle mail send - if ($sendMail === 'true' || $sendMail === 'false') { + if (is_null($sendMail)) { + // Define a default behavior when sendMail is not provided + if ($shareType === IShare::TYPE_EMAIL && strlen($shareWith) !== 0) { + // For email shares, the default is to send the mail + $share->setMailSend(true); + } else { + // For all other share types, the default is to not send the mail + $share->setMailSend(false); + } + } else { $share->setMailSend($sendMail === 'true'); }