MT says my plugin exists and is enabled (only under system wide settings->plugins though), but when I republish the site
1. Posted comments are not filtered
2. There's nothing in Apache's error log
The documentation is a bit lacking on how I go about doing any debugging. Code follows:
CODE
package MT::Plugin::CurseCatcher;
use strict;
use MT;
use base qw( MT::Plugin );
our $VERSION = 1.0;
MT->add_plugin(__PACKAGE__->new({
name => "CurseCatcher",
description => '<MT_TRANS phrase="Simple word filter.">',
author_name => "Andy Theuninck",
author_link => "http://gohanman.com/",
version => $VERSION,
registry => {
text_filters => {
curseremove => {
label => "CurseCatcher",
code => \&curseremove,
docs => "",
},
},
},
}));
our @CC_badwords = ('word1','word2','word3');
sub curseremove {
my ($str, $ctx) = @_;
my $word;
foreach $word (@CC_badwords){
my $replace = "";
for (my $i=0;$i<length($word);$i++){
$replace = $replace."*";
}
$str =~ s/\b$word\b/$replace/i
}
$str;
}
use strict;
use MT;
use base qw( MT::Plugin );
our $VERSION = 1.0;
MT->add_plugin(__PACKAGE__->new({
name => "CurseCatcher",
description => '<MT_TRANS phrase="Simple word filter.">',
author_name => "Andy Theuninck",
author_link => "http://gohanman.com/",
version => $VERSION,
registry => {
text_filters => {
curseremove => {
label => "CurseCatcher",
code => \&curseremove,
docs => "",
},
},
},
}));
our @CC_badwords = ('word1','word2','word3');
sub curseremove {
my ($str, $ctx) = @_;
my $word;
foreach $word (@CC_badwords){
my $replace = "";
for (my $i=0;$i<length($word);$i++){
$replace = $replace."*";
}
$str =~ s/\b$word\b/$replace/i
}
$str;
}
I've edited the actual words in @CC_badwords for the post, but they're still single quoted alphanumeric strings.
EDIT:
Thanks to the help of those on IRC, I got this sorted out. I needed to set filters="curseremove" in my MTCommentBody element.