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