Mod zum Löschen aller Gruppenmitgliedschaften?
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
- theonlyrobi
- Mitglied
- Beiträge: 80
- Registriert: 09.08.2003 14:33
- Wohnort: Jena
- Kontaktdaten:
Mod zum Löschen aller Gruppenmitgliedschaften?
Hallo Leute,
ich habe in meinem Forum mehrere Gruppen, die auch alle andere Zugriffsrechte haben auf die Foren. Nun will ich in bestimmten Abständen sämtliche Mitglieder aller Gruppen löschen, damit nicht so viele Karteileichen entstehen. Kennt jemand einen Mod, mit dem sich das bewerkstelligen läßt?
Robert
ich habe in meinem Forum mehrere Gruppen, die auch alle andere Zugriffsrechte haben auf die Foren. Nun will ich in bestimmten Abständen sämtliche Mitglieder aller Gruppen löschen, damit nicht so viele Karteileichen entstehen. Kennt jemand einen Mod, mit dem sich das bewerkstelligen läßt?
Robert
- theonlyrobi
- Mitglied
- Beiträge: 80
- Registriert: 09.08.2003 14:33
- Wohnort: Jena
- Kontaktdaten:
Hallo,
nach gar keinen Kriterien soll gelöscht werden. Es sollen einfach alle User gelöscht werden aus allen Gruppen. Ich könnte die Gruppe zwar einfach löschen und wieder erstellen aber dann sind ja auch alle gesetzten Berechtigungen weg für die ganzen Foren. Kann man das vielleicht irgendwie direkt in SQL erledigen mit nem Befehl?
Robert
nach gar keinen Kriterien soll gelöscht werden. Es sollen einfach alle User gelöscht werden aus allen Gruppen. Ich könnte die Gruppe zwar einfach löschen und wieder erstellen aber dann sind ja auch alle gesetzten Berechtigungen weg für die ganzen Foren. Kann man das vielleicht irgendwie direkt in SQL erledigen mit nem Befehl?
Robert
- theonlyrobi
- Mitglied
- Beiträge: 80
- Registriert: 09.08.2003 14:33
- Wohnort: Jena
- Kontaktdaten:
- Leuchte
- Ehemaliges Teammitglied
- Beiträge: 9179
- Registriert: 26.05.2003 14:57
- Wohnort: Duisburg
- Kontaktdaten:
Bitte mal testen mit Rückmeldung ob es funktioniert (Gruppenleiter bleibt
)
In language/lang_german/lang_admin.php findenDanach einfügenIn admin/admin_groups.php findenDavor einfügenIn templates/subSilver/admin/group_edit_body.tpl findenErsetzen mit

In language/lang_german/lang_admin.php finden
Code: Alles auswählen
$lang['group_delete_check'] = 'Diese Gruppe löschen';
Code: Alles auswählen
$lang['group_delete_users'] = 'Gruppenmitglieder löschen';
$lang['group_delete_users_check'] = 'Alle Mitglieder dieser Gruppe löschen';
$lang['group_users_removed'] = 'Alle Mitglieder dieser Gruppe wurden entfernt.';
Code: Alles auswählen
//
// Ok, they are submitting a group, let's save the data based on if it's new or editing
Code: Alles auswählen
if ( isset($HTTP_POST_VARS['group_delete_users']) )
{
$sql = "SELECT group_moderator
FROM ". GROUPS_TABLE ."
WHERE group_id = $group_id
AND group_single_user = 0";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not get group mod', '', __LINE__, __FILE__, $sql);
}
$group_mod = $db->sql_fetchrow($result);
$sql = "DELETE FROM ". USER_GROUP_TABLE ."
WHERE group_id = $group_id
AND user_id != ". $group_mod['group_moderator'];
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not delete group users', '', __LINE__, __FILE__, $sql);
}
$message = $lang['group_users_removed'] . '<br /><br />' . sprintf($lang['Click_return_groupsadmin'], '<a href="' . append_sid("admin_groups.$phpEx") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
Code: Alles auswählen
<!-- END group_edit -->
Code: Alles auswählen
<tr>
<td class="row1" width="38%"><span class="gen">{L_GROUP_DELETE_USERS}:</span></td>
<td class="row2" width="62%">
<input type="checkbox" name="group_delete_users" value="1">
{L_GROUP_DELETE_USERS_CHECK}</td>
</tr>
<!-- END group_edit -->
- theonlyrobi
- Mitglied
- Beiträge: 80
- Registriert: 09.08.2003 14:33
- Wohnort: Jena
- Kontaktdaten:
- Leuchte
- Ehemaliges Teammitglied
- Beiträge: 9179
- Registriert: 26.05.2003 14:57
- Wohnort: Duisburg
- Kontaktdaten:
Finde in admin/admin_groups.phpFüge danach einGlatt vergessen 
Code: Alles auswählen
'L_GROUP_DELETE_CHECK' => $lang['group_delete_check'],
Code: Alles auswählen
'L_GROUP_DELETE_USERS' => $lang['group_delete_users'],
'L_GROUP_DELETE_USERS_CHECK' => $lang['group_delete_users_check'],

- theonlyrobi
- Mitglied
- Beiträge: 80
- Registriert: 09.08.2003 14:33
- Wohnort: Jena
- Kontaktdaten:
- Leuchte
- Ehemaliges Teammitglied
- Beiträge: 9179
- Registriert: 26.05.2003 14:57
- Wohnort: Duisburg
- Kontaktdaten:
Wenn sich ein User registriert, wird automatisch eine "persönliche Gruppe" angelegt. Das vereinfacht die Befugnisvergabe.
Deshalb grenzen wir die Suche der Gruppe explizit einWenn group_single_user auf 1 steht, ist es eine persönliche Gruppe.
Deshalb grenzen wir die Suche der Gruppe explizit ein
Code: Alles auswählen
AND group_single_user = 0