Merge branch 'master' of https://github.com/adefaria/clearscm
[clearscm.git] / maps / lib / MAPS.pm
index ae6efcc..72594c2 100644 (file)
@@ -702,16 +702,19 @@ sub Encrypt($$) {
   return $row[0];
 } # Encrypt
 
-sub FindEmail(;$) {
-  my ($sender) = @_;
+sub FindEmail(;$$) {
+  my ($sender, $date) = @_;
 
   my $statement;
 
-  if (!defined $sender || $sender eq '') {
-    $statement = "select * from email where userid = '$userid'";
-  } else {
-    $statement = "select * from email where userid = '$userid' and sender = '$sender'";
-  } # if
+  $sender //= '';
+  $date   //= '';
+
+  $statement  = "select * from email where userid = '$userid'";
+
+  # Add conditions if present
+  $statement .= " and sender = '$sender'"  if $sender;
+  $statement .= " and timestamp = '$date'" if $date;
 
   my $sth = $DB->prepare($statement)
     or DBError('FindEmail: Unable to prepare statement', $statement);
@@ -1934,10 +1937,10 @@ sub Whitelist ($$;$$) {
   # Now call MAPSDeliver
   my $status = system "$FindBin::Bin/MAPSDeliver $userid /tmp/MAPSMessage.$$";
 
-  unlink "/tmp/MAPSMessage.$$";
-
   if ($status == 0) {
     Logmsg("whitelist", $sender, "Delivered message");
+  
+    unlink "/tmp/MAPSMessage.$$";
   } else { 
     Error("Unable to deliver message - is MAPSDeliver setgid? - $!");
   } # if