--- /dev/null
+{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'}
+<html>
+<body>
+<div style="text-align: center;">
+<a href="{link}{/link}">
+{if $__wcf->getStyleHandler()->getStyle()->getPageLogo()}<img src="{$__wcf->getStyleHandler()->getStyle()->getPageLogo()}" alt="">{/if}
+{event name='headerLogo'}
+</a>
+</div>
+<div class="content">{@$content}</div>
+{hascontent}
+<div class="signature" style="color: grey; font-size: 10px;">
+-- <br>
+{content}
+{@MAIL_SIGNATURE|language}
+{if $mailbox|is_a:'wcf\system\email\UserMailbox'}
+{if MAIL_SIGNATURE|language}<br><br>{/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}
+</div>
+{/hascontent}
+</body>
+</html>
+{/if}
+++ /dev/null
-<html>
-<body>
-<div style="text-align: center;">
-<a href="{link}{/link}">
-{if $__wcf->getStyleHandler()->getStyle()->getPageLogo()}<img src="{$__wcf->getStyleHandler()->getStyle()->getPageLogo()}" alt="">{/if}
-{event name='headerLogo'}
-</a>
-</div>
-<div class="content">{$content}</div>
-{hascontent}
-<div class="signature" style="color: grey; font-size: 10px;">
--- <br>
-{content}
-{@MAIL_SIGNATURE|language}
-{if $mailbox|is_a:'wcf\system\email\UserMailbox'}
-{if MAIL_SIGNATURE|language}<br><br>{/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}
-</div>
-{/hascontent}
-</body>
-</html>
+++ /dev/null
-{$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}
* @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;
}
+++ /dev/null
-<?php
-namespace wcf\system\email\mime;
-use wcf\system\email\Mailbox;
-use wcf\system\email\UserMailbox;
-use wcf\system\WCF;
-
-/**
- * Abstract implementation of a recipient aware TextMimePart.
- *
- * This implementation generates the final content by passing the content
- * to a specified template. If the recipient is a UserMailbox the language
- * will be changed to the user's interface language, before evaluating the
- * template.
- *
- * @author Tim Duesterhus
- * @copyright 2001-2015 WoltLab GmbH
- * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @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);
- }
- }
-}
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
* @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');
}
}
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
* @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');
}
}
--- /dev/null
+<?php
+namespace wcf\system\email\mime;
+use wcf\system\email\Mailbox;
+use wcf\system\email\UserMailbox;
+use wcf\system\WCF;
+
+/**
+ * Default implementation of a recipient aware TextMimePart.
+ *
+ * This implementation generates the final content by passing the content
+ * to a specified template. The language will be changed to the Mailbox' language,
+ * before evaluating the template.
+ *
+ * @author Tim Duesterhus
+ * @copyright 2001-2015 WoltLab GmbH
+ * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @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);
+ }
+ }
+}