From d1096a2d763b871739e8e8a58b27377bd56d56b3 Mon Sep 17 00:00:00 2001 From: Marcel Werk Date: Wed, 26 Apr 2023 15:59:42 +0200 Subject: [PATCH] Add default implementation for user notifications about comment responses --- ...entResponseUserNotificationEvent.class.php | 72 +++++++++++++++++++ ...sponseOwnerUserNotificationEvent.class.php | 39 ++++------ ...entResponseUserNotificationEvent.class.php | 39 ++++------ ...entResponseUserNotificationEvent.class.php | 49 +++++++------ ...sponseOwnerUserNotificationEvent.class.php | 38 +++------- ...entResponseUserNotificationEvent.class.php | 38 +++------- ...sponseOwnerUserNotificationEvent.class.php | 38 +++------- ...entResponseUserNotificationEvent.class.php | 35 +++------ wcfsetup/install/lang/de.xml | 21 +----- wcfsetup/install/lang/en.xml | 15 +--- 10 files changed, 173 insertions(+), 211 deletions(-) create mode 100644 wcfsetup/install/files/lib/system/user/notification/event/AbstractCommentResponseUserNotificationEvent.class.php diff --git a/wcfsetup/install/files/lib/system/user/notification/event/AbstractCommentResponseUserNotificationEvent.class.php b/wcfsetup/install/files/lib/system/user/notification/event/AbstractCommentResponseUserNotificationEvent.class.php new file mode 100644 index 0000000000..091a471307 --- /dev/null +++ b/wcfsetup/install/files/lib/system/user/notification/event/AbstractCommentResponseUserNotificationEvent.class.php @@ -0,0 +1,72 @@ + + * @since 6.0 + */ +abstract class AbstractCommentResponseUserNotificationEvent extends AbstractSharedUserNotificationEvent +{ + /** + * @inheritDoc + */ + protected $stackable = true; + + /** + * @inheritDoc + */ + public function getTitle(): string + { + $count = \count($this->getAuthors()); + if ($count > 1) { + return $this->getLanguage()->getDynamicVariable('wcf.user.notification.comment.response.title.stacked', [ + 'count' => $count, + 'timesTriggered' => $this->notification->timesTriggered, + 'typeName' => $this->getTypeName(), + ]); + } + + return $this->getLanguage()->getDynamicVariable('wcf.user.notification.comment.response.title', [ + 'typeName' => $this->getTypeName(), + ]); + } + + /** + * @inheritDoc + */ + public function getEmailTitle() + { + $count = \count($this->getAuthors()); + if ($count > 1) { + return $this->getTitle(); + } + + return $this->getLanguage()->getDynamicVariable('wcf.user.notification.comment.response.mail.title', [ + 'objectTitle' => $this->getObjectTitle(), + 'typeName' => $this->getTypeName(), + ]); + } + + /** + * @inheritDoc + */ + public function getEventHash() + { + return \sha1($this->eventID . '-' . $this->getUserNotificationObject()->objectID); + } + + /** + * Returns the name of the type to which the comment belong. + */ + protected abstract function getTypeName(): string; + + /** + * Returns the title of the object to which the comment belong. + */ + protected abstract function getObjectTitle(): string; +} diff --git a/wcfsetup/install/files/lib/system/user/notification/event/ArticleCommentResponseOwnerUserNotificationEvent.class.php b/wcfsetup/install/files/lib/system/user/notification/event/ArticleCommentResponseOwnerUserNotificationEvent.class.php index 39bcc951f3..c8a3e0579e 100644 --- a/wcfsetup/install/files/lib/system/user/notification/event/ArticleCommentResponseOwnerUserNotificationEvent.class.php +++ b/wcfsetup/install/files/lib/system/user/notification/event/ArticleCommentResponseOwnerUserNotificationEvent.class.php @@ -19,17 +19,12 @@ use wcf\system\user\notification\object\CommentResponseUserNotificationObject; * * @method CommentResponseUserNotificationObject getUserNotificationObject() */ -class ArticleCommentResponseOwnerUserNotificationEvent extends AbstractSharedUserNotificationEvent implements +class ArticleCommentResponseOwnerUserNotificationEvent extends AbstractCommentResponseUserNotificationEvent implements ITestableUserNotificationEvent { use TTestableCommentResponseUserNotificationEvent; use TTestableArticleCommentUserNotificationEvent; - /** - * @inheritDoc - */ - protected $stackable = true; - /** * @inheritDoc */ @@ -38,25 +33,6 @@ class ArticleCommentResponseOwnerUserNotificationEvent extends AbstractSharedUse CommentRuntimeCache::getInstance()->cacheObjectID($this->getUserNotificationObject()->commentID); } - /** - * @inheritDoc - */ - public function getTitle(): string - { - $count = \count($this->getAuthors()); - if ($count > 1) { - return $this->getLanguage()->getDynamicVariable( - 'wcf.user.notification.articleComment.responseOwner.title.stacked', - [ - 'count' => $count, - 'timesTriggered' => $this->notification->timesTriggered, - ] - ); - } - - return $this->getLanguage()->get('wcf.user.notification.articleComment.responseOwner.title'); - } - /** * @inheritDoc */ @@ -146,8 +122,17 @@ class ArticleCommentResponseOwnerUserNotificationEvent extends AbstractSharedUse /** * @inheritDoc */ - public function getEventHash() + protected function getTypeName(): string + { + return $this->getLanguage()->get('wcf.user.recentActivity.com.woltlab.wcf.article.recentActivityEvent'); + } + + /** + * @inheritDoc + */ + protected function getObjectTitle(): string { - return \sha1($this->eventID . '-' . $this->notification->objectID); + return ViewableArticleContentRuntimeCache::getInstance() + ->getObject($this->additionalData['objectID'])->getTitle(); } } diff --git a/wcfsetup/install/files/lib/system/user/notification/event/ArticleCommentResponseUserNotificationEvent.class.php b/wcfsetup/install/files/lib/system/user/notification/event/ArticleCommentResponseUserNotificationEvent.class.php index aaacda7440..352b027e57 100644 --- a/wcfsetup/install/files/lib/system/user/notification/event/ArticleCommentResponseUserNotificationEvent.class.php +++ b/wcfsetup/install/files/lib/system/user/notification/event/ArticleCommentResponseUserNotificationEvent.class.php @@ -17,17 +17,12 @@ use wcf\system\user\notification\object\CommentResponseUserNotificationObject; * * @method CommentResponseUserNotificationObject getUserNotificationObject() */ -class ArticleCommentResponseUserNotificationEvent extends AbstractSharedUserNotificationEvent implements +class ArticleCommentResponseUserNotificationEvent extends AbstractCommentResponseUserNotificationEvent implements ITestableUserNotificationEvent { use TTestableCommentResponseUserNotificationEvent; use TTestableArticleCommentUserNotificationEvent; - /** - * @inheritDoc - */ - protected $stackable = true; - /** * @inheritDoc */ @@ -36,25 +31,6 @@ class ArticleCommentResponseUserNotificationEvent extends AbstractSharedUserNoti CommentRuntimeCache::getInstance()->cacheObjectID($this->getUserNotificationObject()->commentID); } - /** - * @inheritDoc - */ - public function getTitle(): string - { - $count = \count($this->getAuthors()); - if ($count > 1) { - return $this->getLanguage()->getDynamicVariable( - 'wcf.user.notification.articleComment.response.title.stacked', - [ - 'count' => $count, - 'timesTriggered' => $this->notification->timesTriggered, - ] - ); - } - - return $this->getLanguage()->get('wcf.user.notification.articleComment.response.title'); - } - /** * @inheritDoc */ @@ -125,8 +101,17 @@ class ArticleCommentResponseUserNotificationEvent extends AbstractSharedUserNoti /** * @inheritDoc */ - public function getEventHash() + protected function getTypeName(): string + { + return $this->getLanguage()->get('wcf.user.recentActivity.com.woltlab.wcf.article.recentActivityEvent'); + } + + /** + * @inheritDoc + */ + protected function getObjectTitle(): string { - return \sha1($this->eventID . '-' . $this->notification->objectID); + return ViewableArticleContentRuntimeCache::getInstance() + ->getObject($this->additionalData['objectID'])->getTitle(); } } diff --git a/wcfsetup/install/files/lib/system/user/notification/event/ModerationQueueCommentResponseUserNotificationEvent.class.php b/wcfsetup/install/files/lib/system/user/notification/event/ModerationQueueCommentResponseUserNotificationEvent.class.php index 85cb41033a..ba938d7800 100644 --- a/wcfsetup/install/files/lib/system/user/notification/event/ModerationQueueCommentResponseUserNotificationEvent.class.php +++ b/wcfsetup/install/files/lib/system/user/notification/event/ModerationQueueCommentResponseUserNotificationEvent.class.php @@ -23,7 +23,7 @@ use wcf\system\WCF; * * @method CommentResponseUserNotificationObject getUserNotificationObject() */ -class ModerationQueueCommentResponseUserNotificationEvent extends AbstractSharedUserNotificationEvent implements +class ModerationQueueCommentResponseUserNotificationEvent extends AbstractCommentResponseUserNotificationEvent implements ITestableUserNotificationEvent { use TTestableCommentResponseUserNotificationEvent; @@ -48,9 +48,10 @@ class ModerationQueueCommentResponseUserNotificationEvent extends AbstractShared protected $moderationQueueLoaded = false; /** - * @inheritDoc + * language item for the type name + * @var string|null */ - protected $stackable = true; + protected $typeName; /** * @inheritDoc @@ -186,25 +187,6 @@ class ModerationQueueCommentResponseUserNotificationEvent extends AbstractShared return $this->languageItemPrefix; } - /** - * @inheritDoc - */ - public function getTitle(): string - { - $count = \count($this->getAuthors()); - if ($count > 1) { - return $this->getLanguage()->getDynamicVariable( - $this->getLanguageItemPrefix() . '.commentResponse.title.stacked', - [ - 'count' => $count, - 'timesTriggered' => $this->notification->timesTriggered, - ] - ); - } - - return $this->getLanguage()->get($this->getLanguageItemPrefix() . '.commentResponse.title'); - } - /** * @inheritDoc */ @@ -234,4 +216,27 @@ class ModerationQueueCommentResponseUserNotificationEvent extends AbstractShared 'objectTypeID' => CommentHandler::getInstance()->getObjectTypeID('com.woltlab.wcf.moderation.queue'), ]; } + + /** + * @inheritDoc + */ + protected function getTypeName(): string + { + if ($this->typeName === null) { + $moderationHandler = ObjectTypeCache::getInstance() + ->getObjectType($this->getModerationQueue()->objectTypeID) + ->getProcessor(); + $this->typeName = $this->getLanguage()->get($moderationHandler->getCommentNotificationTypeNameLanguageItem()); + } + + return $this->typeName; + } + + /** + * @inheritDoc + */ + protected function getObjectTitle(): string + { + return $this->moderationQueue->getTitle(); + } } diff --git a/wcfsetup/install/files/lib/system/user/notification/event/PageCommentResponseOwnerUserNotificationEvent.class.php b/wcfsetup/install/files/lib/system/user/notification/event/PageCommentResponseOwnerUserNotificationEvent.class.php index c7a12140ce..836da73981 100644 --- a/wcfsetup/install/files/lib/system/user/notification/event/PageCommentResponseOwnerUserNotificationEvent.class.php +++ b/wcfsetup/install/files/lib/system/user/notification/event/PageCommentResponseOwnerUserNotificationEvent.class.php @@ -19,17 +19,12 @@ use wcf\system\user\notification\object\CommentResponseUserNotificationObject; * * @method CommentResponseUserNotificationObject getUserNotificationObject() */ -class PageCommentResponseOwnerUserNotificationEvent extends AbstractSharedUserNotificationEvent implements +class PageCommentResponseOwnerUserNotificationEvent extends AbstractCommentResponseUserNotificationEvent implements ITestableUserNotificationEvent { use TTestableCommentResponseUserNotificationEvent; use TTestablePageUserNotificationEvent; - /** - * @inheritDoc - */ - protected $stackable = true; - /** * @inheritDoc */ @@ -38,25 +33,6 @@ class PageCommentResponseOwnerUserNotificationEvent extends AbstractSharedUserNo CommentRuntimeCache::getInstance()->cacheObjectID($this->getUserNotificationObject()->commentID); } - /** - * @inheritDoc - */ - public function getTitle(): string - { - $count = \count($this->getAuthors()); - if ($count > 1) { - return $this->getLanguage()->getDynamicVariable( - 'wcf.user.notification.pageComment.responseOwner.title.stacked', - [ - 'count' => $count, - 'timesTriggered' => $this->notification->timesTriggered, - ] - ); - } - - return $this->getLanguage()->get('wcf.user.notification.pageComment.responseOwner.title'); - } - /** * @inheritDoc */ @@ -123,9 +99,17 @@ class PageCommentResponseOwnerUserNotificationEvent extends AbstractSharedUserNo /** * @inheritDoc */ - public function getEventHash() + protected function getTypeName(): string + { + return $this->getLanguage()->get('wcf.search.object.com.woltlab.wcf.page'); + } + + /** + * @inheritDoc + */ + protected function getObjectTitle(): string { - return \sha1($this->eventID . '-' . $this->notification->objectID); + return PageCache::getInstance()->getPage($this->additionalData['objectID'])->getTitle(); } /** diff --git a/wcfsetup/install/files/lib/system/user/notification/event/PageCommentResponseUserNotificationEvent.class.php b/wcfsetup/install/files/lib/system/user/notification/event/PageCommentResponseUserNotificationEvent.class.php index 3c328bf9d9..0f1e121633 100644 --- a/wcfsetup/install/files/lib/system/user/notification/event/PageCommentResponseUserNotificationEvent.class.php +++ b/wcfsetup/install/files/lib/system/user/notification/event/PageCommentResponseUserNotificationEvent.class.php @@ -20,17 +20,12 @@ use wcf\system\user\notification\object\CommentResponseUserNotificationObject; * * @method CommentResponseUserNotificationObject getUserNotificationObject() */ -class PageCommentResponseUserNotificationEvent extends AbstractSharedUserNotificationEvent implements +class PageCommentResponseUserNotificationEvent extends AbstractCommentResponseUserNotificationEvent implements ITestableUserNotificationEvent { use TTestableCommentResponseUserNotificationEvent; use TTestablePageUserNotificationEvent; - /** - * @inheritDoc - */ - protected $stackable = true; - /** * @inheritDoc */ @@ -39,25 +34,6 @@ class PageCommentResponseUserNotificationEvent extends AbstractSharedUserNotific CommentRuntimeCache::getInstance()->cacheObjectID($this->getUserNotificationObject()->commentID); } - /** - * @inheritDoc - */ - public function getTitle(): string - { - $count = \count($this->getAuthors()); - if ($count > 1) { - return $this->getLanguage()->getDynamicVariable( - 'wcf.user.notification.pageComment.response.title.stacked', - [ - 'count' => $count, - 'timesTriggered' => $this->notification->timesTriggered, - ] - ); - } - - return $this->getLanguage()->get('wcf.user.notification.pageComment.response.title'); - } - /** * @inheritDoc */ @@ -143,9 +119,17 @@ class PageCommentResponseUserNotificationEvent extends AbstractSharedUserNotific /** * @inheritDoc */ - public function getEventHash() + protected function getTypeName(): string + { + return $this->getLanguage()->get('wcf.search.object.com.woltlab.wcf.page'); + } + + /** + * @inheritDoc + */ + protected function getObjectTitle(): string { - return \sha1($this->eventID . '-' . $this->notification->objectID); + return PageCache::getInstance()->getPage($this->additionalData['objectID'])->getTitle(); } /** diff --git a/wcfsetup/install/files/lib/system/user/notification/event/UserProfileCommentResponseOwnerUserNotificationEvent.class.php b/wcfsetup/install/files/lib/system/user/notification/event/UserProfileCommentResponseOwnerUserNotificationEvent.class.php index 003cefb68d..4939d0d0c5 100644 --- a/wcfsetup/install/files/lib/system/user/notification/event/UserProfileCommentResponseOwnerUserNotificationEvent.class.php +++ b/wcfsetup/install/files/lib/system/user/notification/event/UserProfileCommentResponseOwnerUserNotificationEvent.class.php @@ -18,16 +18,11 @@ use wcf\system\user\notification\object\CommentResponseUserNotificationObject; * * @method CommentResponseUserNotificationObject getUserNotificationObject() */ -class UserProfileCommentResponseOwnerUserNotificationEvent extends AbstractSharedUserNotificationEvent implements +class UserProfileCommentResponseOwnerUserNotificationEvent extends AbstractCommentResponseUserNotificationEvent implements ITestableUserNotificationEvent { use TTestableCommentResponseUserNotificationEvent; - /** - * @inheritDoc - */ - protected $stackable = true; - /** * @inheritDoc */ @@ -40,25 +35,6 @@ class UserProfileCommentResponseOwnerUserNotificationEvent extends AbstractShare ]); } - /** - * @inheritDoc - */ - public function getTitle(): string - { - $count = \count($this->getAuthors()); - if ($count > 1) { - return $this->getLanguage()->getDynamicVariable( - 'wcf.user.notification.commentResponseOwner.title.stacked', - [ - 'count' => $count, - 'timesTriggered' => $this->notification->timesTriggered, - ] - ); - } - - return $this->getLanguage()->get('wcf.user.notification.commentResponseOwner.title'); - } - /** * @inheritDoc */ @@ -141,9 +117,17 @@ class UserProfileCommentResponseOwnerUserNotificationEvent extends AbstractShare /** * @inheritDoc */ - public function getEventHash() + protected function getTypeName(): string + { + return $this->getLanguage()->get('wcf.user.profile.menu.wall'); + } + + /** + * @inheritDoc + */ + protected function getObjectTitle(): string { - return \sha1($this->eventID . '-' . $this->getUserNotificationObject()->commentID); + return UserProfileRuntimeCache::getInstance()->getObject($this->additionalData['objectID'])->username; } /** diff --git a/wcfsetup/install/files/lib/system/user/notification/event/UserProfileCommentResponseUserNotificationEvent.class.php b/wcfsetup/install/files/lib/system/user/notification/event/UserProfileCommentResponseUserNotificationEvent.class.php index 6285e02d00..36d8c2085b 100644 --- a/wcfsetup/install/files/lib/system/user/notification/event/UserProfileCommentResponseUserNotificationEvent.class.php +++ b/wcfsetup/install/files/lib/system/user/notification/event/UserProfileCommentResponseUserNotificationEvent.class.php @@ -18,16 +18,11 @@ use wcf\system\user\notification\object\CommentResponseUserNotificationObject; * * @method CommentResponseUserNotificationObject getUserNotificationObject() */ -class UserProfileCommentResponseUserNotificationEvent extends AbstractSharedUserNotificationEvent implements +class UserProfileCommentResponseUserNotificationEvent extends AbstractCommentResponseUserNotificationEvent implements ITestableUserNotificationEvent { use TTestableCommentResponseUserNotificationEvent; - /** - * @inheritDoc - */ - protected $stackable = true; - /** * @inheritDoc */ @@ -37,22 +32,6 @@ class UserProfileCommentResponseUserNotificationEvent extends AbstractSharedUser UserProfileRuntimeCache::getInstance()->cacheObjectID($this->additionalData['objectID']); } - /** - * @inheritDoc - */ - public function getTitle(): string - { - $count = \count($this->getAuthors()); - if ($count > 1) { - return $this->getLanguage()->getDynamicVariable('wcf.user.notification.commentResponse.title.stacked', [ - 'count' => $count, - 'timesTriggered' => $this->notification->timesTriggered, - ]); - } - - return $this->getLanguage()->get('wcf.user.notification.commentResponse.title'); - } - /** * @inheritDoc */ @@ -120,9 +99,17 @@ class UserProfileCommentResponseUserNotificationEvent extends AbstractSharedUser /** * @inheritDoc */ - public function getEventHash() + protected function getTypeName(): string + { + return $this->getLanguage()->get('wcf.user.profile.menu.wall'); + } + + /** + * @inheritDoc + */ + protected function getObjectTitle(): string { - return \sha1($this->eventID . '-' . $this->getUserNotificationObject()->commentID); + return UserProfileRuntimeCache::getInstance()->getObject($this->additionalData['objectID'])->username; } /** diff --git a/wcfsetup/install/lang/de.xml b/wcfsetup/install/lang/de.xml index 976ea55d92..c397930fc2 100644 --- a/wcfsetup/install/lang/de.xml +++ b/wcfsetup/install/lang/de.xml @@ -4294,8 +4294,6 @@ Dateianhänge: {$moderationQueue} verfasst.]]> getAuthor()->userID || $guestTimesTriggered == 0)}hat einen Kommentar{else}haben Kommentare{/if} zum Moderationseintrag {@$moderationQueue->getTitle()} [URL:{@$moderationQueue->getLink()}] verfasst{if $count == 1 && $guestTimesTriggered < 2 && (!$event->getAuthor()->userID || $guestTimesTriggered == 0)}:{else}.{/if}]]> {@$authorList} {if $count == 1 && $guestTimesTriggered < 2 && (!$event->getAuthor()->userID || $guestTimesTriggered == 0)}hat einen Kommentar{else}haben Kommentare{/if} zum Moderationseintrag {$moderationQueue->getTitle()} verfasst:

]]>
- - userID}{$author}{else}Ein Gast{/if} hat eine Antwort zum Kommentar von {$commentAuthor->username} zum Moderationseintrag {$moderationQueue} verfasst.]]> {$moderationQueue} verfasst.]]> getAuthor()->userID || $guestTimesTriggered == 0)}hat eine Antwort{else}haben Antworten{/if} zum Kommentar von {@$commentAuthor} zum Moderationseintrag {@$moderationQueue->getTitle()} [URL:{@$moderationQueue->getLink()}] verfasst{if $count == 1 && !$guestTimesTriggered}:{else}.{/if}]]> @@ -4340,8 +4338,6 @@ Dateianhänge: {$moderationQueue} verfasst.]]> getAuthor()->userID || $guestTimesTriggered == 0)}hat einen Kommentar{else}haben Kommentare{/if} zum freizuschaltenden Inhalt {@$moderationQueue->getTitle()} [URL:{@$moderationQueue->getLink()}] verfasst{if $count == 1 && !$guestTimesTriggered}:{else}.{/if}]]> {@$authorList} {if $count == 1 && $guestTimesTriggered < 2 && (!$event->getAuthor()->userID || $guestTimesTriggered == 0)}hat einen Kommentar{else}haben Kommentare{/if} zum freizuschaltenden Inhalt {$moderationQueue->getTitle()} verfasst:

]]>
- - userID}{$author}{else}Ein Gast{/if} hat eine Antwort zum Kommentar von {$commentAuthor} zum freizuschaltenden Inhalt {$moderationQueue} verfasst.]]> {$moderationQueue} verfasst.]]> getAuthor()->userID || $guestTimesTriggered == 0)}hat eine Antwort{else}haben Antworten{/if} zum Kommentar von {@$commentAuthor} zum freizuschaltenden Inhalt {@$moderationQueue->getTitle()} [URL:{@$moderationQueue->getLink()}] verfasst{if $count == 1 && !$guestTimesTriggered}:{else}.{/if}]]> @@ -4357,8 +4353,6 @@ Dateianhänge: {$moderationQueue} verfasst.]]> getAuthor()->userID || $guestTimesTriggered == 0)}hat einen Kommentar{else}haben Kommentare{/if} zu der Meldung {@$moderationQueue->getTitle()} [URL:{@$moderationQueue->getLink()}] verfasst{if $count == 1 && !$guestTimesTriggered}:{else}.{/if}]]> {@$authorList} {if $count == 1 && $guestTimesTriggered < 2 && (!$event->getAuthor()->userID || $guestTimesTriggered == 0)}hat einen Kommentar{else}haben Kommentare{/if} zu der Meldung {$moderationQueue->getTitle()} verfasst:

]]>
- - userID}{$author}{else}Ein Gast{/if} hat eine Antwort zum Kommentar von {$commentAuthor} zur Meldung {$moderationQueue} verfasst.]]> {$moderationQueue} verfasst.]]> getAuthor()->userID || $guestTimesTriggered == 0)}hat eine Antwort{else}haben Antworten{/if} zum Kommentar von {@$commentAuthor} zur Meldung {@$moderationQueue->getTitle()} [URL:{@$moderationQueue->getLink()}] verfasst{if $count == 1 && !$guestTimesTriggered}:{else}.{/if}]]> @@ -5360,8 +5354,6 @@ Benachrichtigungen auf {PAGE_TITLE|phra {$author} hat auf {if LANGUAGE_USE_INFORMAL_VARIANT}deinen{else}Ihren{/if} Kommentar an {if $owner === null}{if LANGUAGE_USE_INFORMAL_VARIANT}deiner{else}Ihrer{/if} Pinnwand{else}der Pinnwand von {$owner}{/if} reagiert ({@$__wcf->getReactionHandler()->renderInlineList($reactions)}).]]> {$owner}{/if} reagiert ({@$__wcf->getReactionHandler()->renderInlineList($reactions)}).]]> - - userID}{$author}{else}Ein Gast{/if} hat eine Antwort zu {if LANGUAGE_USE_INFORMAL_VARIANT}deinem{else}Ihrem{/if} Kommentar an {if $owner->userID == $__wcf->getUser()->userID}{if LANGUAGE_USE_INFORMAL_VARIANT}deiner{else}Ihrer{/if} Pinnwand{else}der Pinnwand von {$owner}{/if} verfasst.]]> userID == $__wcf->getUser()->userID}{if LANGUAGE_USE_INFORMAL_VARIANT}deiner{else}Ihrer{/if} Pinnwand{else}der Pinnwand von {$owner}{/if} geantwortet.]]> getAuthor()->userID || $guestTimesTriggered == 0)}hat eine Antwort{else}haben Antworten{/if} auf {if LANGUAGE_USE_INFORMAL_VARIANT}deinen{else}Ihren{/if} Kommentar an {if $mailbox->getUser()->userID == $owner->userID}{if LANGUAGE_USE_INFORMAL_VARIANT}deiner{else}Ihrer{/if} Pinnwand{else}der Pinnwand von {@$owner}{/if} [URL:{@$owner->getLink()}#wall/comment{@$commentID}/response{@$responseID}] verfasst{if $count == 1 && !$guestTimesTriggered}:{else}.{/if}]]> @@ -5370,8 +5362,6 @@ Benachrichtigungen auf {PAGE_TITLE|phra {$author} hat auf {if LANGUAGE_USE_INFORMAL_VARIANT}deine{else}Ihre{/if} Antwort auf einen Kommentar an {if $owner === null}{if LANGUAGE_USE_INFORMAL_VARIANT}deiner{else}Ihrer{/if} Pinnwand{else}der Pinnwand von {$owner}{/if} reagiert ({@$__wcf->getReactionHandler()->renderInlineList($reactions)}).]]> {$owner}{/if} reagiert ({@$__wcf->getReactionHandler()->renderInlineList($reactions)}).]]> - - userID}{$author}{else}Ein Gast{/if} hat eine Antwort zum Kommentar von {$commentAuthor} an {if LANGUAGE_USE_INFORMAL_VARIANT}deiner{else}Ihrer{/if} Pinnwand verfasst.]]> {$author} an {if LANGUAGE_USE_INFORMAL_VARIANT}deiner{else}Ihrer{/if} Pinnwand geantwortet.]]> getAuthor()->userID || $guestTimesTriggered == 0)}hat eine Antwort{else}haben Antworten{/if} zum Kommentar von {@$commentAuthor} an {if LANGUAGE_USE_INFORMAL_VARIANT}deiner{else}Ihrer{/if} Pinnwand [URL:{$owner->getLink()}#wall/comment{@$commentID}/response{@$responseID}] verfasst{if $count == 1 && !$guestTimesTriggered}:{else}.{/if}]]> @@ -5399,14 +5389,10 @@ Benachrichtigungen auf {PAGE_TITLE|phra {$page->getTitle()} verfasst.]]> getAuthor()->userID || $guestTimesTriggered == 0)}hat einen Kommentar{else}haben Kommentare{/if} auf der Seite „{@$page->getTitle()}“ [URL:{@$page->getLink()}#comment{@$commentID}] verfasst{if $count == 1 && !$guestTimesTriggered}:{else}.{/if}]]> {@$authorList} {if $count == 1 && $guestTimesTriggered < 2 && (!$event->getAuthor()->userID || $guestTimesTriggered == 0)}hat einen Kommentar{else}haben Kommentare{/if} auf der Seite {$page->getTitle()} verfasst:

]]> - - userID}{$author}{else}Ein Gast{/if} hat eine Antwort zu dem Kommentar von {$commentAuthor} auf der Seite {$page->getTitle()} verfasst.]]> {$commentAuthor} auf der Seite {$page->getTitle()} geantwortet.]]> getAuthor()->userID || $guestTimesTriggered == 0)}hat eine Antwort{else}haben Antworten{/if} zum Kommentar von {@$commentAuthor} auf der Seite „{@$page->getTitle()}“ [URL:{@$page->getLink()}#comment{@$commentID}/response{@$responseID}] verfasst{if $count == 1 && !$guestTimesTriggered}:{else}.{/if}]]> {@$authorList} {if $count == 1 && $guestTimesTriggered < 2 && (!$event->getAuthor()->userID || $guestTimesTriggered == 0)}hat eine Antwort{else}haben Antworten{/if} zum Kommentar von {$commentAuthor} auf der Seite {$page->getTitle()} verfasst:

]]>
- - userID}{$author}{else}Ein Gast{/if} hat eine Antwort auf {if LANGUAGE_USE_INFORMAL_VARIANT}deinen{else}Ihren{/if} Kommentar auf der Seite {$page->getTitle()} verfasst.]]> {$page->getTitle()} geantwortet.]]> getAuthor()->userID || $guestTimesTriggered == 0)}hat eine Antwort{else}haben Antworten{/if} auf {if LANGUAGE_USE_INFORMAL_VARIANT}deinen{else}Ihren{/if} Kommentar auf der Seite „{@$page->getTitle()}“ [URL:{@$page->getLink()}#comment{@$commentID}/response{@$responseID}] verfasst{if $count == 1 && !$guestTimesTriggered}:{else}.{/if}]]> @@ -5425,8 +5411,9 @@ Benachrichtigungen auf {PAGE_TITLE|phra {$author} hat auf {if LANGUAGE_USE_INFORMAL_VARIANT}deinen{else}Ihren{/if} Kommentar zum Artikel {$article->getTitle()} reagiert ({@$__wcf->getReactionHandler()->renderInlineList($reactions)}).]]> {$article->getTitle()} reagiert ({@$__wcf->getReactionHandler()->renderInlineList($reactions)}).]]> - - + + + userID}{$author}{else}Ein Gast{/if} hat eine Antwort zu einem Kommentar in dem Artikel {$article->getTitle()} verfasst.]]> {$article->getTitle()} verfasst.]]> getAuthor()->userID || $guestTimesTriggered == 0)}hat eine Antwort{else}haben Antworten{/if} zu einem Kommentar in dem Artikel „{@$article->getTitle()}“ [URL:{@$article->getLink()}#comments/comment{@$commentID}/response{@$responseID}] verfasst{if $count == 1 && !$guestTimesTriggered}:{else}.{/if}]]> @@ -5435,8 +5422,6 @@ Benachrichtigungen auf {PAGE_TITLE|phra {$author} hat auf {if LANGUAGE_USE_INFORMAL_VARIANT}deine{else}Ihre{/if} Antwort auf einen Kommentar zum Artikel {$article->getTitle()} reagiert ({@$__wcf->getReactionHandler()->renderInlineList($reactions)}).]]> {$article->getTitle()} reagiert ({@$__wcf->getReactionHandler()->renderInlineList($reactions)}).]]> - - userID}{$author}{else}Ein Gast{/if} hat eine Antwort zum Kommentar von {$commentAuthor} zu {if LANGUAGE_USE_INFORMAL_VARIANT}deinem{else}Ihrem{/if} Artikel {$article->getTitle()} verfasst.]]> {$commentAuthor} zu {if LANGUAGE_USE_INFORMAL_VARIANT}deinem{else}Ihrem{/if} Artikel {$article->getTitle()} verfasst.]]> getAuthor()->userID || $guestTimesTriggered == 0)}hat eine Antwort{else}haben Antworten{/if} zum Kommentar von {@$commentAuthor} zu {if LANGUAGE_USE_INFORMAL_VARIANT}deinem{else}Ihrem{/if} Artikel „{@$article->getTitle()}“ [URL:{@$article->getLink()}#comments/comment{@$commentID}/response{@$responseID}] verfasst{if $count == 1 && !$guestTimesTriggered}:{else}.{/if}]]> diff --git a/wcfsetup/install/lang/en.xml b/wcfsetup/install/lang/en.xml index 4ad71f2190..ea5997f521 100644 --- a/wcfsetup/install/lang/en.xml +++ b/wcfsetup/install/lang/en.xml @@ -5361,8 +5361,6 @@ your notifications on {PAGE_TITLE|phras {$author} reacted to your comment on {if $owner === null}your wall{else}{$owner}’s{/if} ({@$__wcf->getReactionHandler()->renderInlineList($reactions)}).]]> {$owner}’s wall{/if} ({@$__wcf->getReactionHandler()->renderInlineList($reactions)}).]]> - - userID}{$author}{else}A guest{/if} replied to your comment on {if $owner->userID == $__wcf->getUser()->userID}your{else}{$owner}’s{/if} wall.]]> userID == $__wcf->getUser()->userID}your{else}{$owner}’s{/if} wall.]]> getUser()->userID == $owner->userID}your{else}{@$owner}’s{/if} wall [URL:{@$owner->getLink()}#wall/comment{@$commentID}/response{@$responseID}]{if $count == 1 && !$guestTimesTriggered}:{else}.{/if}]]> @@ -5371,8 +5369,6 @@ your notifications on {PAGE_TITLE|phras {$author} reacted to your reply to a comment on {if $owner === null}your wall{else}{$owner}’s wall{/if} ({@$__wcf->getReactionHandler()->renderInlineList($reactions)}).]]> {$owner}’s wall{/if} ({@$__wcf->getReactionHandler()->renderInlineList($reactions)}).]]> - - userID}{$author}{else}A guest{/if} replied to {$commentAuthor}’s comment on your wall.]]> {$author} on your wall.]]> getLink()}#wall/comment{@$commentID}/response{@$responseID}]{if $count == 1 && !$guestTimesTriggered}:{else}.{/if}]]> @@ -5400,14 +5396,10 @@ your notifications on {PAGE_TITLE|phras {$page->getTitle()}.]]> getTitle()}” [URL:{@$page->getLink()}#comment{@$commentID}]{if $count == 1 && !$guestTimesTriggered}:{else}.{/if}]]> {@$authorList} commented on the page {$page->getTitle()}:

]]> - - userID}{$author}{else}A guest{/if} replied to {$commentAuthor}’s comment on the page {$page->getTitle()}.]]> {$commentAuthor}’s comment on the page {$page->getTitle()}.]]> getTitle()}” [URL:{@$page->getLink()}#comment{@$commentID}]{if $count == 1 && !$guestTimesTriggered}:{else}.{/if}]]> {@$authorList} replied to {$commentAuthor}’s comment on the page {$page->getTitle()}:

]]>
- - userID}{$author}{else}A guest{/if} replied to your comment on the page {$page->getTitle()}.]]> {$page->getTitle()}.]]> getTitle()}” [URL:{@$page->getLink()}#comment{@$commentID}]{if $count == 1 && !$guestTimesTriggered}:{else}.{/if}]]> @@ -5426,8 +5418,9 @@ your notifications on {PAGE_TITLE|phras {$author} reacted to your comment on the article {$article->getTitle()} ({@$__wcf->getReactionHandler()->renderInlineList($reactions)}).]]> {$article->getTitle()} ({@$__wcf->getReactionHandler()->renderInlineList($reactions)}).]]> - - + + + userID}{$author}{else}A guest{/if} replied to a comment on the article {$article->getTitle()}.]]> {$article->getTitle()}.]]> getTitle()}” [URL:{@$article->getLink()}#comments/comment{@$commentID}/response{@$responseID}]{if $count == 1 && !$guestTimesTriggered}:{else}.{/if}]]> @@ -5436,8 +5429,6 @@ your notifications on {PAGE_TITLE|phras {$author} reacted to your reply to a comment on the article {$article->getTitle()} ({@$__wcf->getReactionHandler()->renderInlineList($reactions)}).]]> {$article->getTitle()} ({@$__wcf->getReactionHandler()->renderInlineList($reactions)}).]]> - - userID}{$author}{else}A guest{/if} replied to a comment by {$commentAuthor} on your article {$article->getTitle()}.]]> {$commentAuthor} on your article {$article->getTitle()}.]]> getTitle()}” [URL:{@$article->getLink()}#comments/comment{@$commentID}/response{@$responseID}]{if $count == 1 && !$guestTimesTriggered}:{else}.{/if}]]> -- 2.20.1