username_clean Änderung der Usernamen

phpBB 3.0 hat sein "End of Life" erreicht. Eine Neu-Installation wird nicht mehr unterstützt.
Gesperrt
Th.S
Mitglied
Beiträge: 4
Registriert: 18.01.2008 16:00

username_clean Änderung der Usernamen

Beitrag von Th.S »

Hallo,

ich habe ein phpBB 2 konvertiert zum Testen, dabei wurden Benutzernamen geändert.
Alle Benutzer die ein Leerzeichen im Namen hatten müssen sich nun mit Unterstrich anmelden. Da ich aber möchte, dass sich jeder wie bisher anmelden kann, müsste der eingegebene Username vor dem Abgleich mit der Datenbank auch umgewandelt werden.

Der Unterstrich alleine wäre ja nicht das Problem, jedoch gibt es noch einige (viele) User mit Umlauten, die auch Probleme bekommen könnten, daher müsste die Umsetzung ja wie im Konverter funktionieren. Leider bekomme ich das nicht hin.
Versucht habe ich schon diverse der im Konverter auftauchenden UTF-Funktionen, ohne Erfolg. Eingesetzt habe ich die Funktionen in der includes/auth/auth_db.php in der Funktion login_db direkt unterhalb der Globalisierung von $db und $config.

Hat jemand eine Idee warum das nicht geht?
Welche Stelle wäre sinnvoller dafür?
Wie werden die Usernamen geändert beim Konvertieren?

Dank im Vorraus

Thomas
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Die Konvertierung erstellt ein neues Feld username_clean - das alte Benutzernamen ist aber weiterhin vorhanden und wird auch für die Anmeldung verwendet.

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Th.S
Mitglied
Beiträge: 4
Registriert: 18.01.2008 16:00

Beitrag von Th.S »

Komischerweise eben genau das nicht, auch das alte Feld des Usernamen wurde konvertiert in die neue Form, so dass eben ein Login mit dem alten Usernamen nicht mehr geht.

Heisst das der Konverter hat da mist gemacht, indem er beide Felder geändert hat?
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Was kommt den für eine Fehlermeldung? Vermutlich konnte nur das Passwort nicht konvertiert werden und muss neu angefordert werden.

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Th.S
Mitglied
Beiträge: 4
Registriert: 18.01.2008 16:00

Beitrag von Th.S »

Hmmmm,

Eben keine Fehlermeldung.

Stelle grade fest, das ich die Fehlerquelle bin, könnte aber dennoch einen Tip gebrauchen.

Dadurch, dass vor dem PHPBB das Forum auf YaBB SE lief, habe ich in dem Sourceforum ein zusätzliches Feld "loginname". Dies hatten wir beibehalten, da eben das Login nicht mit dem angezeigten Usernamen übereinstimmen muss. Wenn die beiden sich unterscheiden, kann man nicht versuchen mit dem Usernamen und einem erratenem Passwort einen Account zu missbrauchen.

Ist folgende Änderung richtig ?
In der Userstabelle das Feld loginname hinzufügen

convert_phpbb20.php öffnen

suche folgende Zeile:
array('username', 'users.username', 'phpbb_set_default_encoding'), // recode to utf8 with default lang

davor füge ein:

array('loginname', 'users.loginname', 'phpbb_set_default_encoding'), // recode to utf8 with default lang


Wenn das soweit richtig ist, dann ist noch die Frage an welcher Stelle ich das Loginscript ändern sollte.
In der auth_db.php geht denke ich, aber das sollte man eigentlich schon ändern bevor die Authmethode differenziert wird.
Hast du da noch einen Tip für mich?
Gesperrt

Zurück zu „[3.0.x] Installation, Update und Konvertierung“