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 $filename;
|
||||||
my @words;
|
my @words;
|
||||||
my $read_date = 0;
|
my $read_date;
|
||||||
|
my $debug;
|
||||||
my $debug = 1;
|
my $logfile;
|
||||||
my $logfile = "/tmp/wordfilter.log";
|
|
||||||
|
|
||||||
sub dolog {
|
sub dolog {
|
||||||
my ($str) = @_;
|
my ($str) = @_;
|
||||||
|
@ -37,15 +36,18 @@ sub refresh_words {
|
||||||
sub create_config {
|
sub create_config {
|
||||||
my ($name, $configdata) = @_;
|
my ($name, $configdata) = @_;
|
||||||
$filename = $configdata;
|
$filename = $configdata;
|
||||||
|
$read_date = 0;
|
||||||
|
$debug = 1;
|
||||||
|
$logfile = "/tmp/wordfilter.log";
|
||||||
}
|
}
|
||||||
|
|
||||||
sub check {
|
sub check {
|
||||||
my ($msg) = @_;
|
my ($id, $msg) = @_;
|
||||||
|
|
||||||
refresh_words;
|
refresh_words;
|
||||||
foreach my $word (@words) {
|
foreach my $word (@words) {
|
||||||
next unless ($msg =~ /\b${word}\b/);
|
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 8;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -53,8 +55,8 @@ sub check {
|
||||||
|
|
||||||
sub before_receive {
|
sub before_receive {
|
||||||
my ($request, $response) = @_;
|
my ($request, $response) = @_;
|
||||||
my $q = ${$request}{'qe'};
|
my $q = ${$request}{qe};
|
||||||
my $msg = lc($q->{'MESSAGE'});
|
my $msg = lc($q->{MESSAGE});
|
||||||
return check($msg);
|
return check($q->{ID}, $msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue