Handle hostnames with upper-case letters
[webmin.git] / acl / delete_users.cgi
1 #!/usr/local/bin/perl
2 # Delete a bunch of Webmin users
3
4 require './acl-lib.pl';
5 &ReadParse();
6 &error_setup($text{'udeletes_err'});
7 $access{'delete'} || &error($text{'delete_ecannot'});
8
9 # Validate inputs
10 @d = split(/\0/, $in{'d'});
11 @d || &error($text{'udeletes_enone'});
12 foreach $user (@d) {
13         &can_edit_user($user) || &error($text{'delete_euser'});
14         if ($base_remote_user eq $user) {
15                 &error($text{'delete_eself'});
16                 }
17         $user->{'readonly'} && &error($text{'udeletes_ereadonly'});
18         }
19
20 if ($in{'confirm'}) {
21         # Do it
22         foreach $user (@d) {
23                 &delete_user($user);
24                 &delete_from_groups($user);
25                 }
26
27         &reload_miniserv();
28         &webmin_log("delete", "users", scalar(@d));
29         &redirect("");
30         }
31 else {
32         # Ask the user if he is sure
33         &ui_print_header(undef, $text{'udeletes_title'}, "");
34
35         print "<center>\n";
36         print &ui_form_start("delete_users.cgi", "post");
37         foreach $user (@d) {
38                 print &ui_hidden("d", $user),"\n";
39                 }
40         print &text('udeletes_rusure', scalar(@d)),"<p>\n";
41
42         print &ui_form_end([ [ "confirm", $text{'udeletes_ok'} ] ]);
43
44         print &text('udeletes_users', join(" ", map { "<tt>$_</tt>" } @d)),
45               "<p>\n";
46         print "</center>\n";
47
48         &ui_print_footer("", $text{'index_return'});
49         }
50