]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/opendiscussion.pm
opendiscussion: don't allow editing discussionpage if discussion is disabled
[ikiwiki.git] / IkiWiki / Plugin / opendiscussion.pm
index 96a74aee832d31af0fd653a851f95b2044a56ded..808d3cd2bd730c3847a876e016df9145c4bb32a9 100644 (file)
@@ -3,29 +3,31 @@ package IkiWiki::Plugin::opendiscussion;
 
 use warnings;
 use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "opendiscussion", call => \&getsetup);
-       hook(type => "canedit", id => "opendiscussion", call => \&canedit);
-} # }}}
+       hook(type => "canedit", id => "opendiscussion", call => \&canedit,
+               first => 1);
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return 
                plugin => {
                        safe => 1,
                        rebuild => 0,
+                       section => "auth",
                },
-} #}}}
+}
 
-sub canedit ($$) { #{{{
+sub canedit ($$) {
        my $page=shift;
        my $cgi=shift;
        my $session=shift;
 
-       my $discussion=gettext("discussion");
-       return "" if $page=~/(\/|^)\Q$discussion\E$/;
+       return "" if $config{discussion} && $page=~/(\/|^)\Q$config{discussionpage}\E$/i;
+       return "" if pagespec_match($page, "postcomment(*)");
        return undef;
-} #}}}
+}
 
 1