Fehler bei Reaktion auf eine News

Bitte in den Beiträgen keine externe Bilder einbinden, sondern nur die Dateianhänge verwenden.
Vielen dank.
  • Nachdem ich heute auf das WSC 5.2 aktualisiert habe, erhalte ich Fehlermeldungen beim Versuch, auf eine News zu reagieren.


  • Cyperghost

    Hat das Label bestätigt hinzugefügt.
  • Gibt es dafür einen schnellen Fix, den ich einbauen könnte, falls das Update länger dauert?


    Frage mich, ob nur ich allein von diesem Problem betroffen bin. Lassen die anderen Nutzer des News Systems alle keine Reaktionen in den News zu? :/

    • Hilfreich

    Ihr müsste lediglich folgende Zeile aus der Datei news/lib/data/news/LikeableNews.class.php entfernen, diese sind relativ am ende.

    PHP: LikeableNews.class.php
            // update news counters
            $sql = "UPDATE    news".WCF_N."_news news
                SET    cumulativeLikes = COALESCE((SELECT SUM(cumulativeLikes) FROM news".WCF_N."_news WHERE newsID = news.newsID AND isDisabled = 0 AND isDeleted = 0 AND isPublished = 1), 0)
                WHERE   news.newsID = ?";
            $statement = WCF::getDB()->prepareStatement($sql);
            $statement->execute([$this->newsID]);
  • Hmmm, irgendwie lässt sich nun meine Seite gar nicht mehr anzeigen. Bis zur Änderung ging es noch und ich habe keine Ahnung, in wie weit das miteinander zu tun hat... :(


    Wenn ich eingeloggt bin, sehe ich sofort diesen Fehler:


    Als Gast sehe ich die Wartungsmeldung, die ich soeben aktiviert habe.


    Ich habe die Änderungen an der PHP Datei wieder rückgängig gemacht, aber der Fehler bleibt. Zuletzt wurden 3 Beiträge geschrieben, die ich aus der DB gelöscht habe. Hatte gehofft, dass da vielleicht etwas enthalten war... Negativ. :(


    Kommt die Meldung vom News System??

  • Einmal die Datei news/lib/system/user/activity/event/LikeableNewsUserActivityEvent.class.php bearbeiten und folgende Zeilen ersetzen

    PHP: LikeableNewsUserActivityEvent.class.php
    // short output
    $text = WCF::getLanguage()->getDynamicVariable('de.wbb-elite.news.recentActivity.likedNews', [
        'news'         => $news
    ]);
    $event->setTitle($text);

    durch diese hier

    PHP: LikeableNewsUserActivityEvent.class.php
    // short output
    $text = WCF::getLanguage()->getDynamicVariable('de.wbb-elite.news.recentActivity.likedNews', [
        'news'         => $news,
        'reactionType' => $event->reactionType
    ]);
    $event->setTitle($text);

    damit sollte das Problem oben behoben sein.

  • Tatsächlich. Das funktioniert nun! :)


    Kurz zur Erläuterung für die Mitleser: Das Ändern der zuerst genannten PHP Datei brachte zwar bei einer Reaktion auf eine News keinen direkten Fehler mehr, allerdings wurde die Reaktion auf die News in der Box "Letzte Aktivitäten" falsch angezeigt. Diese Box befindet sich auf meinem Dashboard und nachdem ich auf eine News reagiert hatte, knallte es beim Anzeigen des Dashboards. Ich habe die Box deaktiviert und mein Dashboard wurde wieder angezeigt.


    Nun, nach Änderung der zweiten PHP Datei wird die Reaktion auch in der Box "Letzte Aktivitäten" korrekt angezeigt und ich erhalte keinen Fehler mehr beim Aufruf meiner Seite.


    Puh, da fiel mir das Herz auf ein Mal schlagartig in die Hose... :D

  • Hab hier ne Fehlermeldung bekommen:


    Code
    6e007703c7315ddd3d2214d2947abd063d483309
    Fri, 21 Feb 2020 20:04:11 +0000
    Message: Call to a member function canRead() on null
    File: /customers/annika/home/chaos-linie.de/news/lib/system/user/notification/event/NewsCommentResponseLikeUserNotificationEvent.class.php (37)
  • Habe jetzt das nochmal getestet und kommt doch ein Fehler der auch im Logfile drinnen steht. Fehlermeldung : Undefined index: reactionType

    Wurde bei einer News 2mal reagiert

    Wenn man jetzt schauen will wer da reagiert hat kommt folgende Fehler-Meldung

    Dieser Fehler wird dann in der Log-Datei protokolliert.

    Somit funktioniert das reagieren und lasse das jetzt erstmal so bis ein Fix (Update) erstellt wird :huh: