[3.2][3.3][BETA] Usermap for phpBB

In diesem Forum können Extension-Autoren ihre Extensions vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Benutzeravatar
Cowboy of Bottrop
Mitglied
Beiträge: 60
Registriert: 01.02.2017 21:11
Wohnort: Bottrop
Kontaktdaten:

Re: [3.2][3.3][BETA] Usermap for phpBB

Beitrag von Cowboy of Bottrop »

Ein ganz großes DANKE an Mike!
Für die Extension an sich, den Support dafür und die meist unkomplizierte Übernahme der Anregungen der User. Das kann man gar nicht genug würdigen, zumal du das alles kostenlos machst.

DANKE!
Keep it County,
Markus aka Cowboy

Benutzeravatar
Cowboy of Bottrop
Mitglied
Beiträge: 60
Registriert: 01.02.2017 21:11
Wohnort: Bottrop
Kontaktdaten:

Re: [3.2][3.3][BETA] Usermap for phpBB

Beitrag von Cowboy of Bottrop »

Und wenn du denkst es klemmt nichts mehr, kommt irgendwo ein Fehler her...

In einem zweiten, identisch konfigurierten Forum bekommt ein User bem Ändern seines Profils eine Fehlermeldung, dass im SQL Query-String die user_id leer ist. Wenn ich versuche, den User im ACP zu ändern, bekomme ich eine ausführliche Fehlermeldung, die einen Zusammenhang mit der Usermap nahelegt:

Code: Alles auswählen

Allgemeiner Fehler
SQL ERROR [ mysqli ]

Column 'user_id' cannot be null [1048]

SQL

INSERT INTO d59zu_usermap_users (user_id, username, user_colour, user_lat, user_lng, user_land, user_plz, user_location, user_change_plz, user_change_coord) VALUES (NULL, NULL, '000000', 51.5167, 6.91667, 'DE', '46240', '', 0, 0)

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 1023
CALL: trigger_error()

FILE: [ROOT]/phpbb/db/driver/mysqli.php
LINE: 195
CALL: phpbb\db\driver\driver->sql_error()

FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 345
CALL: phpbb\db\driver\mysqli->sql_query()

FILE: [ROOT]/ext/mot/usermap/event/main_listener.php
LINE: 493
CALL: phpbb\db\driver\factory->sql_query()

FILE: [ROOT]/ext/mot/usermap/event/main_listener.php
LINE: 426
CALL: mot\usermap\event\main_listener->add_user()

FILE: [ROOT]/ext/mot/usermap/event/main_listener.php
LINE: 292
CALL: mot\usermap\event\main_listener->process_user_profile_data()

FILE: [ROOT]/vendor/symfony/event-dispatcher/EventDispatcher.php
LINE: 214
CALL: mot\usermap\event\main_listener->acp_modify_users_profile()

FILE: [ROOT]/vendor/symfony/event-dispatcher/EventDispatcher.php
LINE: 44
CALL: Symfony\Component\EventDispatcher\EventDispatcher->doDispatch()

FILE: [ROOT]/phpbb/event/dispatcher.php
LINE: 62
CALL: Symfony\Component\EventDispatcher\EventDispatcher->dispatch()

FILE: [ROOT]/phpbb/event/dispatcher.php
LINE: 46
CALL: phpbb\event\dispatcher->dispatch()

FILE: [ROOT]/includes/acp/acp_users.php
LINE: 1520
CALL: phpbb\event\dispatcher->trigger_event()

FILE: [ROOT]/includes/functions_module.php
LINE: 676
CALL: acp_users->main()

FILE: [ROOT]/adm/index.php
LINE: 81
CALL: p_master->load_active()
Ich bin mit meinem Latein am Ende...
Keep it County,
Markus aka Cowboy

HaioPaio
Mitglied
Beiträge: 19
Registriert: 05.11.2017 21:42

Re: [3.2][3.3][BETA] Usermap for phpBB

Beitrag von HaioPaio »

Mike

Ich hätte auch noch eine Kleinigkeit beizutragen.
Wenn zwei Mitglieder die gleiche PLZ haben, wird nur einer angezeigt.
Getestet mit 0.6.2 unter 3.2.9 phpBB

Benutzeravatar
Mike-on-Tour
Mitglied
Beiträge: 90
Registriert: 13.01.2020 21:09

Re: [3.2][3.3][BETA] Usermap for phpBB

Beitrag von Mike-on-Tour »

Jetzt bin ich mit meinem Latein aber auch erstmal am Ende, weil

- bei Cowboy of Bottrop der letzte Verweis auf die 'main_listener.php', Zeile 214 beim Ändern des Profils im ACP eine Zeile in einer Funktion anspricht, die gar nicht betroffen sein dürfte. Das muss ich mir genauer ansehen.

- das Übereinanderliegen von 2 Punkten wie bei HaioPaio durch eine Berechnung ausgeglichen wird, dazu werden auch alle Einträge der 'usermap_users' Tabelle im doublesarray sortiert abgelegt (also nicht die kompletten Einträge, sondern die Land/PLZ-Kombination mit zugeordneten user_id's). Kann da ggf. beim Update einer durchgerutscht sein? Liegen die Punkte auch bei stärkster Vergrößerung der Karte noch übereinander, das sind nämlich nur ein paar Meter, die da zwischengerechnet werden; falls das so ist, was passiert, wenn du einen der beiden im ACP deaktivierst und dann wieder aktivierst? (Hintergrund meiner Frage: Beim Deaktivieren werden die User aus allen Einträgen gelöscht und beim anschließenden Aktivieren wieder angelegt. Ggf. müsstest du das mit beiden Usern machen, denn wenn du beim ersten Mal den zuerst eingetragenen User deaktivierst/aktivierst, wird der erste Platz im doublesarray quasi "freigehalten", er würde dann wieder an die ursprüngliche Koordinate gesetzt. Beim zweiten Eintrag wird dieser, weil es der letzte dieser kombination ist, komplett gelöscht und wieder neu angelegt. Wenn diese Prozedur nicht hilft, muss ich dir ein Skript geben, das alle Einträge komplett neu generiert.
Edit: Auf meiner Seite kannst du dir das ja mal ansehen, da habe ich einen Test-User mit derselben Land/PLZ-Kombination laufen.

HaioPaio
Mitglied
Beiträge: 19
Registriert: 05.11.2017 21:42

Re: [3.2][3.3][BETA] Usermap for phpBB

Beitrag von HaioPaio »

Mike-on-Tour hat geschrieben:
08.06.2020 20:48
Liegen die Punkte auch bei stärkster Vergrößerung der Karte noch übereinander,
Du hast recht. Bei starker Vergrößerung sieht man beide.
Aber man kann ja nicht bei jedem Punkt reinzoomen ob da noch einer liegt.
Ich würde empfehlen das bei Gelegenheit zu ändern.
Eventuell könntest du statt eines festen Versatzes einen variablen Versatz machen, in Abhängigkeit von der Zoomstufe.
Dieser Wunsch hat aber keine hohe Prio.

Benutzeravatar
BNa
Valued Contributor
Beiträge: 2652
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: [3.2][3.3][BETA] Usermap for phpBB

Beitrag von BNa »


Benutzeravatar
Mike-on-Tour
Mitglied
Beiträge: 90
Registriert: 13.01.2020 21:09

Re: [3.2][3.3][BETA] Usermap for phpBB

Beitrag von Mike-on-Tour »

Prima, schon mal ein Problem weniger. :)
Ein variabler Versatz wird nicht funktionieren, ich habe bewusst den festen Versatz genommen. Warum wird es nicht funktionieren? Aus 2 Gründen, zum Ersten müssten dann jedesmal die Koordinaten aller User ausgelesen und in Abhängigkeit vom Zoom (also auch bei jeder Änderung des Kartenzooms!!!) neu berechnet werden, das würde die Karte sehr langsam machen.
Und zum Zweiten: Ich stelle mal ein Bild der Usermap aus unserem Motorradforum ein, das ist eine Karte mit ca. 1000 Usern, wenn du dir die angesehen hast, dann sag mir bitte, wie man da variabel arbeiten soll.
[ externes Bild ]

Benutzeravatar
BNa
Valued Contributor
Beiträge: 2652
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: [3.2][3.3][BETA] Usermap for phpBB

Beitrag von BNa »

Bei meiner Version der User-Map phpBB 3.0.14 hatte ich ein Cluster-Plugin,
was mehrere User an "fast ähnlicher" Stelle (je nach Zoom) als "Cluster" zusammenfasst:

http://4seven.bplaced.net/forum/1/user_ ... er_map.php

Bist du Inhaber dieser Website? > auf [OK] klicken

Beim Klick auf den Cluster zoomte es dann automatisch auf die vorhandenen 2-3 oder "whatever" User*...

*(Rechter Mausklick auf den Usernamen führt nach Abfrage zum Profil)

HaioPaio
Mitglied
Beiträge: 19
Registriert: 05.11.2017 21:42

Re: [3.2][3.3][BETA] Usermap for phpBB

Beitrag von HaioPaio »

Hallo Mike
Ich habe auf 3.2.8 mit 0.5.1 bemerkt dass ein User in der Map noch mit der Farbe für kürzlich Registrierte angezeigt wird, obwohl er zwischenzeitlich normaler registrierter Benutzer wurde und nicht mehr Mitglied der Gruppe der kürzlich registrierten ist.
Ich vermute dass er die PLZ und das Land bereits bei der Registrierung ausgefüllt hatte.
Leider blieb der Eintrag user_color in der Tabelle usermap_user auf dem Stand dieser Ersteintragung.
Ich vermute der User sollte aber stets mit der Farbe der aktuellen Hauptgruppe angezeigt werden.
Hast du dieses Verhalten so beabsichtigt?

Ich habe nun einfach die Tabelle direkt bearbeitet und konnte mir so helfen.

Benutzeravatar
Mike-on-Tour
Mitglied
Beiträge: 90
Registriert: 13.01.2020 21:09

Re: [3.2][3.3][BETA] Usermap for phpBB

Beitrag von Mike-on-Tour »

@Cowboy of Bottrop:
Ich habe versucht, diesen Fehler nachzustellen, aber es funktionierte bei allen Versuchen so wie vorgesehen, deshalb kann ich momentan nicht nachvollziehen, was da schief gelaufen ist. Was mir aufgefallen ist: Außer der user_id ist auch der username im Query auf 'Null' gesetzt, die entsprechende Abfrage, die ich als mögliche Fehlerquelle ins Auge gefasst habe, arbeitet aber in meinen Tests einwandfrei. Ist das nur bei diesem einen User passiert? Alle anderen haben keine Probleme? Oder hat den Eintrag im Profil bisher nur dieser eine User gemacht?

@BNa:
Meine Version der Usermap arbeitet mit Leaflet, da habe ich bisher noch keine Möglichkeit der Clusterbildung gefunden (es gibt ein Repository auf Github, aber das scheint bei Leaflet Version 1.0 stehengeblieben zu sein, jedenfalls ist da seit 2 Jahren nichts mehr passiert).
Außerdem würde ein Cluster das Problem von HaioPaio nicht lösen, er möchte ja auch bei Großdarstellung der Karte alle Punkte nebeneinander sehen.

@ HaioPaio:
Die Farbe sollte sich eigentlich beim Wechsel der Hauptgruppe ändern, das ist auch in der Version 0.5.1 schon so implementiert. Wenn sich das wiederholt, sag mir bitte Bescheid, dann muss ich mir das ansehen.

Antworten

Zurück zu „Extensions in Entwicklung“