add a button to prefs page for comment moderation
authorJoey Hess <joey@gnu.kitenet.net>
Mon, 26 Jan 2009 00:04:45 +0000 (19:04 -0500)
committerJoey Hess <joey@gnu.kitenet.net>
Mon, 26 Jan 2009 00:04:45 +0000 (19:04 -0500)
IkiWiki/Plugin/comments.pm
doc/plugins/comments.mdwn
doc/wikitemplates.mdwn

index ad5395a8248d6600e67015030d7afb741f5ead16..c95f77a42e5d4a212bc88e474687d0c1f8795d47 100644 (file)
@@ -26,6 +26,7 @@ sub import {
        hook(type => "htmlize", id => "_comment", call => \&htmlize);
        hook(type => "pagetemplate", id => "comments", call => \&pagetemplate);
        hook(type => "cgi", id => "comments", call => \&linkcgi);
        hook(type => "htmlize", id => "_comment", call => \&htmlize);
        hook(type => "pagetemplate", id => "comments", call => \&pagetemplate);
        hook(type => "cgi", id => "comments", call => \&linkcgi);
+       hook(type => "formbuilder_setup", id => "comments", call => \&formbuilder_setup);
        IkiWiki::loadplugin("inline");
 }
 
        IkiWiki::loadplugin("inline");
 }
 
@@ -618,6 +619,18 @@ sub commentmoderation ($$) {
        exit;
 }
 
        exit;
 }
 
+sub formbuilder_setup (@) {
+       my %params=@_;
+
+       my $form=$params{form};
+       if ($form->title eq "preferences") {
+               push @{$params{buttons}}, "Comment Moderation";
+               if ($form->submitted && $form->submitted eq "Comment Moderation") {
+                       commentmoderation($params{cgi}, $params{session});
+               }
+       }
+}
+
 sub comments_pending () {
        my $dir="$config{wikistatedir}/comments_pending/";
        return unless -d $dir;
 sub comments_pending () {
        my $dir="$config{wikistatedir}/comments_pending/";
        return unless -d $dir;
index 4cee3b9ad1d61ebcce952fc60a772f29b0a2370c..c13a6daa6a1ddb88e0d3f1b8973a3c029c56a815 100644 (file)
@@ -45,6 +45,8 @@ There are some global options for the setup file:
 ## comment moderation
 
 If you enable the [[blogspam]] plugin, comments that appear spammy will be
 ## comment moderation
 
 If you enable the [[blogspam]] plugin, comments that appear spammy will be
-held for moderation. These comments are stored in
-`.ikiwiki/comments_pending/`, and can be deleted, or moved into the
-wiki's srcdir to be posted.
+held for moderation. Wiki admins can access the comment moderation queue
+via a button on their Preferences page.
+
+The comments are stored in `.ikiwiki/comments_pending/`, and can be
+deleted, or moved into the wiki's srcdir to be posted.
index dc217cd30f4e72c64b50447e7b301de381f45fa4..fc589367741078aa1c615da73ac782e23293d82a 100644 (file)
@@ -33,6 +33,8 @@ located in /usr/share/ikiwiki/templates by default.
   by the [[plugins/comments]] plugin.
 * `editcomment.tmpl` - This template is the comment post form for the
   [[plugins/comments]] plugin.
   by the [[plugins/comments]] plugin.
 * `editcomment.tmpl` - This template is the comment post form for the
   [[plugins/comments]] plugin.
+* `commentmoderation.tmpl` - This template is used to produce the comment
+  moderation form.
 
 The [[plugins/pagetemplate]] plugin can allow individual pages to use a
 different template than `page.tmpl`.
 
 The [[plugins/pagetemplate]] plugin can allow individual pages to use a
 different template than `page.tmpl`.