forked from webmin/webmin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
delete_queues.cgi
executable file
·46 lines (40 loc) · 1.04 KB
/
delete_queues.cgi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/local/bin/perl
# delete_queue.cgi
# Delete multiple mail messsages from the queue
require './qmail-lib.pl';
&ReadParse();
@files = split(/\0/, $in{'file'});
if ($in{'confirm'}) {
# Delete messages
($pid) = &find_byname("qmail-send");
if ($pid) {
&stop_qmail();
}
foreach $f (@files) {
$f =~ /(\d+)\/(\d+)$/;
$id = "$1/$2";
unlink("$qmail_mess_dir/$id");
unlink("$qmail_info_dir/$id");
unlink("$qmail_remote_dir/$id");
unlink("$qmail_local_dir/$id");
}
($newpid) = &find_byname("qmail-send");
if ($pid && !$newpid) {
# Need to re-start qmail
&start_qmail();
}
&redirect("list_queue.cgi");
}
else {
# Ask for confirmation first
&ui_print_header(undef, $text{'delq_titles'}, "");
print "<center>\n";
print &ui_form_start("delete_queues.cgi", "post");
print &text('delq_rusure', scalar(@files)),"<p>\n";
foreach $f (@files) {
print &ui_hidden("file", $f),"\n";
}
print &ui_form_end([ [ "confirm", $text{'delq_confirm'} ] ]);
print "</center>\n";
&ui_print_footer("list_queue.cgi", $text{'queue_return'});
}