VisitTracker: Eintrag wird permanent als neu angezeigt

  • Ich stehe aktuell etwas auf dem Schlauch und weiss gerade nicht wo ich den Fehler suchen könnte.

    Ich habe mir für ein Plugin ein objectType com.woltlab.wcf.visitTracker.objectType. Danach habe ich mir alles nötige erstellt was soweit wohl auch zu funktionieren schien.

    Meine Funktion für die ungelesenen Einträge getUnreadMessages gibt mir auch die korrekte Anzahl wieder. Erstelle ich einen neuen sehe ich dies, und öffne ich den neuen Eintrag, so wird dieser mit getUnreadMessages auch abgezogen.

    Jedoch erhalte ich bei den Einträgen für isNew und isNewMessage jeweils die Information das mein Eintrag noch ungelesen sei und egal wie oft ich diesen Besuche er bleibt auch ungelesen.

    Ich habe mir die entsprechenden Funktionen auch vom Forum oder die Konversation angesehen. Das einzige was mir hier aufgefallen wäre ist das bei mir in der function getVisitTime die Variable $this->visitTime leer ist. Ich habe auf die schnelle bei anderen Apps aber auch nicht gesehen wo dieser Inhalt gefüllt wird.

    Langsam sehe ich wohl den Wald vor lauter bäumen nicht mehr. Vielleicht kann mich ja jemand auf den richtigen Baum jagen :S

    Frage nebenbei die auch zu diesem Abschnitt gehört. Bei markAsRead wird jeweils der UserStorage zurückgesetzt. Beim Forum z.B.

    Code
    UserStorageHandler::getInstance()->reset([WCF::getUser()->userID], 'wbbUnreadThreads');

    Dieser wird jedoch immer nur zurückgesetzt, oder ausgelesen. Nicht aber definiert oder befüllt. Wo wird dieser genau definiert/gefüllt?

    Einmal editiert, zuletzt von beMananas (23. Juni 2021 um 11:31)

    • Offizieller Beitrag

    Ich habe mir die entsprechenden Funktionen auch vom Forum oder die Konversation angesehen. Das einzige was mir hier aufgefallen wäre ist das bei mir in der function getVisitTime die Variable $this->visitTime leer ist. Ich habe auf die schnelle bei anderen Apps aber auch nicht gesehen wo dieser Inhalt gefüllt wird.

    Langsam sehe ich wohl den Wald vor lauter bäumen nicht mehr. Vielleicht kann mich ja jemand auf den richtigen Baum jagen :S

    $visitTime kommt aus einem JOIN in z.B. ViewableThreadList.

    Frage nebenbei die auch zu diesem Abschnitt gehört. Bei markAsRead wird jeweils der UserStorage zurückgesetzt. Beim Forum z.B.

    Code
    UserStorageHandler::getInstance()->reset([WCF::getUser()->userID], 'wbbUnreadThreads');

    Dieser wird jedoch immer nur zurückgesetzt, oder ausgelesen. Nicht aber definiert oder befüllt. Wo wird dieser genau definiert/gefüllt?

    Der Wert wird in ViewableThread::getUnreadThreads() bestimmt und gespeichert.

  • Der Wert wird in ViewableThread::getUnreadThreads() bestimmt und gespeichert

    Danke. Dann habe ich dies richtig verwendet. Dachte ggf benötigt es noch weitere definitionen.

    $visitTime kommt aus einem JOIN in z.B. ViewableThreadList.

    Vielen Dank. Ich weiss nicht wie oft ich diese Funktion durchgearbeitet habe und hab es nun immer überlesen. Das wars natürlich.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!