Hallo zusammen,
ich möchte die Benutzereinstellungen im Registrierformular ausblenden und standarmäßig belegen. Der User soll später nicht die Möglichkeit haben es zu ändern. Wie löse ich das am geschicktesten. ?
Du kannst im Template member_register die jeweiligen Felder mit "hidden" unsichtbar machen.
Allerdings ist es dann im Benutzer-CP immer noch verfügbar.
Dafür müsstest Du dann noch das Template usercp_options bearbeiten.
Stefan war schneller
und wie bekomme ich dann die Voreinstellung hin?
und nehme ich dann das Template unter meinem Theme? Puuh bin schon 15 Jahre raus aus PHP
Also zum Beispiel hier
PHP-Code:
<td valign="top" width="1"><input type="checkbox" class="checkbox" name="hideemail" id="hideemail" value="1" {$hideemailcheck} /></td>
<td valign="top"><span class="smalltext"><label for="hideemail">{$lang->hide_email}</label></span></td>
Wie kann ich das Feld deaktivieren und einstellen HIDE EMAIL: JA! ??
und das ist aus der User_options ??
PHP-Code:
<td valign="top" width="1"><input type="checkbox" class="checkbox" name="hideemail" id="hideemail" value="1" {$hideemailcheck} /></td>
<td><span class="smalltext"><label for="hideemail">{$lang->allow_emails}</label></span></td>
und die member,php finde ich über das Admin CP nicht.
https://www.mybb.de/forum/thread-32238.html
Für unveränderliche und vordefinierte Einstellungen, wäre es möglich direkt auf Datenbank-Ebene die Datenfelder in der Tabelle auf einen entsprechenden default-Wert zu setzen. So spart man sich einen Teil der Manipulation im MyBB.
z.B. mybb_users.hideemail = default von 0 auf 1 setzen.
So wird jedem neuen Benutzer/Datensatz schon 'auf unterster Ebene' der vordefinierte Wert aufgedrückt.
Das kann man für alle gewünschten Profileinstellungen machen.
Man muss drauf achten, dass diese Werte nicht mehr über das Forensystem geändert werden können.
Es ist eine schlechte Idee lediglich die input-Elemente mit einem eigenen Wert zu belegen und "unsichtbar" zu machen. Denn es wäre weiterhin möglich, die Einstellung abzusenden und vom Forensystem verarbeiten zu lassen. Man könnte sich also trotzdem seine Einstellungen setzen - wenn man denn wollte. Das ginge selbst dann, wenn man die input-Elemente komplett entfernen würde - wenn man denn wollte
Man muss das Forensystem vollständig davon ahalten, diese Werte überhaupt erst anzunehmen und in die Datenbank zu schreiben! Hierfür wird der Eingriff in PHP nötig.
Andererseits gäbe es noch die Möglichkeit in regelmäßigen Abständen ein automatisiertes Script fahren zu lassen, was nichts weiter ausführt als "SQL: update mybb_users set hideemail=1"
[ExiTuS]
(10.05.2019, 08:19)[ExiTuS] schrieb: [ -> ].....Man könnte sich also trotzdem seine Einstellungen setzen - wenn man denn wollte. Das ginge selbst dann, wenn man die input-Elemente komplett entfernen würde - wenn man denn wollte ......
Warum muss man denn immer gleich so rigoros sein?
1. Wieviele User können das wirklich und selbst wenn, wer würde sich bei der Registrierung die Mühe machen, Einstellungen zu setzen, von denen er gar nichts weiß?
2. Wenn man in der usercp.php die Standardeinstellungen setzt/verändert, ist es dort auch ein Leichtes dies mittels einer if-Anweisung gruppenabhängig zu machen.
Bei Deiner "Datenbank-Variante" wären die Vorgaben doch festgenagelt, oder??
@Schnapsnase
Hehe, rigoros! Eine Regenjacke mit Löchern schützt auch nicht vor Regen
1. Da das Forensystem quelloffen ist, wären die Möglichkeiten bekannt. Dieser Grund reicht völlig aus, es nicht als Lösung zu akzeptieren
2. Bei der Datenkbank-Variante ist auch nichts festgenagelt, solange man über das Forensystem weiterhin diese Einstellungen aktualisieren kann, "wenn man denn wollte"
Habe kurz die member.php überflogen.
Eine Möglichkeit, die input-Daten des Reg.-Formulars zu verwerfen und selbst zu definieren ist, die folgendenden Codezeilen innerhalb von $user['options'] = array(...) zu neutralisieren und dort den Fixwert zu definieren.
./member.php, Zeile 192 ff. (v1.8.20):
PHP-Code:
$user['options'] = array(
"allownotices" => 1,
"hideemail" => 1,
"subscriptionmethod" => 0,
[...]
);
[ExiTuS]
Die Idee das abhängig von Gruppen zu machen finde ich grandios. Jetzt bröuchte ich nur noch jemanden der es mir umsetzt. Ich kanns leider nicht. Es müsste auch noch ein Update auf die neue Version gemacht werden und sonstige Anpassungen noch vorgenommen werden. Z.B. Je Gruppe andere Formulare für die Beitragserstellung.
Würde mich über eine PN freuen. Gruß Sören