X-Git-Url: https://defaria.com/gitweb/?a=blobdiff_plain;f=maps%2Fbin%2Fcheckaddress.cgi;h=a1b0d5e8532bef32df81f397d0e1bf12b358c9a4;hb=fabecda8b02db16f5321ae8b958b3bc3ac30a49c;hp=916664804396bacbc330094b99ef2ee528b39e3e;hpb=16babf81ce331af378de565ba73e927ff5491f65;p=clearscm.git diff --git a/maps/bin/checkaddress.cgi b/maps/bin/checkaddress.cgi index 9166648..a1b0d5e 100755 --- a/maps/bin/checkaddress.cgi +++ b/maps/bin/checkaddress.cgi @@ -16,9 +16,10 @@ use strict; use warnings; use FindBin; -$0 = $FindBin::Script; +local $0 = $FindBin::Script; use lib "$FindBin::Bin/../lib"; +use lib "$FindBin::Bin/../../lib"; use MAPS; @@ -28,12 +29,36 @@ use CGI qw(:standard); my $userid; if (param "user") { - $userid = param("user"); + $userid = param 'user'; } else { - $userid = cookie("MAPSUser"); + $userid = cookie 'MAPSUser'; } # if -my $sender = param("sender"); +$userid //= $ENV{USER}; + +my $sender = param 'sender'; + +sub formatRule($$$) { + my ($list, $email_on_file, $rec) = @_; + + my $next = $rec->{sequence} - 1; + my $rule = "Rule: $email_on_file ("; + $rule .= a { + -href => "/maps/php/list.php?type=$list&next=$next", + -target => '_blank', + }, "$list:$rec->{sequence}"; + $rule .= ')' . br; + + if ($rec->{retention}) { + $rule .= "Retention: " . $rec->{retention} . br; + } # if + + if ($rec->{comment}) { + $rule .= "Comment: " . $rec->{comment}; + } # if + + return $rule; +} # formatRule sub Heading() { print @@ -43,10 +68,12 @@ sub Heading() { print h3 {-align => "center", -class => "header"}, "MAPS: Checking address $sender"; + + return; } # Heading sub Body() { - my ($onlist, $rule); + my ($onlist, $rec); # Algorithm change: We now first check to see if the sender is not found # in the message and skip it if so. Then we handle if we are the sender @@ -64,32 +91,39 @@ sub Body() { # Then we process nulllist people. # # Finally, we handle return processing - ($onlist, $rule) = OnWhitelist($sender, $userid, 0); + + # Some email addresses have a '+' in them (e.g. + # wipro+autoreply@talent.icims.com). The problem is that CGI.pm replaces the + # '+' with a space. Now email addresses cannot contain spaces so we're gonna + # assume that a space in the email should be a '+'. + $sender =~ s/\s/\+/g; + + ($onlist, $rec) = OnWhitelist($sender, $userid, 0); if ($onlist) { print div {-align => "center"}, font {-color => "green"}, "Messages from", b ($sender), "will be", b ("delivered"), br, hr; - print $rule; + print formatRule('white', $sender, $rec); } else { - ($onlist, $rule) = OnBlacklist($sender, 0); + ($onlist, $rec) = OnBlacklist($sender, 0); if ($onlist) { - print div {-align => "center"}, - font {-color => "black"}, + print div {-align => "center"}, + font {-color => "black"}, "Messages from", b ($sender), "will be", b ("blacklisted"), br, hr; - print $rule; + print formatRule('black', $sender, $rec); } else { - ($onlist, $rule) = OnNulllist($sender, 0); + ($onlist, $rec) = OnNulllist($sender, 0); if ($onlist) { - print div {-align => "center"}, - font {-color => "grey"}, + print div {-align => "center"}, + font {-color => "grey"}, "Messages from", b ($sender), "will be", b ("discarded"), br, hr; - print $rule; + print formatRule('null', $sender, $rec); } else { - print div {-align => "center"}, - font {-color => "red"}, + print div {-align => "center"}, + font {-color => "red"}, "Messages from", b ($sender), "will be", b ("returned"); } # if } # if @@ -99,10 +133,14 @@ sub Body() { submit(-name => "submit", -value => "Close", -onClick => "window.close (self)"); + + return; } # Body sub Footing() { print end_html; + + return; } # Footing # Main