3 # Display messages currently in the queue.
5 require './postfix-lib.pl';
6 require './boxes-lib.pl';
9 $access{'mailq'} || &error($text{'mailq_ecannot'});
10 &ui_print_header(undef, $text{'mailq_title'}, "");
12 # Get queued messages and sort
13 @qfiles = &list_queue(1);
14 if ($config{'mailq_sort'} == 0) {
15 @qfiles = sort { $a->{'id'} cmp $b->{'id'} } @qfiles;
17 elsif ($config{'mailq_sort'} == 1) {
18 @qfiles = sort { lc($a->{'from'}) cmp lc($b->{'from'}) } @qfiles;
20 elsif ($config{'mailq_sort'} == 2) {
21 @qfiles = sort { lc($a->{'to'}) cmp lc($b->{'to'}) } @qfiles;
23 elsif ($config{'mailq_sort'} == 4) {
24 @qfiles = sort { lc($a->{'status'}) cmp lc($b->{'status'}) } @qfiles;
26 elsif ($config{'mailq_sort'} == 5) {
27 @qfiles = sort { $b->{'size'} <=> $a->{'size'} } @qfiles;
29 elsif ($config{'mailq_sort'} == 6) {
30 @qfiles = sort { $b->{'time'} <=> $a->{'time'} } @qfiles;
34 if (@qfiles > $config{'perpage'}) {
37 $s = int($in{'start'});
38 $e = $in{'start'} + $config{'perpage'} - 1;
39 $e = @qfiles-1 if ($e >= @qfiles);
41 printf "<a href='mailq.cgi?start=%d'>%s</a>\n",
42 $s - $config{'perpage'},
43 "<img src=/images/left.gif border=0 align=middle>";
45 print "<font size=+1>",&text('mail_pos', $s+1, $e+1,
46 scalar(@qfiles)),"</font>\n";
48 printf "<a href='mailq.cgi?start=%d'>%s</a>\n",
49 $s + $config{'perpage'},
50 "<img src=/images/right.gif border=0 align=middle>";
61 &mailq_table([ @qfiles[$s .. $e] ]);
63 # Show queue search form
64 print &ui_form_start("mailq_search.cgi");
65 print "<b>$text{'mailq_search'}</b>\n";
66 print &ui_select("field", "from",
67 [ map { [ $_, $text{'match_'.$_} ] }
68 ('from', 'to', 'date', 'size', '',
69 '!from', '!to', '!date', '!size') ]);
70 print &ui_textbox("match", undef, 40);
71 print &ui_submit($text{'mail_ok'});
74 # Show flush button, if the needed command is installed
75 if (&has_command($config{'postfix_queue_command'})) {
77 print &ui_buttons_start();
78 print &ui_buttons_row("flushq.cgi", $text{'mailq_flush'},
79 $text{'mailq_flushdesc'});
80 print &ui_buttons_row("mailq.cgi?$in", $text{'mailq_refresh'},
81 $text{'mailq_refreshdesc'});
82 print &ui_buttons_end();
86 print "<b>$text{'mailq_none'}</b> <p>\n";
89 &ui_print_footer("", $text{'index_return'});