Use new email design for sharebymail emails
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
This commit is contained in:
parent
33e077c1c1
commit
d0bae447fb
5 changed files with 39 additions and 250 deletions
|
@ -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) {
|
||||
$emailTemplate->addHeader();
|
||||
$emailTemplate->addHeading($this->l->t('%s shared »%s« with you', [$ownerDisplayName, $filename]));
|
||||
|
||||
$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;
|
||||
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,41 +308,28 @@ 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);
|
||||
|
||||
$emailTemplate = $this->mailer->createEMailTemplate();
|
||||
|
||||
$emailTemplate->addHeader();
|
||||
$emailTemplate->addHeading($this->l->t('Password to access »%s«', [$filename]));
|
||||
|
||||
$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]));
|
||||
|
||||
$emailTemplate->addFooter();
|
||||
|
||||
$message->setTo([$shareWith]);
|
||||
$message->setSubject($subject);
|
||||
$message->setBody($textBody, 'text/plain');
|
||||
$message->setHtmlBody($htmlBody);
|
||||
$message->setBody($emailTemplate->renderText(), 'text/plain');
|
||||
$message->setHtmlBody($emailTemplate->renderHTML());
|
||||
$this->mailer->send($message);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 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) {
|
||||
|
||||
$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();
|
||||
|
||||
if (is_string($mailBody)) {
|
||||
return $mailBody;
|
||||
}
|
||||
|
||||
throw new HintException('Failed to create the E-mail',
|
||||
$this->l->t('Failed to create the E-mail'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* generate share token
|
||||
|
|
|
@ -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());
|
|
@ -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());
|
|
@ -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>
|
|
@ -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>
|
Loading…
Reference in a new issue