Handle hostnames with upper-case letters
[webmin.git] / mailboxes / delete_all.cgi
1 #!/usr/local/bin/perl
2 # Delete all mail in some mailbox, after asking for confirmation
3
4 require './mailboxes-lib.pl';
5 &ReadParse();
6 &can_user($in{'user'}) || &error($text{'mail_ecannot'});
7 &is_user($in{'user'}) || -e $in{'user'} || &error($text{'mail_efile'});
8 @folders = &list_user_folders_sorted($in{'user'});
9 ($folder) = grep { $_->{'index'} == $in{'folder'} } @folders;
10
11 if ($in{'confirm'}) {
12         # Do it!
13         $sz = &mailbox_folder_size($folder);
14         &mailbox_empty_folder($folder);
15         &webmin_log("delmail", undef, undef, { 'from' => $folder->{'file'},
16                                                'count' => $sz });
17         &redirect("list_mail.cgi?user=$in{'user'}&folder=$in{'folder'}");
18         }
19 else {
20         # Ask first
21         &ui_print_header(undef, $text{'delall_title'}, "");
22         print &ui_confirmation_form(
23                 "delete_all.cgi",
24                 &text('delall_rusure',
25                     "<tt>$folder->{'file'}</tt>",
26                     &mailbox_folder_size($folder),
27                     &nice_size(&folder_size($folder))),
28                 [ [ 'user', $in{'user'} ],
29                   [ 'folder', $in{'folder'} ] ],
30                 [ [ 'confirm', $text{'delall_ok'} ] ],
31                 );
32         &ui_print_footer("list_mail.cgi?user=$in{'user'}&folder=$in{'folder'}",
33                          $text{'mail_return'},
34                          "", $text{'index_return'});
35         }
36
37