diff options
author | Morris Jobke <hey@morrisjobke.de> | 2017-04-06 13:20:47 -0500 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2017-04-07 12:03:32 -0500 |
commit | 0560e6991323c156e548792c5fb1f82791868d90 (patch) | |
tree | abaf978794200348c6975caa5fc13ca551474209 /lib/private/Mail/IEMailTemplate.php | |
parent | 325f925e147ff711d12f1b433c6aa6c55d79fb40 (diff) | |
download | nextcloud-server-0560e6991323c156e548792c5fb1f82791868d90.tar.gz nextcloud-server-0560e6991323c156e548792c5fb1f82791868d90.zip |
New layout for welcome email
* thanks to @espina2 for make this nice design
* the button says "Set password" if the admin didn't specified a password
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
Diffstat (limited to 'lib/private/Mail/IEMailTemplate.php')
-rw-r--r-- | lib/private/Mail/IEMailTemplate.php | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/lib/private/Mail/IEMailTemplate.php b/lib/private/Mail/IEMailTemplate.php new file mode 100644 index 00000000000..5bf2b8e4394 --- /dev/null +++ b/lib/private/Mail/IEMailTemplate.php @@ -0,0 +1,107 @@ +<?php +/** + * @copyright 2017, Morris Jobke <hey@morrisjobke.de> + * + * @author Morris Jobke <hey@morrisjobke.de> + * + * @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/>. + * + */ + +namespace OC\Mail; + +/** + * Interface IEMailTemplate + * + * Interface to a class that allows to build HTML emails + * + * Example: + * + * <?php + * + * $emailTemplate = new EMailTemplate($this->defaults); + * + * $emailTemplate->addHeader('https://example.org/img/logo-mail-header.png'); + * $emailTemplate->addHeading('Welcome aboard'); + * $emailTemplate->addBodyText('You have now an Nextcloud account, you can add, protect, and share your data.'); + * + * $emailTemplate->addBodyButtonGroup( + * 'Set your password', 'https://example.org/resetPassword/q1234567890qwertz', + * 'Install Client', 'https://nextcloud.com/install/#install-clients' + * ); + * + * $emailTemplate->addFooter( + * 'https://example.org/img/logo-mail-footer.png', + * 'Nextcloud - a safe home for your data <br>This is an automatically generated email, please do not reply.' + * ); + * + * $htmlContent = $emailTemplate->renderHTML(); + * $plainContent = $emailTemplate->renderText(); + */ +interface IEMailTemplate { + /** + * Adds a header to the email + * + * @param string $logoUrl + */ + public function addHeader($logoUrl); + + /** + * Adds a heading to the email + * + * @param string $title + */ + public function addHeading($title); + + /** + * Adds a paragraph to the body of the email + * + * @param string $text + */ + public function addBodyText($text); + + /** + * Adds a button group of two buttons to the body of the email + * + * @param string $textLeft Text of left button + * @param string $urlLeft URL of left button + * @param string $textRight Text of right button + * @param string $urlRight URL of right button + */ + public function addBodyButtonGroup($textLeft, $urlLeft, $textRight, $urlRight); + + /** + * Adds a logo and a text to the footer. <br> in the text will be replaced by new lines in the plain text email + * + * @param string $logoUrl + * @param string $text + */ + public function addFooter($logoUrl, $text); + + /** + * Returns the rendered HTML email as string + * + * @return string + */ + public function renderHTML(); + + /** + * Returns the rendered plain text email as string + * + * @return string + */ + public function renderText(); +}
\ No newline at end of file |