Themen ohne UserID werden nach Benutzer-Blockierung ausgeblendet

  • Affected App
    WoltLab Suite Forum

    Es hat eine Weile gedauert, bis ich darauf gekommen bin, allerdings scheint es wohl ein Problem mit dieser Abfrage in der BoardPage zu geben:


    PHP
    if (!empty(UserProfileHandler::getInstance()->getIgnoredUsers())) {
        $this->objectList->getConditionBuilder()->add("thread.userID NOT IN (?)", [UserProfileHandler::getInstance()->getIgnoredUsers()]);
    }


    Konkret führt diese Abfrage dazu, dass sämtliche Themen, deren Ersteller nicht (mehr) existieren, ausgeblendet werden, sobald man mindestens eine Person auf der Ignorier-Liste hat.


    Ich konnte das auch reproduzieren:


    Code
    > SELECT ignoreUserID FROM wcf1_user_ignore WHERE userID = 67804
    /* Betroffene Zeilen: 0  Gefundene Zeilen: 5  Warnungen: 0  Dauer von 1 Abfrage: 0,015 Sek. */


    =>


    Code
    ignoreUserID
    
    18923
    87998
    90165
    90823
    99289


    SQL
    > SELECT userID FROM wbb1_thread WHERE threadID = 136887 AND userID NOT IN (SELECT ignoreUserID FROM wcf222020_user_ignore WHERE userID = 67804)
    /* Betroffene Zeilen: 0  Gefundene Zeilen: 0  Warnungen: 0  Dauer von 1 Abfrage: 0,031 Sek. */


    ...


    SQL
    > SELECT userID FROM wbb1_thread WHERE threadID = 136887
    /* Betroffene Zeilen: 0  Gefundene Zeilen: 1  Warnungen: 0  Dauer von 1 Abfrage: 0,047 Sek. */


    =>


    Code
    userID
    
    NULL


    ----


    Auch hier im Forum lässt sich das reproduzieren: Der Off-Topic-Bereich hat insgesamt 264 Seiten. Hat man einen Benutzer ignoriert, reduziert sich die Anzahl der Seiten auf 237*


    * = Ich habe zum testen einfach den neuesten, registrierten Benutzer ignoriert.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!