MyBB.de Forum

Normale Version: Primäre Benutzergruppe anhand einer Sekündären ändern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

mein Problem stellt sich etwas schwieriger dar, als es sich anhört. Wenn sich ein Nutzer erfolgreich aktiviert hat, dann kommt er in die Registered-Benutzergruppe, die nur in einem Forum (Bewerbung) schreiben darf. Hat er sich erfolgreich beworben, dann wird er von einem Moderator in eine selbsterstellte Benutzergruppe geschoben (nicht über das AdminCP möglich). Das Problem dabei: Er ist trotzdem noch in der Benutzergruppe Registered, sieht auch so aus und kann in dem betreffenden Forum schreiben. Seine neue Benutzergruppe, die ein anderes Aussehen hat, darf dort aber nicht schreiben!
Kurz und knapp: Wie zwinge ich einen Benutzer in die selbsterstelle Benutzergruppe?

Ich habe schon an die Möglichkeit des Aufgaben-Managers gedacht. Es würde mir völlig ausreichen, wenn das täglich passieren würde. Allerdings habe ich davon keinen blassen Schimmer Sad

Ich hoffe, ihr könnt mir helfen.

MfG
Regan
Du kannst den Benutzern doch einfach als primäre Benutzergruppe die neue Gruppe zuweisen?
Die primäre Gruppe kannst du nur im ACP ändern.
(13.08.2009, 16:20)Mak schrieb: [ -> ]Du kannst den Benutzern doch einfach als primäre Benutzergruppe die neue Gruppe zuweisen?
Das weiß ich.

(13.08.2009, 16:21)StefanT schrieb: [ -> ]Die primäre Gruppe kannst du nur im ACP ändern.
Ich will aber nicht 10 Leuten zugriff auf das AdminCP gewähren.

Kann ich nicht irgendein Query ausführen so in der Art: Update Benutzer.PrimäreGruppe = X Where Sekundäre Gruppe = X ?
Ich habe mir jetzt mal selbst eine Lösung zusammengebastelt und möchte diese preisgeben, falls jemand das gleiche Problem hat:

Ich verwende dazu die Tasks, also die geplanten Aufgaben. Dazu habe ich mir eine neue Datei erstellt, mit dem folgenden Quelltext:
PHP-Code:
<?php

function task_groupcleanup($task)
{
    global 
$mybb$db$lang;
    
//Benutzergruppe mit der ID 11
    
$db->query("
        UPDATE "
.TABLE_PREFIX."users SET usergroup='11', displaygroup='0' WHERE additionalgroups in ('11');
    "
);
    
// usw...    
    
add_task_log($task'Benutzergruppen aktualisiert');
}
?>
Diese Datei heißt groupcleanup.php und ich habe sie ins inc/tasks-Verzeichnis hochgeladen und dann aktiviert. Bis jetzt geht alles sehr gut!