X-Git-Url: https://defaria.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=maps%2Fbin%2Fdetail.cgi;h=ed7efcac3945903173c404a6155948823d1941d7;hb=476e89577a178ee0479a5908772c6271347dae29;hp=2bac172df035c23608ffaa9d996527fa186989ba;hpb=c799127c92994f07a62499f980410dbdb01c9d19;p=clearscm.git
diff --git a/maps/bin/detail.cgi b/maps/bin/detail.cgi
index 2bac172..ed7efca 100755
--- a/maps/bin/detail.cgi
+++ b/maps/bin/detail.cgi
@@ -1,5 +1,6 @@
#!/usr/bin/perl
-#################################################################################
+################################################################################
+#
# File: $RCSfile: detail.cgi,v $
# Revision: $Revision: 1.1 $
# Description: Displays list of email addresses based on report type.
@@ -10,26 +11,27 @@
#
# (c) Copyright 2000-2006, Andrew@DeFaria.com, all rights reserved.
#
-################################################################################use strict;
+################################################################################
+use strict;
use warnings;
use MIME::Words qw(:all);
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 ||= '';
@@ -72,7 +74,7 @@ my %types = (
);
sub MakeButtons {
- my $type = shift;
+ my ($type) = @_;
my $prev_button = $prev >= 0 ?
a ({-href => "detail.cgi?type=$type;date=$date;next=$prev",
@@ -88,49 +90,49 @@ sub MakeButtons {
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
@@ -149,12 +151,12 @@ sub PrintTable {
-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;
@@ -169,20 +171,22 @@ sub PrintTable {
];
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) = OnNulllist $sender;
+ ($onlist, $rule, $seq, $hit_count) = OnWhitelist($sender, $userid, 0);
unless ($onlist) {
- ($onlist, $rule) = OnBlacklist $sender;
+ ($onlist, $rule, $seq, $hit_count) = OnBlacklist($sender, 0);
unless ($onlist) {
- ($onlist, $rule) = OnWhitelist $sender;
+ ($onlist, $rule, $seq, $hit_count) = OnNulllist($sender, 0);
} # unless
} # unless
@@ -193,7 +197,7 @@ sub PrintTable {
if ($rule =~ /(\w+):(\d+)/) {
my $list = $1;
my $sequence = $2 - 1;
- my $link = "$list:$2";
+ my $link = "$list:$2/$hit_count";
$rule =~ s/\w+:\d+/$link/;
} # if
@@ -217,6 +221,10 @@ sub PrintTable {
-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',
@@ -224,7 +232,7 @@ sub PrintTable {
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;
@@ -233,7 +241,7 @@ sub PrintTable {
my $messages = 1;
- foreach (@msgs) {
+ for (@msgs) {
my $msg_date = pop @{$_};
my $subject = pop @{$_};
@@ -273,10 +281,10 @@ sub PrintTable {
-valign => 'middle'}, $msg_date
];
print end_table;
- } # foreach
+ } # for
print end_td;
print end_Tr;
- } # foreach
+ } # for
print start_div {-class => 'toolbar'};
print
@@ -290,14 +298,17 @@ sub PrintTable {
print end_div;
print end_table;
print end_form;
+
+ return;
} # PrintTable
# Main
+my $condition;
my @scripts = ('ListActions.js');
my $heading_date =$date ne '' ? ' on ' . FormatDate ($date) : '';
-$userid = Heading (
+$userid = Heading(
'getcookie',
'',
(ucfirst ($type) . ' Report'),
@@ -309,11 +320,11 @@ $userid = Heading (
$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
@@ -327,7 +338,7 @@ if ($date eq '') {
. "and timestamp > '$sod' and timestamp < '$eod' ";
} # if
-$total = MAPSDB::count_distinct ('log', 'sender', $condition);
+$total = count_distinct('log', 'sender', $condition);
$next ||= 0;
@@ -336,11 +347,11 @@ $last = $next + $lines < $total ? $next + $lines : $total;
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;