mirror of
https://github.com/webmin/webmin.git
synced 2025-07-20 16:48:46 +00:00
Show queue state in list
This commit is contained in:
@ -631,6 +631,7 @@ mailq_active=Active
|
||||
mailq_deferred=Deferred
|
||||
mailq_hold=Hold Selected
|
||||
mailq_unhold=Un-Hold Selected
|
||||
mailq_dir=Queue state
|
||||
|
||||
flushq_title=Flush Queue
|
||||
flushq_desc=Forcing the attempted delivery of mail with the command $1 ..
|
||||
|
@ -1449,6 +1449,15 @@ foreach my $l (split(/\r?\n/, $out)) {
|
||||
$q->{'time'} = $t;
|
||||
}
|
||||
}
|
||||
foreach my $dir (&list_mailq_directories()) {
|
||||
my $f = substr($q->{'id'}, 0, 1);
|
||||
my $path = "$config{'mailq_dir'}/$dir/$f/$q->{'id'}";
|
||||
if (-r $path) {
|
||||
$q->{'dir'} = $dir;
|
||||
$q->{'file'} = $file;
|
||||
last;
|
||||
}
|
||||
}
|
||||
push(@qfiles, $q);
|
||||
}
|
||||
elsif ($l =~ /\((.*)\)/ && @qfiles) {
|
||||
@ -1461,18 +1470,18 @@ foreach my $l (split(/\r?\n/, $out)) {
|
||||
return @qfiles;
|
||||
}
|
||||
|
||||
sub list_mailq_directories
|
||||
{
|
||||
return ("active", "incoming", "deferred", "corrupt", "hold", "maildrop");
|
||||
}
|
||||
|
||||
# parse_queue_file(id)
|
||||
# Parses a postfix mail queue file into a standard mail structure
|
||||
sub parse_queue_file
|
||||
{
|
||||
local @qfiles = ( &recurse_files("$config{'mailq_dir'}/active"),
|
||||
&recurse_files("$config{'mailq_dir'}/incoming"),
|
||||
&recurse_files("$config{'mailq_dir'}/deferred"),
|
||||
&recurse_files("$config{'mailq_dir'}/corrupt"),
|
||||
&recurse_files("$config{'mailq_dir'}/hold"),
|
||||
&recurse_files("$config{'mailq_dir'}/maildrop"),
|
||||
);
|
||||
local $f = $_[0];
|
||||
local ($f) = @_;
|
||||
local @qfiles = map { &recurse_files("$config{'mailq_dir'}/$_") }
|
||||
&list_mailq_directories();
|
||||
local ($file) = grep { $_ =~ /\/$f$/ } @qfiles;
|
||||
return undef if (!$file);
|
||||
local $mode = 0;
|
||||
@ -1508,7 +1517,7 @@ $mail->{'file'} = $file;
|
||||
my @st = stat($file);
|
||||
$mail->{'last_retry'} = $st[9];
|
||||
if ($file =~ /^\Q$config{'mailq_dir'}\E\/([^\/]+)\//) {
|
||||
$mail->{'mailq_dir'} = $1;
|
||||
$mail->{'dir'} = $1;
|
||||
}
|
||||
return $mail;
|
||||
}
|
||||
@ -1862,11 +1871,12 @@ foreach my $q (@$qfiles) {
|
||||
'value' => $q->{'id'} });
|
||||
push(@cols, &ui_link("view_mailq.cgi?id=$q->{'id'}",$q->{'id'}));
|
||||
local $size = &nice_size($q->{'size'});
|
||||
push(@cols, "<font size=1>$q->{'date'}</font>");
|
||||
push(@cols, "<font size=1>".&html_escape($q->{'from'})."</font>");
|
||||
push(@cols, "<font size=1>".&html_escape($q->{'to'})."</font>");
|
||||
push(@cols, "<font size=1>$size</font>");
|
||||
push(@cols, "<font size=1>".&html_escape($q->{'status'})."</font>");
|
||||
push(@cols, $q->{'date'});
|
||||
push(@cols, &html_escape($q->{'from'}));
|
||||
push(@cols, &html_escape($q->{'to'}));
|
||||
push(@cols, $size);
|
||||
push(@cols, $text{'mailq_'.$q->{'dir'}} || $q->{'dir'});
|
||||
push(@cols, &html_escape($q->{'status'}));
|
||||
push(@table, \@cols);
|
||||
}
|
||||
|
||||
@ -1883,7 +1893,8 @@ print &ui_form_columns_table("delete_queues.cgi",
|
||||
undef,
|
||||
undef,
|
||||
[ "", $text{'mailq_id'}, $text{'mailq_date'}, $text{'mailq_from'},
|
||||
$text{'mailq_to'}, $text{'mailq_size'}, $text{'mailq_status'} ],
|
||||
$text{'mailq_to'}, $text{'mailq_size'}, $text{'mailq_dir'},
|
||||
$text{'mailq_status'} ],
|
||||
100,
|
||||
\@table);
|
||||
}
|
||||
|
@ -76,10 +76,9 @@ if ($mail->{'last_retry'}) {
|
||||
print &ui_table_row($text{'mail_qlast'},
|
||||
&make_date($mail->{'last_retry'}));
|
||||
}
|
||||
if ($mail->{'mailq_dir'}) {
|
||||
if ($mail->{'dir'}) {
|
||||
print &ui_table_row($text{'mail_qdir'},
|
||||
$text{'mail_qdir_'.$mail->{'mailq_dir'}} ||
|
||||
$mail->{'mailq_dir'});
|
||||
$text{'mailq_'.$mail->{'dir'}} || $mail->{'dir'});
|
||||
}
|
||||
print &ui_table_end();
|
||||
|
||||
|
Reference in New Issue
Block a user