X-Git-Url: https://defaria.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=maps%2Fbin%2Fprocessaction.cgi;h=c9f0f58f7b1932721b6114ad23c71be5c29e4991;hb=d895bcfa1f515422ffde513f7fbe55a728d9c85c;hp=d294bc8b7607ebd58171b141bfa29cf10e4b3c36;hpb=020a4a5ea2be725b155cae3a2cadc9aba3911b9b;p=clearscm.git
diff --git a/maps/bin/processaction.cgi b/maps/bin/processaction.cgi
index d294bc8..c9f0f58 100755
--- a/maps/bin/processaction.cgi
+++ b/maps/bin/processaction.cgi
@@ -18,7 +18,7 @@ use warnings;
use FindBin;
$0 = $FindBin::Script;
-use lib $FindBin::Bin;
+use lib "$FindBin::Bin/../lib";
use MAPS;
use MAPSWeb;
@@ -26,13 +26,13 @@ use MAPSWeb;
use CGI qw (:standard *table start_Tr end_Tr);
use CGI::Carp 'fatalsToBrowser';
-my $type = param 'type';
-my $action = param 'action';
-my $next = param 'next';
-my $userid = cookie 'MAPSUser';
+my $type = param 'type';
+my $action = param 'action';
+my $next = param 'next';
+my $userid = cookie 'MAPSUser';
my $lines;
my $total;
-my $table_name = 'list';
+my $table_name = 'list';
my @scripts = ('ListActions.js');
@@ -40,15 +40,11 @@ sub ReturnSequenceNbrs {
my @names = param;
my @sequence_nbrs;
- Debug "Entered ReturnSequenceNbrs";
-
- foreach (@names) {
+ for (@names) {
if (/action(\d+)/) {
push @sequence_nbrs, $1;
} # if
- } # foreach
-
- Debug "Returning sequence nbrs " . join ' ', @sequence_nbrs;
+ } # for
return @sequence_nbrs;
} # ReturnSequenceNbrs
@@ -61,15 +57,15 @@ sub DeleteEntries {
my $count;
foreach (@sequence_nbrs) {
- $count += DeleteList $type, $_;
+ $count += DeleteList($type, $_);
} # foreach
- if ($count eq 0) {
- DisplayError 'Nothing to delete!';
+ if ($count == 0) {
+ DisplayError('Nothing to delete!');
} else {
- ResequenceList $userid, $type;
+ ResequenceList($userid, $type);
- if ($count eq 1) {
+ if ($count == 1) {
print redirect ("/maps/php/list.php?type=$type&next=$next&message=Deleted entry");
} else {
print redirect ("/maps/php/list.php?type=$type&next=$next&message=Deleted $count entries");
@@ -82,58 +78,71 @@ sub DeleteEntries {
sub PrintInputLine ($$$$$) {
my ($nextseq, $email_nbr, $leftclass, $dataclass, $rightclass) = @_;
- my $email = '';
- my $pattern = '';
- my $domain = '';
+ my $email = '';
+ my $pattern = '';
+ my $domain = '';
+ my $hit_count = 0;
if (defined $email_nbr && $email_nbr ne '') {
$email = param "email$email_nbr";
if ($email && $email ne '') {
($pattern, $domain) = split /\@/, $email;
} # if
+
+ $hit_count = CountMsg($email);
} # if
print Tr [
- td {-class => $leftclass,
- -align => 'center'}, "$nextseq",
- td {-class => $dataclass,
- -align => 'right'},
- (textfield {-class => 'inputfield',
- -style => 'width:100%',
- -align => 'right',
- -size => 25,
- -maxlength => '255',
- -name => "pattern$nextseq",
- -value => $pattern}),
- td {-class => $dataclass,
- -align => 'center'}, '@',
- td {-class => $dataclass},
- (textfield {-class => 'inputfield',
- -style => 'width:100%',
- -align => 'left',
- -size => 25,
- -maxlength => '255',
- -name => "domain$nextseq",
- -value => $domain}),
- td {-class => $rightclass},
- (textfield {-class => 'inputfield',
- -style => 'width:100%',
- -align => 'left',
- -size => 25,
- -maxlength => '255',
- -name => "comment$nextseq",
- -value => ''}),
+ td {-class => $leftclass,
+ -align => 'center'}, "$nextseq",
+ td {-class => $dataclass,
+ -align => 'right'},
+ (textfield {-class => 'inputfield',
+ -style => 'width:100%',
+ -align => 'right',
+ -size => 25,
+ -maxlength => '255',
+ -name => "pattern$nextseq",
+ -value => $pattern}),
+ td {-class => $dataclass,
+ -align => 'center'}, '@',
+ td {-class => $dataclass},
+ (textfield {-class => 'inputfield',
+ -style => 'width:100%',
+ -align => 'left',
+ -size => 25,
+ -maxlength => '255',
+ -name => "domain$nextseq",
+ -value => $domain}),
+ td {-class => $dataclass},
+ (textfield {-class => 'inputfield',
+ -style => 'width:100%',
+ -align => 'left',
+ -size => 25,
+ -maxlength => '255',
+ -name => "comment$nextseq",
+ -value => ''}),
+ td {-class => $rightclass},
+ (textfield {-class => 'inputfield',
+ -style => 'width:100%',
+ -align => 'left',
+ -size => 25,
+ -maxlength => '255',
+ -name => "hit_count$nextseq",
+ -value => $hit_count}),
];
+
+ return;
} # PrintInputLine
sub AddNewEntry {
- my ($type, @selected) = @_;
+ my ($type, @selected) = @_;
# First display the last page and add the appropriate number of
# empty, editable entries (possibly filled in) for the user to add
# the new entry
my $selected = @selected;
- my $nextseq = MAPSDB::GetNextSequenceNo $userid, $type;
+ my $nextseq = GetNextSequenceNo($userid, $type);
my $next = ($nextseq - $lines) + $selected - 1;
$next = 0
@@ -141,7 +150,7 @@ sub AddNewEntry {
my $Type = ucfirst $type;
- Heading (
+ Heading(
'getcookie',
'',
"Add to $Type List",
@@ -151,83 +160,89 @@ sub AddNewEntry {
@scripts
);
- NavigationBar $userid;
+ NavigationBar($userid);
# Now display table and new entry
print start_form {
- -method => 'post',
- -action => 'add2' . $type . 'list.cgi',
- -name => 'list'
+ -method => 'post',
+ -action => 'add2' . $type . 'list.cgi',
+ -name => 'list'
};
- print start_table {-align => 'center',
- -id => $table_name,
- -border => 0,
- -cellspacing => 0,
- -cellpadding => 4,
- -width => '100%'};
+ print start_table {-align => 'center',
+ -id => $table_name,
+ -border => 0,
+ -cellspacing => 0,
+ -cellpadding => 4,
+ -width => '100%'};
print Tr [
- th {-class => 'tableleftend'}, 'Seq',
- th {-class => 'tableheader'}, 'Username',
- th {-class => 'tableheader'}, '@',
- th {-class => 'tableheader'}, 'Domain',
- th {-class => 'tablerightend'}, 'Comments'
+ th {-class => 'tableleftend'}, 'Seq',
+ th {-class => 'tableheader'}, 'Username',
+ th {-class => 'tableheader'}, '@',
+ th {-class => 'tableheader'}, 'Domain',
+ th {-class => 'tableheader'}, 'Comments',
+ th {-class => 'tablerightend'}, 'Hit Count'
];
- my @list = ReturnList $type, $next, $lines;
+ my @list = ReturnList($type, $next, $lines);
my %record;
my $i = 1;
- foreach (@list) {
+ for (@list) {
$i++;
%record = %{$_};
# Normalize fields
- my $sequence = $record{sequence};
- my $pattern = $record{pattern} ? $record{pattern} : ' ';
- my $domain = $record{domain} ? $record{domain} : ' ';
- my $comment = $record{comment} ? $record{comment} : ' ';
+ my $sequence = $record{sequence};
+ my $pattern = $record{pattern} ? $record{pattern} : ' ';
+ my $domain = $record{domain} ? $record{domain} : ' ';
+ my $comment = $record{comment} ? $record{comment} : ' ';
+ my $hit_count = $record{hit_count} ? $record{hit_count} : ' ';
print Tr [
- td {-class => 'tableleftdata',
- -align => 'center'}, $sequence,
- td {-class => 'tabledata',
- -align => 'right'}, $pattern,
- td {-class => 'tabledata',
- -align => 'center'}, '@',
- td {-class => 'tabledata',
- -align => 'left'}, $domain,
- td {-class => 'tablerightdata',
- -align => 'left'}, $comment
+ td {-class => 'tableleftdata',
+ -align => 'center'}, $sequence,
+ td {-class => 'tabledata',
+ -align => 'right'}, $pattern,
+ td {-class => 'tabledata',
+ -align => 'center'}, '@',
+ td {-class => 'tabledata',
+ -align => 'left'}, $domain,
+ td {-class => 'tabledata',
+ -align => 'left'}, $comment,
+ td {-class => 'tablerightdata',
+ -align => 'right'}, $hit_count,
];
- } # foreach
+ } # for
# Now the input line(s)
- if (@selected eq 0) {
- PrintInputLine $nextseq, undef, 'tablebottomleft', 'tablebottomdata',
- 'tablebottomright';
+ if (@selected == 0) {
+ PrintInputLine($nextseq, undef, 'tablebottomleft', 'tablebottomdata',
+ 'tablebottomright');
} else {
- foreach (@selected) {
+ for (@selected) {
my $leftclass = $i == $lines ? 'tablebottomleft' : 'tableleftdata';
my $dataclass = $i == $lines ? 'tablebottomdata' : 'tabledata';
my $rightclass = $i == $lines ? 'tablebottomright' : 'tablerightdata';
$i++;
- PrintInputLine $nextseq++, $_, $leftclass, $dataclass, $rightclass;
- } # foreach
+ PrintInputLine($nextseq++, $_, $leftclass, $dataclass, $rightclass);
+ } # for
} # for
print end_table;
print br,
'
',
- submit ({-name => 'update',
- -value => 'Update',
- -onClick => 'return CheckEntry (document.list);'}),
- submit ({-name => 'Reset',
- -value => 'Reset',
- -onClick => 'history.back(); return false'}),
+ submit ({-name => 'update',
+ -value => 'Update',
+ -onClick => 'return CheckEntry (document.list);'}),
+ submit ({-name => 'Reset',
+ -value => 'Reset',
+ -onClick => 'history.back(); return false'}),
'';
print end_form;
+
+ return;
} # AddNewEntry
sub ModifyEntries {
@@ -237,7 +252,7 @@ sub ModifyEntries {
my $Type = ucfirst $type;
- Heading (
+ Heading(
'getcookie',
'',
"Modify $Type List",
@@ -247,156 +262,176 @@ sub ModifyEntries {
@scripts
);
- NavigationBar $userid;
+ NavigationBar($userid);
# Redisplay the page but open up the lines that are getting modified
print start_form {
- -method => 'post',
- -action => 'modifyentries.cgi',
- -name => 'list'
+ -method => 'post',
+ -action => 'modifyentries.cgi',
+ -name => 'list'
};
# Print some hidden fields to pass along
print
- hidden ({-name => 'type',
- -default => $type}),
- hidden ({-name => 'next',
- -default => $next});
-
- print start_table {-align => 'center',
- -id => $table_name,
- -border => 0,
- -cellspacing => 0,
- -cellpadding => 4,
- -width => '100%'};
+ hidden ({-name => 'type',
+ -default => $type}),
+ hidden ({-name => 'next',
+ -default => $next});
+
+ print start_table {-align => 'center',
+ -id => $table_name,
+ -border => 0,
+ -cellspacing => 0,
+ -cellpadding => 4,
+ -width => '100%'};
print Tr [
- th {-class => 'tableleftend'}, 'Seq',
- th {-class => 'tableheader'}, 'Username',
- th {-class => 'tableheader'}, '@',
- th {-class => 'tableheader'}, 'Domain',
- th {-class => 'tablerightend'}, 'Comments'
+ th {-class => 'tableleftend'}, 'Seq',
+ th {-class => 'tableheader'}, 'Username',
+ th {-class => 'tableheader'}, '@',
+ th {-class => 'tableheader'}, 'Domain',
+ th {-class => 'tableheader'}, 'Comments',
+ th {-class => 'tablerightend'}, 'Hit Count',
];
- my @list = ReturnList $type, $next, $lines;
+ # Corner case: If on the first page (i.e. $next=0) then being zero based, we
+ # will actually get 21 entries in @list (i.e. $next=0, $lines=20 - 21 $entries
+ # are retrieved). So in that case, and that case only, we will change $lines
+ # to $lines - 1.
+ --$lines if $next == 0;
+
+ my @list = ReturnList($type, $next, $lines);
my %record;
my $s = 0;
my $i = 1;
- foreach (@list) {
+ for (@list) {
%record = %{$_};
my $sequence = $record{sequence};
- my $leftclass = ($i eq $lines || $sequence eq $total) ?
+ my $leftclass = ($i == @list || $sequence eq $total) ?
'tablebottomleft' : 'tableleftdata';
- my $dataclass = ($i eq $lines || $sequence eq $total) ?
+ my $dataclass = ($i == @list || $sequence eq $total) ?
'tablebottomdata' : 'tabledata';
- my $rightclass = ($i eq $lines || $sequence eq $total) ?
+ my $rightclass = ($i == @list || $sequence eq $total) ?
'tablebottomright' : 'tablerightdata';
$i++;
print start_Tr,
- td {-class => $leftclass,
- -align => 'center'}, $record{sequence};
+ td {-class => $leftclass,
+ -align => 'center'}, $record{sequence};
if ($record{sequence} eq $selected[$s]) {
$s++;
# Normalize fields
- my $pattern = $record{pattern} ? $record{pattern} : '';
- my $domain = $record{domain} ? $record{domain} : '';
- my $comment = $record{comment} ? $record{comment} : '';
+ my $pattern = $record{pattern} ? $record{pattern} : '';
+ my $domain = $record{domain} ? $record{domain} : '';
+ my $comment = $record{comment} ? $record{comment} : '';
+ my $hit_count = $record{hit_count} ? $record{hit_count} : '';
print
- td {-class => $dataclass,
- -align => 'right'},
- (textfield {-class => 'inputfield',
- -style => 'width:100%',
- -align => 'right',
- -size => 25,
- -maxlength => '255',
- -name => "pattern$sequence",
- -value => $pattern}),
- td {-class => $dataclass,
- -align => 'center'}, '@',
- td {-class => $dataclass},
- (textfield {-class => 'inputfield',
- -style => 'width:100%',
- -align => 'left',
- -size => 25,
- -maxlength => '255',
- -name => "domain$sequence",
- -value => $domain}),
- td {-class => $rightclass},
- (textfield {-class => 'inputfield',
- -style => 'width:100%',
- -align => 'left',
- -size => 25,
- -maxlength => '255',
- -name => "comment$sequence",
- -value => $comment});
+ td {-class => $dataclass,
+ -align => 'right'},
+ (textfield {-class => 'inputfield',
+ -style => 'width:100%',
+ -align => 'right',
+ -size => 25,
+ -maxlength => '255',
+ -name => "pattern$sequence",
+ -value => $pattern}),
+ td {-class => $dataclass,
+ -align => 'center'}, '@',
+ td {-class => $dataclass},
+ (textfield {-class => 'inputfield',
+ -style => 'width:100%',
+ -align => 'left',
+ -size => 25,
+ -maxlength => '255',
+ -name => "domain$sequence",
+ -value => $domain}),
+ td {-class => $dataclass},
+ (textfield {-class => 'inputfield',
+ -style => 'width:100%',
+ -align => 'left',
+ -size => 25,
+ -maxlength => '255',
+ -name => "comment$sequence",
+ -value => $comment}),
+ td {-class => $rightclass},
+ (textfield {-class => 'inputfield',
+ -style => 'width:100%',
+ -align => 'left',
+ -size => 25,
+ -maxlength => '255',
+ -name => "hit_count$sequence",
+ -value => $hit_count});
} else {
# Put in ' ' for undefined fields
- my $pattern = $record{pattern} ? $record{pattern} : ' ';
- my $domain = $record{domain} ? $record{domain} : ' ';
- my $comment = $record{comment} ? $record{comment} : ' ';
+ my $pattern = $record{pattern} ? $record{pattern} : ' ';
+ my $domain = $record{domain} ? $record{domain} : ' ';
+ my $comment = $record{comment} ? $record{comment} : ' ';
+ my $hit_count = $record{hit_count} ? $record{hit_count} : ' ';
print
td {-class => $dataclass,
- -align => 'right'}, $pattern,
+ -align => 'right'}, $pattern,
+ td {-class => $dataclass,
+ -align => 'center'}, '@',
td {-class => $dataclass,
- -align => 'center'}, '@',
+ -align => 'left'}, $domain,
td {-class => $dataclass,
- -align => 'left'}, $domain,
+ -align => 'left'}, $comment,
td {-class => $rightclass,
- -align => 'left'}, $comment;
+ -align => 'left'}, $hit_count;
} # if
print end_Tr;
- } # foreach
+ } # for
print end_table;
print br,
'',
- submit ({-name => 'update',
- -value => 'Update',
- -onClick => 'return CheckEntry (document.list);'}),
- submit ({-name => 'Reset',
- -value => 'Reset',
- -onClick => 'history.back(); return false'}),
+ submit ({-name => 'update',
+ -value => 'Update',
+ -onClick => 'return CheckEntry (document.list);'}),
+ submit ({-name => 'Reset',
+ -value => 'Reset',
+ -onClick => 'history.back(); return false'}),
'';
print end_form;
+
+ return;
} # ModifyEntries
sub WhitelistMarked {
- AddNewEntry 'white', ReturnSequenceNbrs;
+ AddNewEntry('white', ReturnSequenceNbrs);
} # WhitelistMarked
sub BlacklistMarked {
- AddNewEntry 'black', ReturnSequenceNbrs;
+ AddNewEntry('black', ReturnSequenceNbrs);
} # BlacklistMarked
sub NulllistMarked {
- AddNewEntry 'null', ReturnSequenceNbrs;
+ AddNewEntry('null', ReturnSequenceNbrs);
} # NulllistMarked
# Main
$userid ||= $ENV{USER};
-SetContext $userid;
+SetContext($userid);
-my %options = GetUserOptions $userid;
+my %options = GetUserOptions($userid);
$lines = $options{'Page'};
-$total = MAPSDB::count 'list', "userid = \"$userid\" and type = \"$type\""
- if $type;
+$total = count('list', "userid = \"$userid\" and type = \"$type\"") if $type;
if ($action eq 'Add New Entry') {
- AddNewEntry $type;
+ AddNewEntry($type);
} elsif ($action eq 'Delete Marked') {
- DeleteEntries $type;
+ DeleteEntries($type);
} elsif ($action eq 'Modify Marked') {
- ModifyEntries $type;
+ ModifyEntries($type);
} elsif ($action eq 'Whitelist Marked') {
WhitelistMarked;
} elsif ($action eq 'Blacklist Marked') {
@@ -404,17 +439,17 @@ if ($action eq 'Add New Entry') {
} elsif ($action eq 'Nulllist Marked') {
NulllistMarked;
} else {
- Heading (
+ Heading(
'getcookie',
'',
"Unknown action ($action)",
"Unknown action ($action)"
);
- NavigationBar $userid;
- DisplayError "Unknown action encountered ($action)";
+ NavigationBar($userid);
+ DisplayError("Unknown action encountered ($action)");
} # if
-Footing $table_name;
+Footing($table_name);
exit;