3 # Delete multiple messages from the postfix queue
5 require './postfix-lib.pl';
6 $access{'mailq'} || &error($text{'mailq_ecannot'});
11 foreach $f (split(/\0/, $in{'file'})) {
12 &system_logged("$config{'postfix_super_command'} -r ".
18 foreach $f (split(/\0/, $in{'file'})) {
19 &system_logged("$config{'postfix_super_command'} -h ".
23 elsif ($in{'unhold'}) {
25 foreach $f (split(/\0/, $in{'file'})) {
26 &system_logged("$config{'postfix_super_command'} -H ".
31 @files = split(/\0/, $in{'file'});
32 if ($in{'confirm'} || !$config{'delete_confirm'}) {
34 if ($postfix_version < 1.1) {
35 @qfiles = &recurse_files($config{'mailq_dir'});
38 $f =~ /^[A-Za-z0-9]+$/ || next;
39 if ($postfix_version >= 1.1) {
40 &system_logged("$config{'postfix_super_command'} -d ".quotemeta($f));
43 &unlink_file(grep { $_ =~ /\/$f$/ } @qfiles);
46 if ($postfix_version < 1.1) {
47 &system_logged("$config{'postfix_super_command'} -p >/dev/null 2>&1");
49 &webmin_log("delqs", undef, scalar(@files));
52 # Ask for confirmation
53 &ui_print_header(undef, $text{'delq_titles'}, "");
54 print &ui_confirmation_form("delete_queues.cgi",
55 &text('delq_rusure', scalar(@files)),
56 [ map { [ 'file', $_ ] } @files ],
57 [ [ 'confirm', $text{'delq_confirm'} ] ],
59 &ui_print_footer("mailq.cgi", $text{'mailq_return'});
63 &redirect("mailq.cgi");