X-Git-Url: https://defaria.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=maps%2Fbin%2Fdetail.cgi;h=1d3909714e6d6289a583356ad07a9acec0539750;hb=42bd9d8ce9f61e7d723efcb64a90fb499b8b9626;hp=fe98a1b898a0a40f39b61713dae4ac919a3a843c;hpb=ec9dcaa8edb34b1d8be0ce254423294f01ae48ab;p=clearscm.git
diff --git a/maps/bin/detail.cgi b/maps/bin/detail.cgi
index fe98a1b..1d39097 100755
--- a/maps/bin/detail.cgi
+++ b/maps/bin/detail.cgi
@@ -1,5 +1,5 @@
#!/usr/bin/perl
-#################################################################################
+################################################################################
#
# File: $RCSfile: detail.cgi,v $
# Revision: $Revision: 1.1 $
@@ -19,19 +19,19 @@ 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 ||= '';
@@ -74,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",
@@ -151,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;
@@ -171,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) = 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
@@ -195,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
@@ -219,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',
@@ -226,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;
@@ -235,7 +241,7 @@ sub PrintTable {
my $messages = 1;
- foreach (@msgs) {
+ for (@msgs) {
my $msg_date = pop @{$_};
my $subject = pop @{$_};
@@ -275,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
@@ -292,6 +298,8 @@ sub PrintTable {
print end_div;
print end_table;
print end_form;
+
+ return;
} # PrintTable
# Main
@@ -300,7 +308,7 @@ my @scripts = ('ListActions.js');
my $heading_date =$date ne '' ? ' on ' . FormatDate ($date) : '';
-$userid = Heading (
+$userid = Heading(
'getcookie',
'',
(ucfirst ($type) . ' Report'),
@@ -312,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
@@ -330,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;
@@ -339,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;