Fixed bug hit_count was not being returned properly
[clearscm.git] / maps / bin / MAPSDB.pm
index 6fa6e9b..5836e2a 100644 (file)
@@ -2,7 +2,7 @@
 #################################################################################
 #
 # File:         $RCSfile: MAPSDB.pm,v $
-# Revision:        $Revision: 1.1 $
+# Revision:     $Revision: 1.1 $
 # Description:  MAPS Database routines
 # Author:       Andrew@DeFaria.com
 # Created:      Fri Nov 29 14:17:21  2002
@@ -206,13 +206,15 @@ sub RecordHit ($$$) {
   return;
 } # RecordHit
 
-sub CheckOnList ($$) {
+sub CheckOnList ($$;$) {
   # CheckOnList will check to see if the $sender is on the $listfile.
   # Return 1 if found 0 if not.
-  my ($listtype, $sender) = @_;
+  my ($listtype, $sender, $update) = @_;
 
-  my $status   = 0;
-  my $rule;
+  $update //= 1;
+
+  my $status = 0;
+  my ($rule, $sequence, $hit_count);
 
   my $statement = "select pattern, domain, comment, sequence, hit_count from list where userid = '$userid' and type = '$listtype'";
 
@@ -225,8 +227,8 @@ sub CheckOnList ($$) {
   while (my @row = $sth->fetchrow_array) {
     last if !@row;
 
-    my $hit_count = pop (@row);
-    my $sequence  = pop (@row);
+       $hit_count = pop (@row);
+       $sequence  = pop (@row);
     my $comment   = pop (@row);
     my $domain    = pop (@row);
     my $pattern   = pop (@row);
@@ -264,7 +266,7 @@ sub CheckOnList ($$) {
       $rule  .= " - $comment" if $comment and $comment ne '';
       $status = 1;
 
-      RecordHit $listtype, $sequence, ++$hit_count;
+      RecordHit $listtype, $sequence, ++$hit_count if $update;
 
       last;
     } # if
@@ -272,7 +274,7 @@ sub CheckOnList ($$) {
 
   $sth->finish;
 
-  return ($status, $rule);
+  return ($status, $rule, $sequence, $hit_count);
 } # CheckOnList
 
 sub CleanEmail ($) {