X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fshow%2Fbadword.pl;h=33abbc05f2bc8ba4d36cbe08f13bec1a030ad1b1;hb=6311e8b178d0aeee984865fbd0446885c85b2f53;hp=0b5bbec3a84828feb77e9222b8c248dfc23ce5fd;hpb=c3505bcfc922cd712bad2c20b3479cf8d1dc54fe;p=spider.git diff --git a/cmd/show/badword.pl b/cmd/show/badword.pl index 0b5bbec3..33abbc05 100644 --- a/cmd/show/badword.pl +++ b/cmd/show/badword.pl @@ -5,6 +5,47 @@ # # # + my ($self, $line) = @_; -return $BadWords::badword->show(1, $self); +return (1, $self->msg('e5')) if $self->remotecmd; +# are we permitted? +return (1, $self->msg('e5')) if $self->priv < 6; + +my @out; +my @l; +my $count = 0; +my @words = BadWords::check($line); +my $cand; +my $w; + +push @out, "Words: " . join ',', @words; + +if ($line =~ /^\s*full/i || @words) { + foreach $w (BadWords::list_regex(1)) { + ++$count; + if ($line =~ /^\s*full/) { + push @out, $w; + } elsif (@words) { + ($cand) = split /\s+/, $w; + #push @out, "cand: $cand"; + push @out, $w if grep {$cand eq $_} @words; + } + } +} +else { + foreach my $w (BadWords::list_regex()) { + ++$count; + if (@l >= 5) { + push @out, sprintf "%-12s %-12s %-12s %-12s %-12s", @l; + @l = (); + } + push @l, $w; + } + push @l, "" while @l < 5; + push @out, sprintf "%-12s %-12s %-12s %-12s %-12s", @l; +} + +push @out, "$count BadWords"; + +return (1, @out);