2 ################################################################################
4 # File: $RCSfile: add2blacklist.cgi,v $
5 # Revision: $Revision: 1.1 $
6 # Description: Add an email address to the blacklist
7 # Author: Andrew@DeFaria.com
8 # Created: Mon Jan 16 20:25:32 PST 2006
9 # Modified: $Date: 2013/06/12 14:05:47 $
12 # (c) Copyright 2000-2006, Andrew@DeFaria.com, all rights reserved.
14 ################################################################################
19 $0 = $FindBin::Script;
21 use lib "$FindBin::Bin/../lib";
28 use CGI qw/:standard *table/;
29 use CGI::Carp 'fatalsToBrowser';
37 my $nextseq = GetNextSequenceNo($userid, $type);
40 my $pattern = param "pattern$nextseq";
41 my $domain = param "domain$nextseq";
42 my $comment = param "comment$nextseq";
44 last if ((!defined $pattern || $pattern eq '') &&
45 (!defined $domain || $domain eq ''));
47 $sender = CheckEmail $pattern, $domain;
49 my ($status, $rule) = OnBlacklist($sender);
52 print br {-class => 'error'}, "The email address $sender is already on ${Userid}'s $type list";
54 Add2Blacklist($sender, $userid, $comment);
55 print br "The email address, $sender, has been added to ${Userid}'s $type list";
57 # Now remove this entry from the other lists (if present)
58 for my $otherlist ('white', 'null') {
59 my $sth = FindList $otherlist, $sender;
60 my ($sequence, $count);
62 ($_, $_, $_, $_, $_, $sequence) = GetList($sth);
65 $count = DeleteList($otherlist, $sequence);
66 print br "Removed $sender from ${Userid}'s " . ucfirst $otherlist . ' list'
69 ResequenceList($userid, $otherlist);
86 $Userid = ucfirst $userid;
90 NavigationBar($userid);
96 -action => 'processaction.cgi',
100 print '<p></p><center>',
101 hidden ({-name => 'type',
103 submit ({-name => 'action',