#!/usr/local/bin/perl # mailq.cgi # Display messages currently in the queue. require './postfix-lib.pl'; require './boxes-lib.pl'; &ReadParse(); $access{'mailq'} || &error($text{'mailq_ecannot'}); &ui_print_header(undef, $text{'mailq_title'}, ""); @qfiles = &list_queue(); if ($config{'mailq_sort'} == 0) { @qfiles = sort { $a->{'id'} cmp $b->{'id'} } @qfiles; } elsif ($config{'mailq_sort'} == 1) { @qfiles = sort { lc($a->{'from'}) cmp lc($b->{'from'}) } @qfiles; } elsif ($config{'mailq_sort'} == 2) { @qfiles = sort { lc($a->{'to'}) cmp lc($b->{'to'}) } @qfiles; } elsif ($config{'mailq_sort'} == 4) { @qfiles = sort { lc($a->{'status'}) cmp lc($b->{'status'}) } @qfiles; } elsif ($config{'mailq_sort'} == 5) { @qfiles = sort { $b->{'size'} <=> $a->{'size'} } @qfiles; } if (@qfiles) { if (@qfiles > $config{'perpage'}) { # Need to show arrows print "
\n"; $s = int($in{'start'}); $e = $in{'start'} + $config{'perpage'} - 1; $e = @qfiles-1 if ($e >= @qfiles); if ($s) { printf "%s\n", $s - $config{'perpage'}, ""; } print "",&text('mail_pos', $s+1, $e+1, scalar(@qfiles)),"\n"; if ($e < @qfiles-1) { printf "%s\n", $s + $config{'perpage'}, ""; } print "
\n"; } else { # Can show them all $s = 0; $e = @qfiles - 1; } # Show the mails &mailq_table([ @qfiles[$s .. $e] ]); # Show queue search form print "
\n"; print "$text{'mailq_search'}\n"; print "\n"; print "\n"; print " \n"; print "

\n"; # Show flush button, if the needed command is installed if (&has_command($config{'postfix_queue_command'})) { print "


\n"; print "\n"; print "\n"; print "\n"; print "
$text{'mailq_flushdesc'}
\n"; } } else { print "$text{'mailq_none'}

\n"; } &ui_print_footer("", $text{'index_return'});