use MAPSWeb;
use DateUtils;
-my $type = param 'type';
-my $next = param 'next';
-my $lines = param 'lines';
-my $date = param 'date';
+my $type = param 'type';
+my $list = substr $type, 0, -4 if $type =~ /list$/;
+my $next = param 'next';
+my $lines = param 'lines';
+my $date = param 'date';
$date ||= '';
]
);
+sub formatRule($) {
+ my ($rec) = @_;
+
+ return '' unless $rec->{pattern} or $rec->{domain};
+
+ $rec->{pattern} //= '';
+ $rec->{domain} //= '';
+
+ return "$rec->{pattern}\@$rec->{domain}";
+} # formatRule
+
sub MakeButtons($) {
my ($type) = @_;
my $current = $next + 1;
+ my ($onlist, $rec);
+
print div {-align => 'center'}, b (
'(' . $current . '-' . $last . ' of ' . $total . ')');
print start_form {
MakeButtons $type;
+ print start_div {-id => 'highlightrow'};
+
print start_table({-align => 'center',
-id => $table_name,
-border => 0,
print
Tr [
- td {-class => 'tablebordertopleft'}, ' ',
- th {-class => 'tableborder'}, 'Sender',
- th {-class => 'tableborder'}, 'List',
- th {-class => 'tableborder'}, 'Hit Count',
- th {-class => 'tableborder'}, 'Rule',
- th {-class => 'tablebordertopright'}, 'Comment',
+ th {-class => 'tablebordertopleft'}, '',
+ th {-class => 'tableborder'}, 'Sender',
+ th {-class => 'tableborder'}, 'List',
+ th {-class => 'tableborder'}, 'Hit Count',
+ th {-class => 'tableborder'}, 'Rule',
+ th {-class => 'tableborder'}, 'Retention',
+ th {-class => 'tablebordertopright'}, 'Comment/Date',
];
my @senders = ReturnSenders(
$heading = $msgs->[0]{subject} if $msgs->[0]{subject};
} # if
- my ($onlist, $seq);
-
- my $rule = 'none';
- my $hit_count = 0;
-
- ($onlist, $rule, $seq, $hit_count) = OnWhitelist($sender, $userid, 0);
+ ($onlist, $rec) = OnWhitelist($sender, $userid, 0);
unless ($onlist) {
- ($onlist, $rule, $seq, $hit_count) = OnBlacklist($sender, 0);
+ ($onlist, $rec) = OnBlacklist($sender, 0);
unless ($onlist) {
- ($onlist, $rule, $seq, $hit_count) = OnNulllist($sender, 0);
+ ($onlist, $rec) = OnNulllist($sender, 0);
} # unless
} # unless
- $hit_count //= '';
-
- my $list = '';
- my $sequence = 0;
- my $comment = '';
-
- # Parse rule
- if ($rule) {
- if ($rule =~ /\((\w+):(\d+)\)\s+"(\S*)"/) {
- $list = $1;
- $sequence = $2;
- $rule = $3;
- $comment = '';
- } elsif ($rule =~ /\((\w+):(\d+)\)\s+"(\S*) - (.*)"/) {
- $list = $1;
- $sequence = $2;
- $rule = $3;
- $comment = $4;
- } # if
-
- $rule =~ s/\\@/\@/;
- } # if
-
- $sequence //= 0;
$next++;
# Start Sender line
-href => "mailto:$sender$heading",
}, " $sender";
- my $listlink = ($list and $sequence) ? "$list:$sequence" : ' ';
+ if ($rec) {
+ my $listlink = ($rec->{type} and $rec->{sequence}) ? "$rec->{type}:$rec->{sequence}" : '';
+
+ $rec->{comment} //= '';
+
+ print td {
+ -class => $dataclass,
+ -align => 'right',
+ }, a {
+ href => "/maps/php/list.php?type=$rec->{type}&next=" . ($rec->{sequence} - 1),
+ }, $listlink,
+ td {
+ -class => $dataclass,
+ -align => 'right',
+ }, "$rec->{hit_count} ",
+ td {
+ -class => $dataclass,
+ }, formatRule($rec),
+ td {
+ -class => $dataclass,
+ -align => 'right',
+ }, "$rec->{retention} ",
+ td {
+ -class => $rightclass,
+ }, $rec->{comment};
+ } else {
+ # $rec will be undefined if this message will be returned
+ print td {-class => $dataclass},
+ td {-class => $dataclass},
+ td {-class => $dataclass},
+ td {-class => $dataclass},
+ td {-class => $rightclass};
+ } # if
- print td {
- -class => $dataclass,
- -align => 'right',
- }, a {
- href => "/maps/php/list.php?type=$list&next=" . ($sequence - 1),
- }, $listlink,
- td {
- -class => $dataclass,
- -align => 'right',
- }, "$hit_count ",
- td {
- -class => $dataclass,
- }, $rule,
- td {
- -class => $rightclass,
- }, $comment;
print end_Tr;
my $msgnbr = 0;
Tr [
td {
-class => $subjectclass,
- -colspan => 4,
+ -colspan => 5,
}, a {
-href => "display.cgi?sender=$sender;msg_date=$rec->{timestamp}",
}, ' ' . $rec->{subject},
} # for
print end_table;
- print end_form;
+ print end_div;
MakeButtons $type;
+ print end_form;
+
return;
} # Body