summaryrefslogtreecommitdiffstats
path: root/apps/sharebymail/lib
diff options
context:
space:
mode:
authorJulius Härtl <jus@bitgrid.net>2021-11-26 14:42:31 +0100
committerJulius Härtl <jus@bitgrid.net>2021-12-03 10:17:02 +0100
commit5116bf146f3e21805d42997ca9b1f713474bfb6d (patch)
treef0b0fc2d88f905d22a1331f9ebd85aee792c8522 /apps/sharebymail/lib
parent70f9e5e37dde34a976d7aab1a9cdeec165cb5df1 (diff)
downloadnextcloud-server-5116bf146f3e21805d42997ca9b1f713474bfb6d.tar.gz
nextcloud-server-5116bf146f3e21805d42997ca9b1f713474bfb6d.zip
Allow to pass note when creating a share and send it with directly in the share mail when set
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Diffstat (limited to 'apps/sharebymail/lib')
-rw-r--r--apps/sharebymail/lib/ShareByMailProvider.php19
1 files changed, 14 insertions, 5 deletions
diff --git a/apps/sharebymail/lib/ShareByMailProvider.php b/apps/sharebymail/lib/ShareByMailProvider.php
index 6fb60216031..62ba9d35f3f 100644
--- a/apps/sharebymail/lib/ShareByMailProvider.php
+++ b/apps/sharebymail/lib/ShareByMailProvider.php
@@ -330,7 +330,8 @@ class ShareByMailProvider implements IShareProvider {
$share->getSendPasswordByTalk(),
$share->getHideDownload(),
$share->getLabel(),
- $share->getExpirationDate()
+ $share->getExpirationDate(),
+ $share->getNote()
);
try {
@@ -341,7 +342,8 @@ class ShareByMailProvider implements IShareProvider {
$link,
$share->getSharedBy(),
$share->getSharedWith(),
- $share->getExpirationDate()
+ $share->getExpirationDate(),
+ $share->getNote()
);
} catch (HintException $hintException) {
$this->logger->logException($hintException, [
@@ -377,7 +379,9 @@ class ShareByMailProvider implements IShareProvider {
$link,
$initiator,
$shareWith,
- \DateTime $expiration = null) {
+ \DateTime $expiration = null,
+ $note = ''
+ ) {
$initiatorUser = $this->userManager->get($initiator);
$initiatorDisplayName = ($initiatorUser instanceof IUser) ? $initiatorUser->getDisplayName() : $initiator;
$message = $this->mailer->createMessage();
@@ -388,6 +392,7 @@ class ShareByMailProvider implements IShareProvider {
'initiator' => $initiatorDisplayName,
'expiration' => $expiration,
'shareWith' => $shareWith,
+ 'note' => $note
]);
$emailTemplate->setSubject($this->l->t('%1$s shared »%2$s« with you', [$initiatorDisplayName, $filename]));
@@ -395,6 +400,9 @@ class ShareByMailProvider implements IShareProvider {
$emailTemplate->addHeading($this->l->t('%1$s shared »%2$s« with you', [$initiatorDisplayName, $filename]), false);
$text = $this->l->t('%1$s shared »%2$s« with you.', [$initiatorDisplayName, $filename]);
+ if ($note !== '') {
+ $emailTemplate->addBodyText(htmlspecialchars($note), $note);
+ }
$emailTemplate->addBodyText(
htmlspecialchars($text . ' ' . $this->l->t('Click the button below to open it.')),
$text
@@ -671,7 +679,7 @@ class ShareByMailProvider implements IShareProvider {
* @param \DateTime|null $expirationTime
* @return int
*/
- protected function addShareToDB($itemSource, $itemType, $shareWith, $sharedBy, $uidOwner, $permissions, $token, $password, $sendPasswordByTalk, $hideDownload, $label, $expirationTime) {
+ protected function addShareToDB($itemSource, $itemType, $shareWith, $sharedBy, $uidOwner, $permissions, $token, $password, $sendPasswordByTalk, $hideDownload, $label, $expirationTime, $note = '') {
$qb = $this->dbConnection->getQueryBuilder();
$qb->insert('share')
->setValue('share_type', $qb->createNamedParameter(IShare::TYPE_EMAIL))
@@ -687,7 +695,8 @@ class ShareByMailProvider implements IShareProvider {
->setValue('password_by_talk', $qb->createNamedParameter($sendPasswordByTalk, IQueryBuilder::PARAM_BOOL))
->setValue('stime', $qb->createNamedParameter(time()))
->setValue('hide_download', $qb->createNamedParameter((int)$hideDownload, IQueryBuilder::PARAM_INT))
- ->setValue('label', $qb->createNamedParameter($label));
+ ->setValue('label', $qb->createNamedParameter($label))
+ ->setValue('note', $qb->createNamedParameter($note));
if ($expirationTime !== null) {
$qb->setValue('expiration', $qb->createNamedParameter($expirationTime, IQueryBuilder::PARAM_DATE));