Gelöst: Wer ist online

  • ahh siehste da habe ich auch schon einen Bug Report geschrieben. Dort wird immer nur der eigene User angezeigt. Selbst unter verschiedenen Rechten wirds nicht korrekt angezeigt. Das habe ich schon reportet, nehm das aber natürlich auch auf auf die Liste.

    Syno mach mal Pause, ich komm gar nicht hinterher :)

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Zitat

    Wer ist Online Modul zeigt nur eigenen User an ( reported, allerdings nicht nachvollziehbar)


    Es geht sogar noch etwas weiter. "immer nur man selbst" ist falsch. Angezeigt werden immer nur die User, die gerade selbst auf "wer ist online" sind.

    Erstaufruf von mir selbst:

    Wartet man, bis sich die Seite selbst neu lädt, dann ist man dort selbst auch verschwunden:


    Ruft man "wer ist online" wieder zum ersten Mal auf und gleichzeitig noch ein anderer User, dann erscheinen beide User in der Liste. Aber nur so lange, bis einer von beiden automatisch neu lädt oder auf eine andere Seite geht (dann ist er wieder weg).


    Angezeigt werden also nur angemeldete User, die aktuell selbst auf "wer ist online" sind. Ein automatisches neu laden der Seite zählt dabei dann aber nicht mehr als "ist auf der Seite".

  • So, nachdem der Fehler im Supportforum ja anscheinend unbekannt ist noch eine weitere Sache dazu....

    Wenn ich manuell einen POST-Request an

    *****

    absende, ohne Parameter zu übermitteln, dann erhalte ich ein JSON-Object mit allen sich aktuell online befindlichen Nutzern, egal ob angemeldet oder Gast. Selbiges auch, wenn der Request per GET erfolgt.

    Nur beim eigentlichen Aufruf über das Forum selbst, also wenn die POST-Werte auch gesendet werden, besteht der Fehler.

    Daher ist der Fehler wohl im Bereich der Post-Daten zu suchen:

    Code
    who=&pagenumber=1&perpage=10&resolveIp=0&pagekey=page21.7&securitytoken=1395509527-6de8fb3f3797d4198569fb7b89bf5522c0a84d46

    Dennoch ist in den übermittelten Daten das "beigetreten an" falsch, aber die User sind wenigstens da.

    Edit: Hängt man die POST-Parameter per GET an, dann kommt das gleiche wie im Forum. Nur der aktuelle Nutzer bzw. eben die, die jetzt gerade auf "wer ist online" sind.

    Code
    https://seo-nw.de/ajax/api/wol/refreshUsers?who=&pagenumber=1&perpage=10&resolveIp=0&pagekey=page21.7&securitytoken=1395509527-6de8fb3f3797d4198569fb7b89bf5522c0a84d46

    Ich würde sogar soweit gehen und behaupten, dass das am Parameter "pagekey=page21.7" liegt. Ist der weg, dann werden die User angezeigt.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • ahh jetzt weiss ich auch was los ist..
    wir haben Wochenende. Hab mich schon gewundert warum es keinen Support bis jetzt gab.

    werde es weiterleiten. werktags :)

    Da mach ich nen Fred auf fürs WE.

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Anbei mal das JSON-Objekt, abgerufen ohne angehängte Parameter, witzigerweise auch ohne den "securitytoken", der dann wohl auch keine wirkliche Funktion hat. P.S. Der Abruf geht auch als unangemeldeter User von einem fremden System aus, also kein Cookie oder so....

    Edit: Ich kürze, da

    Zitat

    Die maximale Zeichenanzahl wurde überschritten. Es dürfen nicht mehr als 20000 Zeichen verwendet werden. Derzeit sind es 92925 Zeichen.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • siehste neuen Post bei mir im VB5 Official Forum, ich habe es gemeldet und das geht schon etwas weiter. Das ist natürlich gar nicht erwünscht das sowas einfach auslesbar ist. Mir als Admin/Mod werden solche Daten nicht angezeigt und jedem X - Beliebigen Gast allerdings schon. ( Habs getestet - funktioniert... )

    Echt ma das geht gar nicht.
    Das stufe ich schon als High Risk Bug ein. Wollte heute eigentlich nix mehr am Forum machen, da ich mich gleich treffe. Ich bleib am Ball .

    Mist Wochenende, jetzt keiner mehr da der sich des grossen Problems annehmen kann,.

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Zitat

    Wollte heute eigentlich nix mehr am Forum machen, da ich mich gleich treffe.


    Alex, die Posts sollen auch keine Aufforderung sein, dass Du was machst. Das sind nur Post zum Daten sammeln. Wie gesagt, die sind morgen auch noch da und nächste Woche auch ;)

    Schönen Feierabend!

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • *** Link veraltet ***
    nä, das hat mein Interesse geweckt. Das ist Datenschlamperei und ja ich werde mich nun auf ein Bierchen treffen. Wenn sowas mir passieren würde, wäre ich sofort da. Das geht gar nicht.

    Aber gut ist Wochenende. Lies dir das mal durch was ich im VB Forum geschrieben habe ( das offizielle ).
    Das wird sicherlich auch dauern bis das behoben worden ist, das grenzt allerdings an Fahrlässigkeit.

    Wir sollten die Tage mal telen, hab dir vor ner halben Std ne PN geschickt, hab da was für dich. ( Wennste das willst...)

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Du kannst du dutzende Bugs beheben an andere Stelle machen sich ein dutzend neue Bugs auf es ist ja nix neues ich hätte lieber noch ein 1-2 Jahre gewartet und dann VB5 auf dem Markt geschmiessen aber naja man kennt es ja von vielen Firmen

  • Keine Ahnung, ob das schon gelöst ist, aber dennoch ein paar weitere Infos. Oben hatte ich ja mal angedeutet, dass es wohl am pagekey liegt und ja, der Code bestätigt das sogar.

    In der Beschreibung

    Zitat

    * @param string $pagekey Fetch users who are only on the page with this pagekey

    und genau dieser "pagekey" wird übermittelt, also die Abfrage darauf beschränkt
    Export von $data

    PHP
    Array (     [who] =>      [pagenumber] =>      [#limit] => 10     [sortfield] =>      [sortorder] =>      [pagekey] => page21.7 )

    Und kommentiere ich zum Test die Zeilen

    PHP
    if ($pagekey)
    {
        $data['pagekey'] = $pagekey;
    }


    aus, dann funktioniert das Modul und zeigt auch an, wo sich User und Gäste befinden.

    Meiner Meinung nach ist da also der Fehler im Funktionsaufruf der

    PHP
    function fetchAll($pagekey = '', $who = '', $pagenumber = 1, $perpage = 0, $sortfield = 'time', $sortorder = 'desc', $resolveIp = false)


    zu suchen, wo fehlerhafterweise ein "pagekey" übergeben wird.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Alex, trete denen mal in den Hintern. Ein "nicht reproduzierbar" ist keine akzeptable Antwort!!!

    In der /core/vb/api/wol.php steht als Hinweis

    Zitat

    @param string $pagekey Fetch users who are only on the page with this pagekey


    Was heißt das zu Deutsch? Mein Englisch war schlecht, aber ich verstehe das als "Wenn ein Pagekey vorhanden ist, werden nur User abfegfragt, die auf einer Seite mit diesen Pagekey sind"

    Dann kommt die Funktion selbst

    PHP
    public function fetchAll($pagekey = '', $who = '', $pagenumber = 1, $perpage = 0, $sortfield = 'time', $sortorder = 'desc', $resolveIp = false)


    Und genau an die wird beim Aufruf von "wer ist online" der Pagekey 21.7 übergeben.

    Ich kann es nur nochmals schreiben. Der Request:

    Code
    who=&pagenumber=1&perpage=10&resolveIp=0&pagekey=page21.7&securitytoken=1395509527-6de8fb3f3797d4198569fb7b89bf5522c0a84d46

    Und eben genau deswegen, weil 21.7 der Key von "Wer ist online ist", werden auf "Wer ist online" auch nur die User angezeigt, die aktuell auch auf "Wer ist online" sind.

    Wird innerhalb der Funktion das hier auskommentiert, dann geht es!

    PHP
    if ($pagekey)
            {
                $data['pagekey'] = $pagekey;
            }


    Es mag sein, dass die Funktion so stimmt, dann wäre aber zu klären, warum bei einem Aufruf von "Wer ist online" ein "pagekey" übertragen wird.

    "nicht reproduzierbar" ist keine Antwort! Scripte verändern sich nicht von selbst und lügen auch nicht. Die haben eine feste Logik, die man nachvollziehen kann!

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • So, da sieht man es auch:

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Alex, sagt Dir das irgendwas?

    Eine "WidgetConfig" mit dem Namen "thisPageOnly" ??

    Weil, da gibt es eine xml, über die ein JS aufgerufen wird. Und im XML gibt es eben genau diese Bedingung. Wenn "thisPageOnly", dann PageKey setzen, ansonsten nicht.

    Und im Quelltext von /online steht auch:

    Code
    <div class="widget-content" data-refresh="60" data-who="" data-perpage="10" data-thispageonly="1" [b]data-pagekey="page21.7"[/b] data-resolve="0">

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • So, Frage hat sich erledigt. "Fehler" scheint gefunden zu sein. Liegt nicht an VB, sondern an den Einstellungen. Das hätte einer von VB aber mal drauf hinweisen können nicht einfach sagen "nicht reproduzierbar"!

    Alex, folgendes: Die Einstellungen dafür sind nicht im ACP zu finden, da kann man lange suchen. Aber oben gibt es ja noch so eine Admin-Navi (dachte bisher, das wäre das gleiche wie im ACP, nur eben extrem gekürzt als Schnellzugriff - aber nein !!)

    WOL (Wer ist online) bearbeiten:
    Als Admin anmelden -> "Wer ist online" aufrufen -> oben auf "Seite bearbeiten" (nicht in den ACP). Dort das Widget von WOL auswählen und rechts auf den Button "ändern". Dann kommen die entsprechenden Optionen, die im ACP nicht zu finden sind!

    [ATTACH=CONFIG]n90147[/ATTACH]


    Genau dieses "Benutzer für diese Seite anzeigen: JA" ist der Fehler, denn dann werden eben nur die angezeigt, die auf der gleichen Seite sind. Scheint aber eine Defaulteinstellung zu sein, denn im Testsystem ist das auch so.

  • Das geht so nämlich jetzt. Allerdings gibt es einen neuen Fehler, denn bei normalen registrierten Usern ist die Anzeige von "Beigetreten am" und "letzte Aktivität" falsch. Als Admin sind die Daten aber richtig.

    Normaler registrierter User:
    [ATTACH=CONFIG]n90150[/ATTACH]

  • Anmerkung zu den falschen Daten: Die sind korrekt, wenn man bei den Gruppenrichtlinien die Berechtigung "Can View Detailed Location Info for Users: YES" erteilt. Das ist aber wohl selbst wieder ein Bug, denn das eine hat mit dem anderen ja nichts zu tun. Mit aktivierter Option sind zwar die Daten richtig, aber andere können auch sehen, wer gerade wem eine PM schreibt, eine ließt und noch ein paar sonst "vertrauliche" Inhalte mehr. Also "aus" lassen.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(