wir möchten in unser Forum (zum Thema Liebe) gerne einen Automatismus integrieren, der folgendes bereitstellt:
Neue Benutzer sollen beim Abschluß der Registrierung automatisch bestimmten Gruppen zugeordnet werden. Dazu haben wir in unserem Forum den Birthday-Mod und den Gender-Mod eingebracht.
Es existieren drei Gruppen: Älter als 16, Männer, Frauen
Ein Script in der usercp_register.php soll dabei folgendes überprüfen:
- Wenn der User unter 16 Jahren ist, soll er keiner Gruppe zugeordnet werden.
- Ist der User älter als 16 und ein Mann, soll er in die Gruppe "Älter als 16" und "Männer" eingefügt werden.
- Ist der User älter als 16 und eine Frau, soll er in die Gruppe "Älter als 16" und "Frauen" eingefügt werden.
- Hat sich der User als Paar gekennzeichnet und ist über 16, soll er allen drei Gruppen zugeordnet werden.
Soviel zur Theorie... Wir haben nun versucht ein kleines Script zu basteln, welches uns Jan500 (der uns schon mehr als einmal weitergeholfen hat, dafür an dieser Stelle noch mal ein großes Dankeschön) hier im Chat überarbeitet und korrigiert hat.
Dieses haben wir beigefügt. Nun würde uns Eure Meinung auch interessieren, vielleicht habt ihr auch mal so ein Script geschrieben oder habt vielleicht eine grundsätzliche Idee für dieses Scipt, um es zum Laufen zu bringen?
Wäre vielleicht auch als Idee für ein kleines Snippet, da bestimmt auch andere User eine solche Funktionalität gebrauchen könnten - das Autogroup-Mod ist für diese einfache Zuordnung nicht unbedingt brauchbar, leider.
Über jede Antwort sind wir dankbar!
Code: Alles auswählen
//
// BENUTZERZUORDNUNG - SETZEN VON VARIABLEN
//
// ANFANG Ermittlung des Geburtsdatums, Errechnen des Alters
$this_year = create_date('Y', time(), $board_config['board_timezone']);
$this_date = create_date('md', time(), $board_config['board_timezone']);
if ($birthday = 999999)
{
$poster_birthdate=realdate('md', $birthday);
$poster_age = $this_year - realdate ('Y',$birthday);
if ($this_date < $poster_birthdate) $poster_age--;
$poster_age = $poster_age;
} else
{
$poster_age = '';
}
// ENDE Ermittlung des Geburtsdatums, Errechnen des Alters
//
// ANFANG GRUPPEN ZUORDNEN
//
// Parameter für Geschlecht: Paar = 0, Mann = 1, Frau = 2
// Gruppen-IDs: 13 = über 16, 14 = Männer, 15 = Frauen
if ($poster_age >= 16)
{
// BEREICH 1 - Ordne User über 16 zu
$group_id = 13;
$sql = "INSERT INTO " . USER_GROUP_TABLE . " (user_id, group_id, user_pending)
VALUES ($user_id, $group_id, 0)";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not add user to group', '', __LINE__, __FILE__, $sql);
}
// BEREICH 2 - Ordne Männer und Frauen zu
if ($geschlecht = 1)
{
$group_id = 14;
}
elseif ($geschlecht = 2)
{
$group_id = 15;
}
elseif ($geschlecht = 0)
{
$group_id = 14;
$sql = "INSERT INTO " . USER_GROUP_TABLE . " (user_id, group_id, user_pending)
VALUES ($user_id, 15, 0)";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not add user to group', '', __LINE__, __FILE__, $sql);
}
}
$sql = "INSERT INTO " . USER_GROUP_TABLE . " (user_id, group_id, user_pending)
VALUES ($user_id, $group_id, 0)";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not add user to group', '', __LINE__, __FILE__, $sql);
}