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?

    • Official Post

    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.