]> 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 3da01efee154988d1432d0ed54680525569e224c..808d3cd2bd730c3847a876e016df9145c4bb32a9 100644 (file)
@@ -7,7 +7,8 @@ use IkiWiki 3.00;
 
 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 () {
@@ -15,6 +16,7 @@ sub getsetup () {
                plugin => {
                        safe => 1,
                        rebuild => 0,
+                       section => "auth",
                },
 }
 
@@ -23,8 +25,8 @@ sub canedit ($$) {
        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;
 }