summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@users.noreply.github.com>2017-04-12 21:23:11 +0200
committerGitHub <noreply@github.com>2017-04-12 21:23:11 +0200
commitb3b24172e48d11e1247db84bfec5b6650883a7a4 (patch)
treef03584a5788105ba9149a84a554fa9b6bbd7245f /apps
parent72ff33da1d5d1d337e5479304c43b8951f0e0252 (diff)
parentae4c2893a218461099d01071faf64ede78f9bc40 (diff)
downloadnextcloud-server-b3b24172e48d11e1247db84bfec5b6650883a7a4.tar.gz
nextcloud-server-b3b24172e48d11e1247db84bfec5b6650883a7a4.zip
Merge pull request #4307 from nextcloud/sharing-emails
New emails for sharebymail
Diffstat (limited to 'apps')
-rw-r--r--apps/sharebymail/lib/ShareByMailProvider.php100
-rw-r--r--apps/sharebymail/templates/altmail.php36
-rw-r--r--apps/sharebymail/templates/altmailpassword.php32
-rw-r--r--apps/sharebymail/templates/mail.php63
-rw-r--r--apps/sharebymail/templates/mailpassword.php59
5 files changed, 40 insertions, 250 deletions
diff --git a/apps/sharebymail/lib/ShareByMailProvider.php b/apps/sharebymail/lib/ShareByMailProvider.php
index ec9568b734e..0b959ce4265 100644
--- a/apps/sharebymail/lib/ShareByMailProvider.php
+++ b/apps/sharebymail/lib/ShareByMailProvider.php
@@ -260,42 +260,35 @@ class ShareByMailProvider implements IShareProvider {
}
$message = $this->mailer->createMessage();
- $htmlBody = $this->createMailBody('mail', $filename, $link, $ownerDisplayName, $initiatorDisplayName);
- $textBody = $this->createMailBody('altmail', $filename, $link, $ownerDisplayName, $initiatorDisplayName);
- $message->setTo([$shareWith]);
- $message->setSubject($subject);
- $message->setBody($textBody, 'text/plain');
- $message->setHtmlBody($htmlBody);
- $this->mailer->send($message);
- }
+ $emailTemplate = $this->mailer->createEMailTemplate();
- /**
- * create mail body
- *
- * @param $filename
- * @param $link
- * @param $owner
- * @param $initiator
- * @return string plain text mail
- * @throws HintException
- */
- protected function createMailBody($template, $filename, $link, $owner, $initiator) {
-
- $mailBodyTemplate = new Template('sharebymail', $template, '');
- $mailBodyTemplate->assign ('filename', \OCP\Util::sanitizeHTML($filename));
- $mailBodyTemplate->assign ('link', $link);
- $mailBodyTemplate->assign ('owner', \OCP\Util::sanitizeHTML($owner));
- $mailBodyTemplate->assign ('initiator', \OCP\Util::sanitizeHTML($initiator));
- $mailBodyTemplate->assign ('onBehalfOf', $initiator !== $owner);
- $mailBody = $mailBodyTemplate->fetchPage();
-
- if (is_string($mailBody)) {
- return $mailBody;
+ $emailTemplate->addHeader();
+ $emailTemplate->addHeading($this->l->t('%s shared »%s« with you', [$ownerDisplayName, $filename]), false);
+
+ if ($owner === $initiator) {
+ $text = $this->l->t('%s shared »%s« with you.', [$ownerDisplayName, $filename]);
+ } else {
+ $text= $this->l->t('%s shared »%s« with you on behalf of %s.', [$ownerDisplayName, $filename, $initiator]);
}
- throw new HintException('Failed to create the E-mail',
- $this->l->t('Failed to create the E-mail'));
+ $emailTemplate->addBodyText(
+ $text . ' ' . $this->l->t('Click the button below to open it.'),
+ $text
+ );
+
+ $emailTemplate->addBodyButton(
+ $this->l->t('Open »%s«', [$filename]),
+ $link
+ );
+ $emailTemplate->addFooter();
+
+ $message->setTo([$shareWith]);
+ $message->setSubject($subject);
+ $message->setBody($emailTemplate->renderText(), 'text/plain');
+ $message->setHtmlBody($emailTemplate->renderHTML());
+ $this->mailer->send($message);
+
}
/**
@@ -316,39 +309,26 @@ class ShareByMailProvider implements IShareProvider {
$subject = (string)$this->l->t('Password to access »%s« shared to you by %s', [$filename, $initiatorDisplayName]);
$message = $this->mailer->createMessage();
- $htmlBody = $this->createMailBodyToSendPassword('mailpassword', $filename, $initiatorDisplayName, $password);
- $textBody = $this->createMailBodyToSendPassword('altmailpassword', $filename,$initiatorDisplayName, $password);
- $message->setTo([$shareWith]);
- $message->setSubject($subject);
- $message->setBody($textBody, 'text/plain');
- $message->setHtmlBody($htmlBody);
- $this->mailer->send($message);
- }
+ $emailTemplate = $this->mailer->createEMailTemplate();
- /**
- * create mail body to send password to recipient
- *
- * @param string $filename
- * @param string $initiator
- * @param string $password
- * @return string plain text mail
- * @throws HintException
- */
- protected function createMailBodyToSendPassword($template, $filename, $initiator, $password) {
+ $emailTemplate->addHeader();
+ $emailTemplate->addHeading($this->l->t('Password to access »%s«', [$filename]));
- $mailBodyTemplate = new Template('sharebymail', $template, '');
- $mailBodyTemplate->assign ('filename', \OCP\Util::sanitizeHTML($filename));
- $mailBodyTemplate->assign ('password', \OCP\Util::sanitizeHTML($password));
- $mailBodyTemplate->assign ('initiator', \OCP\Util::sanitizeHTML($initiator));
- $mailBody = $mailBodyTemplate->fetchPage();
+ $emailTemplate->addBodyText($this->l->t(
+ '%s shared »%s« with you. You should have already received a separate mail with a link to access it.',
+ [$initiatorDisplayName, $filename]
+ ));
+ $emailTemplate->addBodyText($this->l->t('It is protected with the following password: %s', [$password]));
- if (is_string($mailBody)) {
- return $mailBody;
- }
+ $emailTemplate->addFooter();
+
+ $message->setTo([$shareWith]);
+ $message->setSubject($subject);
+ $message->setBody($emailTemplate->renderText(), 'text/plain');
+ $message->setHtmlBody($emailTemplate->renderHTML());
+ $this->mailer->send($message);
- throw new HintException('Failed to create the E-mail',
- $this->l->t('Failed to create the E-mail'));
}
diff --git a/apps/sharebymail/templates/altmail.php b/apps/sharebymail/templates/altmail.php
deleted file mode 100644
index 7b9de6295ff..00000000000
--- a/apps/sharebymail/templates/altmail.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016 Bjoern Schiessle <bjoern@schiessle.org>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-/** @var OC_Theme $theme */
-/** @var array $_ */
-if ($_['onBehalfOf']) {
- print_unescaped($l->t("Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n", [$_['owner'], $_['filename'], $_['initiator'], $_['link']]));
-} else {
- print_unescaped($l->t("Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n", [$_['owner'], $_['filename'], $_['link']]));
-}
-// TRANSLATORS term at the end of a mail
-p($l->t("Cheers!"));
-print_unescaped("\n");
-?>
-
---
-<?php p($theme->getName() . ' - ' . $theme->getSlogan()); ?>
-<?php print_unescaped("\n".$theme->getBaseUrl());
diff --git a/apps/sharebymail/templates/altmailpassword.php b/apps/sharebymail/templates/altmailpassword.php
deleted file mode 100644
index f6e4c5b4158..00000000000
--- a/apps/sharebymail/templates/altmailpassword.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016 Bjoern Schiessle <bjoern@schiessle.org>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-/** @var OC_Theme $theme */
-/** @var array $_ */
-print_unescaped($l->t("Hey there,\n\n%s shared »%s« with you.\nYou should have already received a separate mail with a link to access it.\n\nIt is protected with the following password: %s\n\n", [$_['initiator'], $_['filename'], $_['password']]));
-// TRANSLATORS term at the end of a mail
-p($l->t("Cheers!"));
-print_unescaped("\n");
-?>
-
- --
-<?php p($theme->getName() . ' - ' . $theme->getSlogan()); ?>
-<?php print_unescaped("\n".$theme->getBaseUrl());
diff --git a/apps/sharebymail/templates/mail.php b/apps/sharebymail/templates/mail.php
deleted file mode 100644
index daf12fe034a..00000000000
--- a/apps/sharebymail/templates/mail.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016 Bjoern Schiessle <bjoern@schiessle.org>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-/** @var OC_Theme $theme */
-/** @var array $_ */
-?>
-
-<table cellspacing="0" cellpadding="0" border="0" width="100%">
- <tr><td>
- <table cellspacing="0" cellpadding="0" border="0" width="600px">
- <tr>
- <td colspan="2" bgcolor="<?php p($theme->getColorPrimary());?>">
- <img src="<?php p(\OC::$server->getURLGenerator()->getAbsoluteURL(image_path('', 'logo-mail.png'))); ?>" alt="<?php p($theme->getName()); ?>"/>
- </td>
- </tr>
- <tr><td colspan="2">&nbsp;</td></tr>
- <tr>
- <td width="20px">&nbsp;</td>
- <td style="font-weight:normal; font-size:0.8em; line-height:1.2em; font-family:verdana,'arial',sans;">
- <?php
- if ($_['onBehalfOf']) {
- print_unescaped($l->t('Hey there,<br><br>%s shared <a href="%s">%s</a> with you on behalf of %s.<br><br>', [$_['owner'], $_['link'], $_['filename'], $_['initiator']]));
- } else {
- print_unescaped($l->t('Hey there,<br><br>%s shared <a href="%s">%s</a> with you.<br><br>', [$_['owner'], $_['link'], $_['filename']]));
- }
- // TRANSLATORS term at the end of a mail
- p($l->t('Cheers!'));
- ?>
- </td>
- </tr>
- <tr><td colspan="2">&nbsp;</td></tr>
- <tr>
- <td width="20px">&nbsp;</td>
- <td style="font-weight:normal; font-size:0.8em; line-height:1.2em; font-family:verdana,'arial',sans;">--<br>
- <?php p($theme->getName()); ?> -
- <?php p($theme->getSlogan()); ?>
- <br><a href="<?php p($theme->getBaseUrl()); ?>"><?php p($theme->getBaseUrl());?></a>
- </td>
- </tr>
- <tr>
- <td colspan="2">&nbsp;</td>
- </tr>
- </table>
- </td></tr>
-</table>
diff --git a/apps/sharebymail/templates/mailpassword.php b/apps/sharebymail/templates/mailpassword.php
deleted file mode 100644
index 714a61cecd9..00000000000
--- a/apps/sharebymail/templates/mailpassword.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016 Bjoern Schiessle <bjoern@schiessle.org>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-/** @var OCA\Theming\ThemingDefaults $theme */
-/** @var array $_ */
-?>
-
-<table cellspacing="0" cellpadding="0" border="0" width="100%">
- <tr><td>
- <table cellspacing="0" cellpadding="0" border="0" width="600px">
- <tr>
- <td colspan="2" bgcolor="<?php p($theme->getColorPrimary());?>">
- <img src="<?php p(\OC::$server->getURLGenerator()->getAbsoluteURL(image_path('', 'logo-mail.png'))); ?>" alt="<?php p($theme->getName()); ?>"/>
- </td>
- </tr>
- <tr><td colspan="2">&nbsp;</td></tr>
- <tr>
- <td width="20px">&nbsp;</td>
- <td style="font-weight:normal; font-size:0.8em; line-height:1.2em; font-family:verdana,'arial',sans;">
- <?php
- print_unescaped($l->t('Hey there,<br><br>%s shared <i>%s</i> with you.<br>You should have already received a separate mail with a link to access it.<br><br>It is protected with the following password: %s<br><br>', [$_['initiator'], $_['filename'], $_['password']]));
- // TRANSLATORS term at the end of a mail
- p($l->t('Cheers!'));
- ?>
- </td>
- </tr>
- <tr><td colspan="2">&nbsp;</td></tr>
- <tr>
- <td width="20px">&nbsp;</td>
- <td style="font-weight:normal; font-size:0.8em; line-height:1.2em; font-family:verdana,'arial',sans;">--<br>
- <?php p($theme->getName()); ?> -
- <?php p($theme->getSlogan()); ?>
- <br><a href="<?php p($theme->getBaseUrl()); ?>"><?php p($theme->getBaseUrl());?></a>
- </td>
- </tr>
- <tr>
- <td colspan="2">&nbsp;</td>
- </tr>
- </table>
- </td></tr>
-</table>