From: Matthias Schmidt Date: Mon, 14 Mar 2016 16:56:37 +0000 (+0100) Subject: Add {$username} and ${email} placeholders for notices X-Git-Tag: 3.0.0_Beta_1~2035 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=614a6b4d911de2ec54d499c6669ee3eadaf0a39c;p=GitHub%2FWoltLab%2FWCF.git Add {$username} and ${email} placeholders for notices --- diff --git a/com.woltlab.wcf/templates/userNotice.tpl b/com.woltlab.wcf/templates/userNotice.tpl index 34c7e7d06f..3d7bc20dad 100644 --- a/com.woltlab.wcf/templates/userNotice.tpl +++ b/com.woltlab.wcf/templates/userNotice.tpl @@ -30,7 +30,7 @@ {/if} - {if $notice->noticeUseHtml}{@$notice->notice|language}{else}{@$notice->notice|language|htmlspecialchars|nl2br}{/if} + {@$notice}

{/foreach} {/content} diff --git a/wcfsetup/install/files/acp/templates/noticeAdd.tpl b/wcfsetup/install/files/acp/templates/noticeAdd.tpl index 22be48ecd3..617d44db37 100644 --- a/wcfsetup/install/files/acp/templates/noticeAdd.tpl +++ b/wcfsetup/install/files/acp/templates/noticeAdd.tpl @@ -80,6 +80,7 @@ {/if} {/if} + {lang}wcf.acp.notice.notice.description{/lang} {include file='multipleLanguageInputJavascript' elementIdentifier='notice' forceSelection=false} diff --git a/wcfsetup/install/files/lib/data/notice/Notice.class.php b/wcfsetup/install/files/lib/data/notice/Notice.class.php index 21bd84cff6..07739a8757 100644 --- a/wcfsetup/install/files/lib/data/notice/Notice.class.php +++ b/wcfsetup/install/files/lib/data/notice/Notice.class.php @@ -1,5 +1,6 @@ * @package com.woltlab.wcf * @subpackage data.notice @@ -24,26 +25,42 @@ class Notice extends DatabaseObject implements IRouteController { protected $isDismissed = null; /** - * @see \wcf\data\DatabaseObject::$databaseTableName + * @inheritDoc */ protected static $databaseTableName = 'notice'; /** - * @see \wcf\data\DatabaseObject::$databaseIndexName + * @inheritDoc */ protected static $databaseTableIndexName = 'noticeID'; + /** + * Returns the textual representation of the notice. + * + * @return string + */ + public function __toString() { + // replace `{$username}` with the active user's name and the `{$email}` with the active users' email address + $text = str_replace(['{$username}', '{$email}'], [WCF::getUser()->username, WCF::getUser()->email], WCF::getLanguage()->get($this->notice)); + + if (!$this->noticeUseHtml) { + $text = nl2br(htmlspecialchars($text)); + } + + return $text; + } + /** * Returns the conditions of the notice. * - * @return array<\wcf\data\condition\Condition> + * @return Condition[] */ public function getConditions() { return ConditionHandler::getInstance()->getConditions('com.woltlab.wcf.condition.notice', $this->noticeID); } /** - * @see \wcf\data\ITitledObject::getTitle() + * @inheritDoc */ public function getTitle() { return $this->noticeName; diff --git a/wcfsetup/install/lang/de.xml b/wcfsetup/install/lang/de.xml index 78bede918e..f5a7042b80 100644 --- a/wcfsetup/install/lang/de.xml +++ b/wcfsetup/install/lang/de.xml @@ -678,6 +678,7 @@ + {literal}{$username}{/literal} wird durch den Namen und {literal}{$email} durch die Email-Adresse des aktuellen Benutzers ersetzt.]]> diff --git a/wcfsetup/install/lang/en.xml b/wcfsetup/install/lang/en.xml index 4d80569277..05b96a7ea0 100644 --- a/wcfsetup/install/lang/en.xml +++ b/wcfsetup/install/lang/en.xml @@ -677,6 +677,7 @@ Examples for medium ID detection: + {literal}{$username}{/literal} will be replaced by the name and {literal}{$email}{/literal} by the mail address of the active user.]]>