The new BadWord, all regex, system
[spider.git] / cmd / unset / badword.pl
index 76f0cf1013436fff3d12217326ae5fa059ba8c0f..6d49de3afba8df192db4786ce815911d62a734d8 100644 (file)
@@ -3,8 +3,30 @@
 #
 # Copyright (c) 1998 - Dirk Koopman G1TLH
 #
-# $Id$
+#
 #
 my ($self, $line) = @_;
-return $BadWord::badwords->unset(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;
+       
+       unless (@in = BadWords::check($w)) {
+               push @out, "BadWord $w not defined, ignored";
+       } else {
+               @in = BadWords::del_regex($w);
+               push @out, "BadWord $w removed";
+               $count++;
+       }
+}
+if ($count) {
+       BadWords::generate_regex();
+       BadWords::put();
+}
+return (1, @out);