From: Tim Düsterhus Date: Fri, 24 Jul 2015 15:18:21 +0000 (+0200) Subject: Merge emailText{Html,Plain}.tpl into email.tpl X-Git-Tag: 3.0.0_Beta_1~2166^2~3 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=86ebc5207d16166daa7914b0f1f6dddba52ec0ec;p=GitHub%2FWoltLab%2FWCF.git Merge emailText{Html,Plain}.tpl into email.tpl --- diff --git a/com.woltlab.wcf/templates/email.tpl b/com.woltlab.wcf/templates/email.tpl new file mode 100644 index 0000000000..a9ab2676e0 --- /dev/null +++ b/com.woltlab.wcf/templates/email.tpl @@ -0,0 +1,39 @@ +{if $mimeType === 'text/plain'} +{@$content} +{hascontent} + +-- {* The Space is important, do not remove *} +{content} +{@MAIL_SIGNATURE|language} +{if $mailbox|is_a:'wcf\system\email\UserMailbox'}{if MAIL_SIGNATURE|language}{* add newlines *} + + +{/if}This email was sent to you, because you registered on +the {$mailbox->getUser()->registrationDate|plainTime} at {@PAGE_TITLE|language}.{/if} {* TODO: language item *} +{/content} +{/hascontent} + +{elseif $mimeType === 'text/html'} + + +
+ +{if $__wcf->getStyleHandler()->getStyle()->getPageLogo()}{/if} +{event name='headerLogo'} + +
+
{@$content}
+{hascontent} +
+--
+{content} +{@MAIL_SIGNATURE|language} +{if $mailbox|is_a:'wcf\system\email\UserMailbox'} +{if MAIL_SIGNATURE|language}

{/if} +This email was sent to you, because you registered on the {$mailbox->getUser()->registrationDate|plainTime} at {@PAGE_TITLE|language}.{/if} {* TODO: language item *} +{/content} +
+{/hascontent} + + +{/if} diff --git a/com.woltlab.wcf/templates/emailTextHtml.tpl b/com.woltlab.wcf/templates/emailTextHtml.tpl deleted file mode 100644 index 4cec0b422c..0000000000 --- a/com.woltlab.wcf/templates/emailTextHtml.tpl +++ /dev/null @@ -1,22 +0,0 @@ - - -
- -{if $__wcf->getStyleHandler()->getStyle()->getPageLogo()}{/if} -{event name='headerLogo'} - -
-
{$content}
-{hascontent} -
---
-{content} -{@MAIL_SIGNATURE|language} -{if $mailbox|is_a:'wcf\system\email\UserMailbox'} -{if MAIL_SIGNATURE|language}

{/if} -This email was sent to you, because you registered on the {$mailbox->getUser()->registrationDate|plainTime} at {@PAGE_TITLE|language}.{/if} {* TODO: language item *} -{/content} -
-{/hascontent} - - diff --git a/com.woltlab.wcf/templates/emailTextPlain.tpl b/com.woltlab.wcf/templates/emailTextPlain.tpl deleted file mode 100644 index ed60beab94..0000000000 --- a/com.woltlab.wcf/templates/emailTextPlain.tpl +++ /dev/null @@ -1,13 +0,0 @@ -{$content} -{hascontent} - --- {* The Space is important, do not remove *} -{content} -{@MAIL_SIGNATURE|language} -{if $mailbox|is_a:'wcf\system\email\UserMailbox'}{if MAIL_SIGNATURE|language}{* add newlines *} - - -{/if}This email was sent to you, because you registered on -the {$mailbox->getUser()->registrationDate|plainTime} at {@PAGE_TITLE|language}.{/if} {* TODO: language item *} -{/content} -{/hascontent} diff --git a/wcfsetup/install/files/lib/system/email/UserMailbox.class.php b/wcfsetup/install/files/lib/system/email/UserMailbox.class.php index 6e9a01c9b5..880273c0f3 100644 --- a/wcfsetup/install/files/lib/system/email/UserMailbox.class.php +++ b/wcfsetup/install/files/lib/system/email/UserMailbox.class.php @@ -25,7 +25,7 @@ class UserMailbox extends Mailbox { * @param \wcf\data\user\User $user User object belonging to this Mailbox */ public function __construct(User $user) { - parent::__construct($user->email, $user->username); + parent::__construct($user->email, $user->username, $user->getLanguage()); $this->user = $user; } diff --git a/wcfsetup/install/files/lib/system/email/mime/AbstractRecipientAwareTextMimePart.class.php b/wcfsetup/install/files/lib/system/email/mime/AbstractRecipientAwareTextMimePart.class.php deleted file mode 100644 index f2df88e504..0000000000 --- a/wcfsetup/install/files/lib/system/email/mime/AbstractRecipientAwareTextMimePart.class.php +++ /dev/null @@ -1,68 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage system.email.mime - * @category Community Framework - */ -abstract class AbstractRecipientAwareTextMimePart extends TextMimePart implements IRecipientAwareMimePart { - /** - * template to use for this email - * @var string - */ - protected $template = ''; - - /** - * application of this template - * @var string - */ - protected $application = 'wcf'; - - /** - * the recipient of the email containing this mime part - * @var \wcf\system\email\Mailbox - */ - protected $mailbox = null; - - /** - * @see \wcf\system\email\mime\IRecipientAwareMimePart::setRecipient() - */ - public function setRecipient(Mailbox $mailbox = null) { - $this->mailbox = $mailbox; - } - - /** - * @see \wcf\system\email\mime\AbstractMimePart::getContent() - */ - public function getContent() { - $language = WCF::getLanguage(); - - try { - if ($this->mailbox instanceof UserMailbox) { - WCF::setLanguage($this->mailbox->getUser()->getLanguage()->languageID); - } - - return WCF::getTPL()->fetch($this->template, $this->application, [ - 'content' => $this->content, - 'mailbox' => $this->mailbox - ], true); - } - finally { - WCF::setLanguage($language->languageID); - } - } -} diff --git a/wcfsetup/install/files/lib/system/email/mime/HtmlTextMimePart.class.php b/wcfsetup/install/files/lib/system/email/mime/HtmlTextMimePart.class.php index 6b22c032c7..92dbe754e5 100644 --- a/wcfsetup/install/files/lib/system/email/mime/HtmlTextMimePart.class.php +++ b/wcfsetup/install/files/lib/system/email/mime/HtmlTextMimePart.class.php @@ -4,8 +4,7 @@ use wcf\system\email\UserMailbox; use wcf\system\WCF; /** - * HtmlTextMimePart is a text/html implementation of an - * AbstractRecipientAwareTextMimePart. + * HtmlTextMimePart is a text/html implementation of a RecipientAwareTextMimePart. * * @author Tim Duesterhus * @copyright 2001-2015 WoltLab GmbH @@ -14,19 +13,13 @@ use wcf\system\WCF; * @subpackage system.email.mime * @category Community Framework */ -class HtmlTextMimePart extends AbstractRecipientAwareTextMimePart { - /** - * template to use for this email - * @var string - */ - protected $template = 'emailTextHtml'; - +class HtmlTextMimePart extends RecipientAwareTextMimePart { /** * Creates a new HtmlTextMimePart. * * @param string $content Content of this text part. */ public function __construct($content) { - parent::__construct($content, 'text/html'); + parent::__construct($content, 'text/html', 'email'); } } diff --git a/wcfsetup/install/files/lib/system/email/mime/PlainTextMimePart.class.php b/wcfsetup/install/files/lib/system/email/mime/PlainTextMimePart.class.php index 226947ed65..4dc8d537a6 100644 --- a/wcfsetup/install/files/lib/system/email/mime/PlainTextMimePart.class.php +++ b/wcfsetup/install/files/lib/system/email/mime/PlainTextMimePart.class.php @@ -4,8 +4,7 @@ use wcf\system\email\UserMailbox; use wcf\system\WCF; /** - * PlainTextMimePart is a text/plain implementation of an - * AbstractRecipientAwareTextMimePart. + * PlainTextMimePart is a text/plain implementation of a RecipientAwareTextMimePart. * * @author Tim Duesterhus * @copyright 2001-2015 WoltLab GmbH @@ -14,19 +13,13 @@ use wcf\system\WCF; * @subpackage system.email.mime * @category Community Framework */ -class PlainTextMimePart extends AbstractRecipientAwareTextMimePart { - /** - * template to use for this email - * @var string - */ - protected $template = 'emailTextPlain'; - +class PlainTextMimePart extends RecipientAwareTextMimePart { /** * Creates a new PlainTextMimePart. * * @param string $content Content of this text part. */ public function __construct($content) { - parent::__construct($content, 'text/plain'); + parent::__construct($content, 'text/plain', 'email'); } } diff --git a/wcfsetup/install/files/lib/system/email/mime/RecipientAwareTextMimePart.class.php b/wcfsetup/install/files/lib/system/email/mime/RecipientAwareTextMimePart.class.php new file mode 100644 index 0000000000..0c86cde499 --- /dev/null +++ b/wcfsetup/install/files/lib/system/email/mime/RecipientAwareTextMimePart.class.php @@ -0,0 +1,81 @@ + + * @package com.woltlab.wcf + * @subpackage system.email.mime + * @category Community Framework + */ +class RecipientAwareTextMimePart extends TextMimePart implements IRecipientAwareMimePart { + /** + * template to use for this email + * @var string + */ + protected $template = ''; + + /** + * application of this template + * @var string + */ + protected $application = 'wcf'; + + /** + * the recipient of the email containing this mime part + * @var \wcf\system\email\Mailbox + */ + protected $mailbox = null; + + /** + * Creates a new AbstractRecipientAwareTextMimePart. + * + * @param string $content Content of this text part (this is passed to the template). + * @param string $mimeType Mime type to provide in the email. You *must* not provide a charset. UTF-8 will be used automatically. + * @param string $template Template to evaluate + * @param string $application Application of the template to evaluate (default: wcf) + */ + public function __construct($content, $mimeType, $template, $application = 'wcf') { + parent::__construct($content, $mimeType); + + $this->template = $template; + $this->application = $application; + } + + /** + * @see \wcf\system\email\mime\IRecipientAwareMimePart::setRecipient() + */ + public function setRecipient(Mailbox $mailbox = null) { + $this->mailbox = $mailbox; + } + + /** + * @see \wcf\system\email\mime\AbstractMimePart::getContent() + */ + public function getContent() { + $language = WCF::getLanguage(); + + try { + WCF::setLanguage($this->mailbox->getLanguage()->languageID); + + return WCF::getTPL()->fetch($this->template, $this->application, [ + 'content' => $this->content, + 'mimeType' => $this->mimeType, + 'mailbox' => $this->mailbox + ], true); + } + finally { + WCF::setLanguage($language->languageID); + } + } +}