MyBB.de Forum

Normale Version: User-Registrierung umcoden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo!

Ich habe folgendes Problem: Ich müsste die User-Registrierung über member.php?action=register 'umbauen'.

Ich habe 12 User-Gruppen, die nicht offen sind, also man muss, um in diese Gruppen zu kommen, von einem Admin den Gruppen zugewießen werden. Diese Gruppen haben die ID's 8 bis 20.

Diesen Gruppen habe ich schon spezielle Rechte zugewießen, die man benötigt, um die jeweiligen Foren aufrufen zu können.

Nun möchte ich folgendes:
Wenn man sich einen neuen Account erstellt, soll man automatisch einer der vier Gruppen 8, 9, 10, 11 (als Hauptgruppe) und der Gruppe 12 als Zweit-Gruppe zugefügt werden.
Bei den Hauptgruppen (IDs) soll man zufällig einer der vier Gruppen hinzugefügt werden.

Hintergrund:
Ich soll für eine Freundin das MyBB in ein Forum für http://www.evhermine.de/ umbauen. Ich habe, wie oben bereits geschrieben, schon die Gruppen erstellt.
Nun soll man mit der Registrierung einer der vier Gruppen (Gryffindor = 8, Hufflepuff = 9, Ravenclaw = 10 und Slytherin = 11) und der Klasse 1 (ID = 12) hinzugefügt werden.
Dabei soll man zufällig einem der Häuser zugefügt werden (ist mir eigentlich sehr egal, wie das mit dem Zufalls-Machanismus funktioniert, meinetwegen auch der Reihe nach [also erste Registrierung nach Gryffindor, dann die nächste nach Hufflepuff etc], hauptsache es funtkioniert... Smile

Ich wäre euch allen sehr dankbar, wenn das funktionieren würde.
Ich habe schon das phpBB und das wBB lite und die wBB 2er-Version ausprobiert, allerdings wollte mir jedesmal niemand helfen... Anscheinend wollte in den Support-Foren niemand viel machen... Sad Nun bin ich durch Zufall auf das MyBB gestoßen, bis jetzt (und sicher auch in Zukunft) bin ich damit mehr als zufrieden.
Ich freue mich über jede noch so kleine Hilfe!

Vielen Dank schon mal im Voraus!

Dennis
Ich hab es zwar nicht getestet, aber versuch doch mal folgendes. Ändere in der Datei member.php:
PHP-Code:
"usergroup" => $usergroup
zu:
PHP-Code:
"usergroup" => rand(811),
        
"additionalgroups" => "12"
(Die Funktion funktioniert in dieser Form ab PHP 4.2.0)
Sie liefert per Zufall ein Benutzergruppe 8, 9, 10 oder 11 und als zusätzliche Gruppe 12.
Versuch es mal in einem Testboard und registrier dich ein paar mal, dann weißt du, ob es funktioniert.
Danke!

Nun noch eine Frage:

Wie kann ich die Registrierungsmails ändern?

Ich habe es so eingestellt, dass man ein automatisches Passwort gemailt bekommt.

Ich würde nun gerne so schreiben:


Hallo NICK, herzlich Willkommen in GRUPPE!

etc...


Wo finde ich diese Schablonen und wie lauten die Textersetzer für die Gruppen?

Ja, ich weiß, ich bin nervig, ich habe von MyBB keine Ahnung usw...
Ich bessere mich ja auch. Smile

LG Dennis
Das Mail-Text liegt in den Sprachdateien. (messages.lang.php)
Das findest du in der Datei inc/languages/*Sprache*/messages.lang.php
Der Betreff steht in: $l['emailsubject_randompassword']
Der Text steht in: $l['email_randompassword']
Der Benutzername ist: {3}
Um die Gruppe zu erwähnen wären Code-Änderungen nötig.
Ich schon wieder...

Und gleich die nächste Frage:

Was muss man am Code ändern?

Denn durch die oben genannten Änderungen wird man ja einer der vier Gruppen zugeordnet - dies sieht man aber erst, wenn man sich im Forum einloggt.
Ich hätte es gerne in der Mail... Sad

Danke für den sehr schnellen und tollen Support!
Nochmal um das zu klären, hast du Aktivierung per E-Mail gewählt oder das Zufallspasswort?
Wenn du Aktivierung per E-Mail gewählt hast, dann muss die Anleitung ein bisschen umgeschrieben werden.
Wenn du das Zufallspasswort gewählt hast, dann war meine vorige Aussage richtig und dann ändere in der Datei member.php folgendes:
PHP-Code:
else if($mybb->settings['regtype'] == "randompass")
        {
            
$emailsubject sprintf($lang->emailsubject_randompassword$mybb->settings['bbname']);
            
$emailmessage sprintf($lang->email_randompassword$user['username'], $mybb->settings['bbname'], $user_info['username'], $user_info['password'];
            
my_mail($user_info['email'], $emailsubject$emailmessage);

            
$plugins->run_hooks("member_do_register_end");

            
error($lang->redirect_registered_passwordsent);
        } 
zu:
PHP-Code:
else if($mybb->settings['regtype'] == "randompass")
        {
            
$emailsubject sprintf($lang->emailsubject_randompassword$mybb->settings['bbname']);
            
$query $db->query("SELECT title FROM ".TABLE_PREFIX."usergroup WHERE gid=".$user_info['usergroup']);
            
$user_info_group $db->fetch_array($query);
            
$emailmessage sprintf($lang->email_randompassword$user['username'], $mybb->settings['bbname'], $user_info['username'], $user_info['password'], $user_info_group);
            
my_mail($user_info['email'], $emailsubject$emailmessage);

            
$plugins->run_hooks("member_do_register_end");

            
error($lang->redirect_registered_passwordsent);
        } 
Dann kannst du mit {5} den Gruppennamen aufrufen.
Irgendwie klappt das so nicht...

Wenn ich das wie du geschrieben hast, umändere, und dann einen neuen Nick registrieren will, kommt folgende Fehlermeldung:

Zitat:Warning: sprintf() [function.sprintf]: Too few arguments in /usr/export/www/vhosts/funnetwork/hosting/evhermine/member.php on line 238
MySQL error: 1146
Table 'evhermine.mybb_usergroup' doesn't exist
Query: SELECT title FROM mybb_usergroup WHERE gid=2

Der Benutzer ist dann zwar registriert, allerdings bekommt er dann keine Mail mit dem Zufallspasswort... Also kann man sich nicht einloggen.

LG Dennis
Hast du Sprachdatei wie beschrieben geändert?
Ja, ich habe alles so gemacht, wie es beschrieben wurde.
Seiten: 1 2 3