forked from public/public
plugin/wordfilter: all global variables must be set in create_config
This commit is contained in:
parent
0b65cf3531
commit
3fc545b7b0
1 changed files with 11 additions and 9 deletions
|
@ -3,10 +3,9 @@ use POSIX qw(strftime);
|
|||
|
||||
my $filename;
|
||||
my @words;
|
||||
my $read_date = 0;
|
||||
|
||||
my $debug = 1;
|
||||
my $logfile = "/tmp/wordfilter.log";
|
||||
my $read_date;
|
||||
my $debug;
|
||||
my $logfile;
|
||||
|
||||
sub dolog {
|
||||
my ($str) = @_;
|
||||
|
@ -37,15 +36,18 @@ sub refresh_words {
|
|||
sub create_config {
|
||||
my ($name, $configdata) = @_;
|
||||
$filename = $configdata;
|
||||
$read_date = 0;
|
||||
$debug = 1;
|
||||
$logfile = "/tmp/wordfilter.log";
|
||||
}
|
||||
|
||||
sub check {
|
||||
my ($msg) = @_;
|
||||
my ($id, $msg) = @_;
|
||||
|
||||
refresh_words;
|
||||
foreach my $word (@words) {
|
||||
next unless ($msg =~ /\b${word}\b/);
|
||||
dolog("reject message " . $q->{'ID'} . " containing `" . $word . "' in message: `" . $msg . "'\n");
|
||||
dolog("reject message " . $id . " containing `" . $word . "' in message: `" . $msg . "'\n");
|
||||
return 8;
|
||||
}
|
||||
return 0;
|
||||
|
@ -53,8 +55,8 @@ sub check {
|
|||
|
||||
sub before_receive {
|
||||
my ($request, $response) = @_;
|
||||
my $q = ${$request}{'qe'};
|
||||
my $msg = lc($q->{'MESSAGE'});
|
||||
return check($msg);
|
||||
my $q = ${$request}{qe};
|
||||
my $msg = lc($q->{MESSAGE});
|
||||
return check($q->{ID}, $msg);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue