diff options
author | Roeland Jago Douma <rullzer@users.noreply.github.com> | 2017-04-12 21:23:11 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-12 21:23:11 +0200 |
commit | b3b24172e48d11e1247db84bfec5b6650883a7a4 (patch) | |
tree | f03584a5788105ba9149a84a554fa9b6bbd7245f /apps | |
parent | 72ff33da1d5d1d337e5479304c43b8951f0e0252 (diff) | |
parent | ae4c2893a218461099d01071faf64ede78f9bc40 (diff) | |
download | nextcloud-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.php | 100 | ||||
-rw-r--r-- | apps/sharebymail/templates/altmail.php | 36 | ||||
-rw-r--r-- | apps/sharebymail/templates/altmailpassword.php | 32 | ||||
-rw-r--r-- | apps/sharebymail/templates/mail.php | 63 | ||||
-rw-r--r-- | apps/sharebymail/templates/mailpassword.php | 59 |
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"> </td></tr> - <tr> - <td width="20px"> </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"> </td></tr> - <tr> - <td width="20px"> </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"> </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"> </td></tr> - <tr> - <td width="20px"> </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"> </td></tr> - <tr> - <td width="20px"> </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"> </td> - </tr> - </table> - </td></tr> -</table> |