[3.2][3.3][CDB] 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.
Steve Wuppertal
Mitglied
Beiträge: 200
Registriert: 09.05.2011 17:10
Wohnort: Wuppertal
Kontaktdaten:

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

Beitrag von Steve Wuppertal »

Ok, habe die Extension jetzt mit der Version 0.6.1 im Testforum installiert bekommen.

Testforum:
phpBB 3.3.0
PHP 7.2.31
Hosting: Strato


Es scheint so weit zu funktionieren.

PS: Ist es normal, das wenn ich bei geonames.org keinen Schlüssel eingegeben habe, die Usermap (openstreetmap) trotzdem erscheint und User sich eintragen können ?

Hintergrund ist, das anscheinend bei einem Eintrag eines Users im "persönlichen Bereich" (Postleitzahl und Länderauswahl) nach absenden des Formulars ein Fehler ausgelöst wird (wenn kein geonames-Schlüssel eingetragen wurde).

Code: Alles auswählen

Allgemeiner Fehler
Es wurde durch den Administrator kein Geonames.org Nutzer angegeben, die Daten für die Mitgliederkarte konnten nicht ermittelt werden!

Zurück zum persönlichen Bereich

BACKTRACE

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

FILE: [ROOT]/ext/mot/usermap/event/main_listener.php
LINE: 387
CALL: trigger_error()

FILE: [ROOT]/ext/mot/usermap/event/main_listener.php
LINE: 273
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->ucp_profile_info_modify_sql_ary()

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/ucp/ucp_profile.php
LINE: 399
CALL: phpbb\event\dispatcher->trigger_event()

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

FILE: [ROOT]/ucp.php
LINE: 407
CALL: p_master->load_active()
Hier wäre es schöner, wenn das abgefangen würde (z.B. bereits im ACP, wenn kein Schlüssel bei geonames.org eingegeben wurde, dann bleibt die Extension "inaktiv" und nicht sichtbar im "persönlichen Bereich" bis ein Schlüssel hinterlegt wurde.

PS2: Beim Aufruf der Usermap (openstreetmap) über den Link in der Navigationsleiste wird irgendwas geladen, was nicht über eine https-Verbindung kommt (somit ist die Darstellungsseite der Usermap "nicht sicher").
Ist das so gewollt oder nicht berücksichtigt ?

Ansonsten, gute und gelungene Umsetzung der Usermap :)
LuMaReMa
Mitglied
Beiträge: 290
Registriert: 09.11.2016 08:27

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

Beitrag von LuMaReMa »

@ Dr. Death: Das ist mir klar. aber wie bekomme ich bitte eine Fehlermeldung, die nur ein paar Sekunden angezeigt wird, als Text abgespeichert?

Hier noch mal ein größerer Screenshot:

[ externes Bild ]

[ externes Bild ]

Aber größer bekomme ich das nicht hin
Grüße aus dem Bergischen Land
Ludger
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1076
Registriert: 13.01.2020 21:09
Kontaktdaten:

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

Beitrag von Mike-on-Tour »

Du kannst die Bilder wieder löschen (dein Username ist zu erkennen und könnte jetzt von jedem genutzt werden), du hast offensichtlich deinen Account bei geonames.org zwar angelegt, aber nicht freigeschaltet, siehe dazu meine Hinweise im Beschreibungstext des Nutzernamens im Einstellungs-Tab.

Es gibt diese komische "Pause"-Taste, damit kann man die Ausführung anhalten, den Text markieren und kopieren (per Maus) und mit einem Druck auf die "Any Key"-Taste die Ausführung wieder starten

Automatisch dem Beitrag hinzugefügt nach 20 Minuten 15 Sekunden. Bitte Regel für „Topic-Bumping“ beachten. Danke.
Steve Wuppertal hat geschrieben: 04.06.2020 16:51 Es scheint so weit zu funktionieren.

PS: Ist es normal, das wenn ich bei geonames.org keinen Schlüssel eingegeben habe, die Usermap (openstreetmap) trotzdem erscheint und User sich eintragen können ?

Hintergrund ist, das anscheinend bei einem Eintrag eines Users im "persönlichen Bereich" (Postleitzahl und Länderauswahl) nach absenden des Formulars ein Fehler ausgelöst wird (wenn kein geonames-Schlüssel eingetragen wurde).

Hier wäre es schöner, wenn das abgefangen würde (z.B. bereits im ACP, wenn kein Schlüssel bei geonames.org eingegeben wurde, dann bleibt die Extension "inaktiv" und nicht sichtbar im "persönlichen Bereich" bis ein Schlüssel hinterlegt wurde.

PS2: Beim Aufruf der Usermap (openstreetmap) über den Link in der Navigationsleiste wird irgendwas geladen, was nicht über eine https-Verbindung kommt (somit ist die Darstellungsseite der Usermap "nicht sicher").
Ist das so gewollt oder nicht berücksichtigt ?

Ansonsten, gute und gelungene Umsetzung der Usermap :)
Schön, dass es jetzt läuft.

Zum PS:
Die User tragen sich ja nicht in die Usermap ein, sondern befüllen ein Benutzerspezifisches Profilfeld, das ist natürlich immer möglich und wird jedem User und auch dem Admin (wenn er im ACP über 'Benutzer verwalten' in deren Profil geht) immer im Profil angezeigt. Wenn die dort hinterlegte Kombination aus PLZ und Ländercode nicht aufgelöst werden kann (entweder kein geonames.org-Username vorhanden oder die Kombination gibt es nicht), wird auch kein Eintrag in der Tabelle 'usermap_users' erzeugt und somit auch nichts in der Karte dargestellt.
Ich kann im ACP leider nur abfangen, wenn die Einstellungsseite über den "Absenden"-Button verlassen wird, ist dabei kein Eintrag für den geonames-User vorhanden, erfolgt eine Fehlermeldung und der Cursor springt in dieses Eingabefeld zurück. Wenn man diesen Tab durch Auswahl eines anderen Menupunktes verlässt, kriegt die Software das nicht mit und kann nicht meckern.
Der Fehler wird in der genannten Zeile 387 in 'main_listener.php' abgefangen und in eine Fehlermeldung (Popup-Fenster) umgewandelt, warum das jetzt bei dir als "normale" Fehlermeldung auftaucht???

Zum PS2:
Der Server für die Karten-Kacheln läuft über http statt https, deshalb wird die Seite der Mitgliederkarte als unsicher angezeigt, das ist zwar nicht so gewollt, aber nicht änderbar - zumindest solange bei diesem Server das Protokoll nicht umgestellt wird.
Ist genauso, wenn jemand einen Link einstellt, der auf einen Server mit http-Protokoll verweist.
Steve Wuppertal
Mitglied
Beiträge: 200
Registriert: 09.05.2011 17:10
Wohnort: Wuppertal
Kontaktdaten:

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

Beitrag von Steve Wuppertal »

Danke für die ausführliche und aufschlussreiche Antwort :)

Evtl. als Anregung...
Was die Einbindung der Kartenkacheln von openstreetmap angeht, so gibt es da wohl auch die Möglichkeit das via https zu erledigen.
Die "alte" Extension von tas hat die Karte via https eingebunden.
Benutzeravatar
HaioPaio
Mitglied
Beiträge: 290
Registriert: 05.11.2017 21:42

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

Beitrag von HaioPaio »

Mike

Bei mir war der Weg zur 0.6.1 etwas steiniger.
Obwohl 0.6.0 nie aktiviert war und statt der Aktivierung die Fehlermeldung auftrat gibt es Probleme.

Nachdem ich verifiziert hatte dass im ACP die 0.6.0 bei den nicht aktivierten Erweiterungen gelistet war hatte ich den Ordner ext/mot/usermap per ftp gelöscht und die 0.6.1 Daten hochgeladen.
Beim Versuch im ACP die 0.6.1 zu aktivieren schlug mit der gleichen Fehlermeldung fehl wie anfangs die 0.6.0.
Cache löschen hat nichts geholfen.
Ich habe dann mit phpmyadmin alle Tabellen und Einträge mit dem Begriff usermap gesucht und gelöscht.
Danach konnte ich 0.6.1 endlich aktivieren.
Die userdaten waren natürlich weg. Das störte aber nicht da es mein Testforum war. Im LiveForum wäre das ärgerlich gewesen.
www.der-räuchertreff.de phpbb 3.3.7 php 7.4
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1076
Registriert: 13.01.2020 21:09
Kontaktdaten:

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

Beitrag von Mike-on-Tour »

Ich vermute, du hattest noch die Variable 'mot_usermap_countrynames' in der Tabelle 'config_text', sonst noch Rückstände? Ich frage, weil mir das bei der zukünftigen Entwicklung vielleicht helfen kann.
Ansonsten freut es mich, dass du die Version 0.6.1 zum Laufen gebracht hast, wenn es leider auch etwas umständlicher war. Bei mir hat der beschriebene Weg zweimal funktioniert, aber ich hatte bei den dabei betroffenen Testforen auch keine Probleme bei der Installation der Version 0.6.0, sonst hätte ich diese so nicht in Umlauf gegeben.
Zur Rettung der bereits vorhandenen Daten ist der beschriebene Weg mit der Sicherung der Variable 'mot_usermap_doublesarray' in der Tabelle 'config_text' sowie der Tabelle 'usermap_users' und der zum Schluss erfolgenden Wiederherstellung der Daten in der Tabelle 'profile_fields_data' der sicherste Weg, den habe ich bereits mehrfach so durchgeführt.

Aber danke für die Rückmeldung, hilft dem Entwickler ja immer. :)
Benutzeravatar
HaioPaio
Mitglied
Beiträge: 290
Registriert: 05.11.2017 21:42

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

Beitrag von HaioPaio »

Leider habe ich vergessen die betroffenen Tabellen vor dem Bereinigen zu kopieren. Das hätte dir sicher geholfen.
Die Tabelle usermap_users war jedenfalls leer.

Falls es für dich wichtig ist, würde ich nochmal die 0.6.0 installieren, den Fehler provozieren und dann die betroffenen Tabellen exportieren.
Die Arbeit wäre echt überschaubar. Soll ich?
www.der-räuchertreff.de phpbb 3.3.7 php 7.4
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1076
Registriert: 13.01.2020 21:09
Kontaktdaten:

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

Beitrag von Mike-on-Tour »

Nein, so wichtig ist es auch nicht. Never change a running system :) Aber Danke für das Angebot.
Und wer weiß, ob sich das alles wirklich wieder so rekonstruieren lässt (also die Fehler unter 0.6.0), dann lieber an einem (hoffentlich) fehlerfrei laufenden Board erfreuen.

Die Tabelle 'usermap_users' wird auch erst gefüllt, wenn die ersten Nutzer anfangen, ihre Daten im Profil einzugeben. Aber wenn die leer war, hast du nur die Daten im Einstellungs-Tab verloren (geonames.org Nutzername, evtl. Google API Key), das ist ja überschaubar :wink:
Ich habe in einem meiner Test-Systeme eine Karte mit über 1100 Usern laufen, die möchte man wirklich nicht verlieren; und so sieht es auch für ein produktives System aus, deshalb habe ich den kleinen Umweg entworfen, denn diese Tabelle und das doublesarray sind die zentralen Datenspeicher der Usermap, daraus lässt sich alles andere wieder rekonstruieren.
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1076
Registriert: 13.01.2020 21:09
Kontaktdaten:

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

Beitrag von Mike-on-Tour »

Ich habe soeben die Version 0.6.2 über den Download-Link im Startbeitrag veröffentlicht. Sie korrigiert einen aus den optimierten DB-Abfragen resultierenden Fehler, der es auch in der Usermap nicht enthaltenen Nutzern erlaubt, die Karte anzusehen.
Des weiteren ist die Abfrage des OSM Kartenservers auf das Protokoll https umgestellt, um die Browserwarnungen bei Boards mit diesem Protokoll zu verhindern.

Update wie üblich: Extension deaktivieren, die alten Dateien über ftp löschen, die neuen Dateien hochladen und die Extension wieder aktivieren.
Benutzeravatar
Cowboy of Bottrop
Mitglied
Beiträge: 320
Registriert: 01.02.2017 21:11
Wohnort: Bottrop anne Emscher
Kontaktdaten:

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

Beitrag von Cowboy of Bottrop »

Ich habe soeben die Version 0.6.2 bei mir eingerichtet, den Benutzernamen von geonames.org eingetragen sowie das Kartenzentrum festgelegt. Wenn ich jetzt im Profil Land und PLZ angebe, gibt es folgende Fehlermeldung:

Code: Alles auswählen

[phpBB Debug] PHP Warning: in file [ROOT]/ext/mot/usermap/event/main_listener.php on line 549: file_get_contents(http://api.geonames.org/postalCodeSearchJSON?username=XXXXXXXX&style=short&postalcode=46238&country=DE): failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized
[phpBB Debug] PHP Warning: in file [ROOT]/ext/mot/usermap/event/main_listener.php on line 554: array_key_exists() expects parameter 2 to be array, null given
[phpBB Debug] PHP Warning: in file [ROOT]/ext/mot/usermap/event/main_listener.php on line 586: array_key_exists() expects parameter 2 to be array, null given
Die Daten werden im Profil trotzdem gespeichert, aber ich bin nicht berechtigt, die Karte zu sehen. :-?

Wo liegt der Fehler?


edit: Fehler gefunden, da fehlte noch ein Klick auf geonames.org. Kaum macht mans richtig, schon funktionierts…

Danke für diese Ext!

Keep it Country,
Markus aka Cowboy

PS: Board-URL ist hier rechts unter meinem Ava verlinkt.
Keep it County,
Markus aka Cowboy
Antworten

Zurück zu „Extensions in Entwicklung“