X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/848ff1bf5e218c57cc738a85ed02d7e1396c1d22..8315913a252f9a036f139a1d9541ae1693ef33eb:/IkiWiki/Plugin/blogspam.pm?ds=sidebyside

diff --git a/IkiWiki/Plugin/blogspam.pm b/IkiWiki/Plugin/blogspam.pm
index cbd9859a5..626c8ec42 100644
--- a/IkiWiki/Plugin/blogspam.pm
+++ b/IkiWiki/Plugin/blogspam.pm
@@ -9,6 +9,7 @@ my $defaulturl='http://test.blogspam.net:8888/';
 
 sub import {
 	hook(type => "getsetup", id => "blogspam",  call => \&getsetup);
+	hook(type => "checkconfig", id => "blogspam", call => \&checkconfig);
 	hook(type => "checkcontent", id => "blogspam", call => \&checkcontent);
 }
 
@@ -43,17 +44,19 @@ sub getsetup () {
 		},
 }
 
-sub checkcontent (@) {
-	my %params=@_;
-
+sub checkconfig () {
+	# This is done at checkconfig time because printing an error
+	# if the module is missing when a spam is posted would not
+	# let the admin know about the problem.
 	eval q{
 		use RPC::XML;
 		use RPC::XML::Client;
 	};
-	if ($@) {
-		warn($@);
-		return undef;
-	}
+	error $@ if $@;
+}
+
+sub checkcontent (@) {
+	my %params=@_;
 	
  	if (exists $config{blogspam_pagespec}) {
 		return undef
@@ -85,7 +88,7 @@ sub checkcontent (@) {
 
 	my %req=(
 		ip => $ENV{REMOTE_ADDR},
-		comment => $params{content},
+		comment => defined $params{diff} ? $params{diff} : $params{content},
 		subject => defined $params{subject} ? $params{subject} : "",
 		name => defined $params{author} ? $params{author} : "",
 		link => exists $params{url} ? $params{url} : "",