From d0bae447fb4a8ad6e7b3d51390cb9a2bdbf24591 Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Tue, 11 Apr 2017 16:18:31 -0500 Subject: Use new email design for sharebymail emails Signed-off-by: Morris Jobke --- apps/sharebymail/lib/ShareByMailProvider.php | 99 ++++++++++---------------- apps/sharebymail/templates/altmail.php | 36 ---------- apps/sharebymail/templates/altmailpassword.php | 32 --------- apps/sharebymail/templates/mail.php | 63 ---------------- apps/sharebymail/templates/mailpassword.php | 59 --------------- 5 files changed, 39 insertions(+), 250 deletions(-) delete mode 100644 apps/sharebymail/templates/altmail.php delete mode 100644 apps/sharebymail/templates/altmailpassword.php delete mode 100644 apps/sharebymail/templates/mail.php delete mode 100644 apps/sharebymail/templates/mailpassword.php diff --git a/apps/sharebymail/lib/ShareByMailProvider.php b/apps/sharebymail/lib/ShareByMailProvider.php index ec9568b734e..8f63ef028d9 100644 --- a/apps/sharebymail/lib/ShareByMailProvider.php +++ b/apps/sharebymail/lib/ShareByMailProvider.php @@ -260,42 +260,34 @@ 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])); + + 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')); + $text .= ' ' . $this->l->t('Click the button below to open it.'); + + $emailTemplate->addBodyText($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 +308,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 @@ - - * - * @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 . - * - */ - -/** @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"); -?> - --- -getName() . ' - ' . $theme->getSlogan()); ?> -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 @@ - - * - * @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 . - * - */ - -/** @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"); -?> - - -- -getName() . ' - ' . $theme->getSlogan()); ?> -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 @@ - - * - * @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 . - * - */ - -/** @var OC_Theme $theme */ -/** @var array $_ */ -?> - - - -
- - - - - - - - - - - - - - - - - -
- <?php p($theme->getName()); ?> -
 
  - t('Hey there,

%s shared %s with you on behalf of %s.

', [$_['owner'], $_['link'], $_['filename'], $_['initiator']])); - } else { - print_unescaped($l->t('Hey there,

%s shared %s with you.

', [$_['owner'], $_['link'], $_['filename']])); - } - // TRANSLATORS term at the end of a mail - p($l->t('Cheers!')); - ?> -
 
 --
- getName()); ?> - - getSlogan()); ?> -
getBaseUrl());?> -
 
-
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 @@ - - * - * @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 . - * - */ - -/** @var OCA\Theming\ThemingDefaults $theme */ -/** @var array $_ */ -?> - - - -
- - - - - - - - - - - - - - - - - -
- <?php p($theme->getName()); ?> -
 
  - t('Hey there,

%s shared %s with you.
You should have already received a separate mail with a link to access it.

It is protected with the following password: %s

', [$_['initiator'], $_['filename'], $_['password']])); - // TRANSLATORS term at the end of a mail - p($l->t('Cheers!')); - ?> -
 
 --
- getName()); ?> - - getSlogan()); ?> -
getBaseUrl());?> -
 
-
-- cgit v1.2.3