2 # Delete multiple groups
4 require './ldap-useradmin-lib.pl';
6 %glist = map { $_->{'group'}, $_ } &list_groups();
7 &error_setup($text{'gmass_err'});
8 foreach $name (split(/\0/, $in{'gd'})) {
9 $group = $glist{$name};
11 &can_edit_group(\%access, $group) ||
12 &error(&text('gmass_egroup', $name));
16 @dlist || &error($text{'gmass_enone'});
18 &ui_print_header(undef, $text{'gmass_title'}, "");
20 if ($in{'confirmed'}) {
21 foreach $group (@dlist) {
23 print "<b>",&text('gmass_doing', $group->{'group'}),
27 # Delete from other modules
29 print "$text{'gdel_other'}<br>\n";
30 local $error_must_die = 1;
31 eval { &other_modules("useradmin_delete_group",
34 print &text('udel_failed', $@),"<p>\n";
37 print "$text{'gdel_done'}<p>\n";
41 # Delete from group file
43 print "$text{'gdel_group'}<br>\n";
44 &set_group_envs($group, 'DELETE_GROUP');
45 $merr = &making_changes();
46 &error(&text('usave_emaking', "<tt>$merr</tt>"))
49 &delete_group($group);
52 print "$text{'gdel_done'}<p>\n";
57 &webmin_log("delete", "group", $group->{'group'}, $group);
59 &ui_print_footer("", $text{'index_return'});
62 foreach $group (@dlist) {
63 # check if this is anyone's primary group
64 foreach $u (&list_users()) {
65 if ($u->{'gid'} == $group->{'gid'}) {
66 print "<b>",&text('gmass_eprimary',
67 $group->{'group'}, $u->{'user'}),
69 &ui_print_footer("", $text{'index_return'});
75 # Ask if the user is sure
76 print &ui_confirmation_form(
77 "mass_delete_group.cgi",
78 &text('gmass_sure', scalar(@dlist)),
79 [ map { [ "gd", $_->{'group'} ] } @dlist ],
80 [ [ "confirmed", $text{'gdel_del'} ] ],
81 &ui_checkbox("others", 1, $text{'gdel_dothers'},
82 $mconfig{'default_other'}),
85 &ui_print_footer("", $text{'index_return'});