Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.20 veröffentlicht (27.02.19)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Benutzerformular und Standardeinstellungen vorgeben
#1
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. ?


Angehängte Dateien Thumbnail(s)
   
Zitieren
#2
Vielleicht hilft dir dieses Thema weiter: https://www.mybb.de/forum/thread-32336.html
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
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 Wink
Zitieren
#4
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
Zitieren
#5
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 Smile

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" Smile

[ExiTuS]
Zitieren
#6
(10.05.2019, 09: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 Smile......

Warum muss man denn immer gleich so rigoros sein? Wink 
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??
Zitieren
#7
@Schnapsnase
Hehe, rigoros! Eine Regenjacke mit Löchern schützt auch nicht vor Regen Smile

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 Smile
2. Bei der Datenkbank-Variante ist auch nichts festgenagelt, solange man über das Forensystem weiterhin diese Einstellungen aktualisieren kann, "wenn man denn wollte" Smile

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]
Zitieren


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Account einstellungen fest vorgeben? Helios 8 811 02.06.2018, 05:52
Letzter Beitrag: DeGato
  Bestimmte Benutzereinstellungen vorgeben arnold74 2 603 23.08.2017, 15:40
Letzter Beitrag: chrzimmer