ich möchte zwei Mods, welche die Benutzergruppen-Verwaltung (für mich) wesentlich vereinfachen, kombinieren, und zwar folgende Mods:
Group Moderators
Move or Copy User between Usergroups
Der 1. Mod sorgt dafür, dass mehrere Gruppenmoderatoren Benutzer in Gruppen aufnehmen können.
Und der 2. Mod sorgt dafür, dass der Gruppenleiter Benutzer von einer Gruppe in eine andere verschieben oder kopieren kann - Gruppenmoderatoren können das beim Standard-Mod Nr.2 nicht.
Das wollte ich unbedingt ändern, damit auch Gruppenmoderatoren Benutzer in andere Gruppen verschieben/kopieren können. Zu diesem Zwecke habe ich einfach die Berechtigungsabfrage des "Move or Copy User between Usergroups"-Mods durch jene des "Group Moderators"-Mods ersetzt:
Code: Alles auswählen
//-- mod : group moderatorZ ----------------------------------------------------
//-- delete
/*
$sql = "SELECT group_moderator
FROM " . GROUPS_TABLE . "
WHERE group_id = $group_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user and group information', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
if ( $row['group_moderator'] != $userdata['user_id'] && $userdata['user_level'] != ADMIN )
{
*/
//-- add
$sql = 'SELECT ug.user_id
FROM ' . USER_GROUP_TABLE . ' ug, ' . GROUPS_TABLE . ' g
WHERE ug.group_id = ' . intval($group_id) . '
AND g.group_id = ug.group_id
AND (ug.user_id = g.group_moderator OR ug.group_moderator = 1)';
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not obtain user and group information', '', __LINE__, __FILE__, $sql);
}
$group_moderators = array();
while ($row = $db->sql_fetchrow($result) )
{
$group_moderators[] = intval($row['user_id']);
}
$db->sql_freeresult($result);
if ( (empty($group_moderators) || !in_array($userdata['user_id'], $group_moderators)) && ($userdata['user_level'] != ADMIN) )
{
//-- fin mod : group moderatorZ ------------------------------------------------
Ein blödes Problem ist dabei aber übriggeblieben: Wenn jetzt ein User in eine andere Benutzergruppe verschoben oder kopiert wird, taucht er dort doppelt auf.

[ externes Bild ]
(Zum Vergrößern anklicken.) Ich habe keine Ahnung, weshalb dem so ist und wäre für Hilfe bei der Behebung dieses Schönheitsfehlers dankbar!
Falls sich jemand die Sache ansehen möchte: Hier ist meine komplette groupcp.php in .txt-Format.
Oxpus, der Autor des zweitgenannten Mods, hat mir in dieser Angelegenheit leider nicht weiterhelfen können. Es wäre mir aber wirklich wichtig, beide Mods nebeneinander - und ohne Schönheitsfehler - zum Laufen zu bringen: Ich brauche mehrere Gruppenmoderatoren; und diese sollen Benutzer auch zwischen den Benutzergruppen hin und her verschieben und kopieren können - und zwar ohne dass die Benutzer dabei jedes Mal doppelt angelegt werden.
Hilfe wäre nett!
LG, IPB_Flüchtling