- Affected Version
- WoltLab Suite 5.3
- Affected App
- WoltLab Suite Core
Hallo zusammen,
einem Nutzer ist gerade aufgefallen, dass das Verhalten von Aktivitäten ignorierter Nutzer in der "Letzte Aktivitäten" Liste unterschiedlich ist, je nachdem ob der Eintrag auf der ersten Seite ist oder nachgeladen werden muss.
Auf der ersten Seite werden Einträge von ignorierten Benutzern nicht angezeigt. Gibt es aber Einträge von ignorierten Nutzern die nachgeladen werden, werden sie ausgegraut angezeigt.
Dies liegt an der unterschiedlichen Logik in RecentActivityListBoxController
Für das initiale Laden, wird readObjects aufgerufen:
// apply filter
if (($this->getBox()->position == 'contentTop' || $this->getBox()->position == 'contentBottom') && $this->filteredByFollowedUsers) {
if (!$this->filteredByFollowedUsersOverride) {
/** @noinspection PhpUndefinedMethodInspection */
$this->objectList->getConditionBuilder()->add('user_activity_event.userID IN (?)', [WCF::getUserProfileHandler()->getFollowingUsers()]);
}
}
else if (!empty(UserProfileHandler::getInstance()->getIgnoredUsers())) {
$this->objectList->getConditionBuilder()->add("user_activity_event.userID NOT IN (?)", [UserProfileHandler::getInstance()->getIgnoredUsers()]);
}
Beim Nachladen jedoch getFilteredList
// apply filter
if (($this->getBox()->position == 'contentTop' || $this->getBox()->position == 'contentBottom') && $this->filteredByFollowedUsers) {
/** @noinspection PhpUndefinedMethodInspection */
$this->objectList->getConditionBuilder()->add('user_activity_event.userID IN (?)', [WCF::getUserProfileHandler()->getFollowingUsers()]);
}
Der Filter für die ignorierten Nutzern fehlt hier. Ist das beabsichtigt oder ein Fehler? Ich würde es zwar cool finden, wenn man das einstellen könnte, welches Verhalten man möchte. Es sollte aber zumindest einheitlich funktionieren