X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fset%2Fbadword.pl;h=751e4d44624103f1cf194c67f174f35c6449b424;hb=606b9690c7bb9e293cb4a03507f0280eea05d9ce;hp=7df13cff6a0b61cf89de642e8f5a60d95d5c547e;hpb=c3505bcfc922cd712bad2c20b3479cf8d1dc54fe;p=spider.git diff --git a/cmd/set/badword.pl b/cmd/set/badword.pl index 7df13cff..751e4d44 100644 --- a/cmd/set/badword.pl +++ b/cmd/set/badword.pl @@ -6,5 +6,26 @@ # # my ($self, $line) = @_; -return $BadWords::badword->set(8, $self->msg('e6'), $self, $line); - +return (1, $self->msg('e5')) if $self->remotecmd; +# are we permitted? +return (1, $self->msg('e5')) if $self->priv < 6; +my @words = split /\s+/, uc $line; +my @out; +my $count = 0; +foreach my $w (@words) { + my @in; + + if (@in = BadWords::check($w)) { + push @out, "BadWord $w already matched by '$in[0]', ignored"; + } else { + @in = BadWords::add_regex($w); + push @out, "BadWord $w added as '$in[0]'"; + $count++; + } +} +if ($count) { + BadWords::generate_regex(); + BadWords::put(); +} +return (1, @out); +