#!/usr/bin/perl
-#################################################################################
+################################################################################
#
# File: $RCSfile: detail.cgi,v $
# Revision: $Revision: 1.1 $
use FindBin;
$0 = $FindBin::Script;
-use lib $FindBin::Bin;
+use lib "$FindBin::Bin/../lib";
use MAPS;
use MAPSLog;
use MAPSUtil;
use MAPSWeb;
-use CGI qw (:standard *table start_td end_td start_Tr end_Tr start_div end_div);
+use CGI qw(:standard *table start_td end_td start_Tr end_Tr start_div end_div);
use CGI::Carp 'fatalsToBrowser';
-my $type = param ('type');
-my $next = param ('next');
-my $lines = param ('lines');
-my $date = param ('date');
+my $type = param('type');
+my $next = param('next');
+my $lines = param('lines');
+my $date = param('date');
$date ||= '';
);
sub MakeButtons {
- my $type = shift;
+ my ($type) = @_;
my $prev_button = $prev >= 0 ?
a ({-href => "detail.cgi?type=$type;date=$date;next=$prev",
if ($type eq 'whitelist') {
$buttons = $buttons .
submit ({-name => 'action',
- -value => 'Blacklist Marked',
+ -value => 'Blacklist',
-onClick => 'return CheckAtLeast1Checked (document.detail);'}) .
submit ({-name => 'action',
- -value => 'Nulllist Marked',
+ -value => 'Nulllist',
-onClick => 'return CheckAtLeast1Checked (document.detail);'}) .
submit ({-name => 'action',
- -value => 'Reset Marks',
+ -value => 'Reset',
-onClick => 'return ClearAll (document.detail);'});
} elsif ($type eq 'blacklist') {
$buttons = $buttons .
submit ({-name => 'action',
- -value => 'Whitelist Marked',
+ -value => 'Whitelist',
-onClick => 'return CheckAtLeast1Checked (document.detail);'}) .
submit ({-name => 'action',
- -value => 'Nulllist Marked',
+ -value => 'Nulllist',
-onClick => 'return CheckAtLeast1Checked (document.detail);'}) .
submit ({-name => 'action',
- -value => 'Reset Marks',
+ -value => 'Reset',
-onClick => 'return ClearAll (document.detail);'});
} elsif ($type eq 'nulllist') {
$buttons = $buttons .
submit ({-name => 'action',
- -value => 'Whitelist Marked',
+ -value => 'Whitelist',
-onClick => 'return CheckAtLeast1Checked (document.detail);'}) .
submit ({-name => 'action',
- -value => 'Blacklist Marked',
+ -value => 'Blacklist',
-onClick => 'return CheckAtLeast1Checked (document.detail);'}) .
submit ({-name => 'action',
- -value => 'Reset Marks',
+ -value => 'Reset',
-onClick => 'return ClearAll (document.detail);'});
} else {
$buttons = $buttons .
submit ({-name => 'action',
- -value => 'Whitelist Marked',
+ -value => 'Whitelist',
-onClick => 'return CheckAtLeast1Checked (document.detail);'}) .
submit ({-name => 'action',
- -value => 'Blacklist Marked',
+ -value => 'Blacklist',
-onClick => 'return CheckAtLeast1Checked (document.detail);'}) .
submit ({-name => 'action',
- -value => 'Nulllist Marked',
+ -value => 'Nulllist',
-onClick => 'return CheckAtLeast1Checked (document.detail);'}) .
submit ({-name => 'action',
- -value => 'Reset Marks',
+ -value => 'Reset',
-onClick => 'return ClearAll (document.detail);'});
} # if
-action => 'processaction.cgi',
-name => 'detail'
};
- print start_table ({-align => 'center',
- -id => $table_name,
- -border => 0,
- -cellspacing => 0,
- -cellpadding => 0,
- -width => '100%'}) . "\n";
+ print start_table({-align => 'center',
+ -id => $table_name,
+ -border => 0,
+ -cellspacing => 0,
+ -cellpadding => 0,
+ -width => '100%'}) . "\n";
my $buttons = MakeButtons $type;
];
print end_div;
- foreach my $sender (ReturnSenders $userid, $type, $next, $lines, $date) {
- my @msgs = ReturnMessages $userid, $sender;
+ for my $sender (ReturnSenders($userid, $type, $next, $lines, $date)) {
+ my @msgs = ReturnMessages($userid, $sender);
my @msgs2 = @msgs;
- my ($onlist, $rule);
- $rule = 'none';
+ my ($onlist, $seq);
+
+ my $rule = 'none';
+ my $hit_count = 0;
- ($onlist, $rule) = OnWhitelist $sender, 0;
+ ($onlist, $rule, $seq, $hit_count) = OnWhitelist($sender, $userid, 0);
unless ($onlist) {
- ($onlist, $rule) = OnBlacklist $sender, 0;
+ ($onlist, $rule, $seq, $hit_count) = OnBlacklist($sender, 0);
unless ($onlist) {
- ($onlist, $rule) = OnNulllist $sender, 0;
+ ($onlist, $rule, $seq, $hit_count) = OnNulllist($sender, 0);
} # unless
} # unless
if ($rule =~ /(\w+):(\d+)/) {
my $list = $1;
my $sequence = $2 - 1;
- my $link = "<a href=\"/maps/php/list.php?type=$list&next=$sequence\">$list:$2</a>";
+ my $link = "<a href=\"/maps/php/list.php?type=$list&next=$sequence\">$list:$2</a>/$hit_count";
$rule =~ s/\w+:\d+/$link/;
} # if
-border => 0,
-width => '100%',
-bgcolor => '#d4d0c8'};
+
+ # Get subject line
+ my $heading = $msgs2[0][0] || '';
+ $heading = "?subject=$heading" if $heading;
print
td {-class => 'tablelabel',
-valign => 'middle',
td {-class => 'sender',
-valign => 'middle',
-width => '40%'},
- a {-href => "mailto:$sender?subject=$msgs2[0][0]"}, $sender,
+ a {-href => "mailto:$sender$heading"}, $sender,
td {
-valign => 'middle'},
$rule;
my $messages = 1;
- foreach (@msgs) {
+ for (@msgs) {
my $msg_date = pop @{$_};
my $subject = pop @{$_};
-valign => 'middle'}, $msg_date
];
print end_table;
- } # foreach
+ } # for
print end_td;
print end_Tr;
- } # foreach
+ } # for
print start_div {-class => 'toolbar'};
print
print end_div;
print end_table;
print end_form;
+
+ return;
} # PrintTable
# Main
my $heading_date =$date ne '' ? ' on ' . FormatDate ($date) : '';
-$userid = Heading (
+$userid = Heading(
'getcookie',
'',
(ucfirst ($type) . ' Report'),
$userid ||= $ENV{USER};
-SetContext $userid;
-NavigationBar $userid;
+SetContext($userid);
+NavigationBar($userid);
unless ($lines) {
- my %options = GetUserOptions $userid;
+ my %options = GetUserOptions($userid);
$lines = $options{'Page'};
} # unless
. "and timestamp > '$sod' and timestamp < '$eod' ";
} # if
-$total = MAPSDB::count_distinct ('log', 'sender', $condition);
+$total = count_distinct('log', 'sender', $condition);
$next ||= 0;
if (($next - $lines) > 0) {
$prev = $next - $lines;
} else {
- $prev = $next eq 0 ? -1 : 0;
+ $prev = $next == 0 ? -1 : 0;
} # if
-PrintTable $type;
+PrintTable($type);
-Footing $table_name;
+Footing($table_name);
exit;