Hallo,
bei der Regestrierung MÜSSEN die Mitglieder Ihren Vornamen und ihr Wohonort eingeben also Bezirk. Das Funktioniert auch gut. Aber nun möchte ich das wenn die Regestrierung ABgeschlossen ist, das ddie Benutzer dies nicht mehr ändern können. Wie geht das? weil es immer wieder ideoten gibt die dan als Vornamen "Hanz Wurst" heissen und so und sowas finde ich blöde, und wenn ich den Vornamen dan als Admin änder dan soll das eben von Benutzer nicht mehr bearbeitbar sein. Es ist wichtig das es nur für diese 2 Felder ist alle anderen Sollen frei wählbar sein.
Hier ein Bild davon:
[
attachment=1133]
Du kannst im ACP einstellen, dass das Feld nur von Mods/Admins bearbeitbar sein soll.
ja ich weiss, aber ich möchte ja, wenn die leuet sich anmelden in mein forum, das es dan und nur dan möglich ist den namen und den wohnort zu ändern
Ohne Änderungen im Code ist das nicht möglich, ein solches Feature ist derzeit nicht enthalten.
Also, ich hätte da mal eine Lösung:
In die Datenbanktabelle "profilefields" ein neues Feld anlegen.
Bei mir "useredit" char(3). Danach die Felder, die nicht verändert werden dürfen mit "no" füllen. (siehe Attachment)
in usercp.php ca. Zeile 370
PHP-Code:
$profilefield['type'] = htmlspecialchars_uni($profilefield['type']);
$profilefield['description'] = htmlspecialchars_uni($profilefield['description']);
$thing = explode("\n", $profilefield['type'], "2");
$type = $thing[0];
$options = $thing[1];
$field = "fid$profilefield[fid]";
suchen und um eine Zeile ergänzen:
PHP-Code:
$profilefield['type'] = htmlspecialchars_uni($profilefield['type']);
$profilefield['description'] = htmlspecialchars_uni($profilefield['description']);
$thing = explode("\n", $profilefield['type'], "2");
$type = $thing[0];
$options = $thing[1];
$field = "fid$profilefield[fid]";
$useredit = $profilefield['useredit'];
Da bei mir nur Textfelder nicht geändert werden dürfen müssen wir jetzt dafür sorgen, daß diese bei der Ausgabe das Attribut "readonly" bekommen.
Wieder usercp.php
ca. Zeile 500:
PHP-Code:
$code = "<input type=\"text\" name=\"profile_fields[$field]\" class=\"textbox\" size=\"$profilefield[length]\" maxlength=\"$profilefield[maxlength]\" value=\"$value\" />";
nicht gerade schön (hab doch keine Ahnung von php) aber es funktioniert:
PHP-Code:
$code = "<input type=\"text\" name=\"profile_fields[$field]\" class=\"textbox\" size=\"$profilefield[length]\" maxlength=\"$profilefield[maxlength]\" value=\"$value\"";
If ($useredit == "no") $code = $code."readonly";
$code = $code."/>";
Jetzt können bei der Registrierung meine Felder Vor- und Nachname ausgefüllt, jedoch später nicht erändert werden.