]> 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 1bec4b013a9be6686f08a29b2c1a6658b353c635..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,7 +25,8 @@ sub canedit ($$) {
        my $cgi=shift;
        my $session=shift;
 
-       return "" if $page=~/(\/|^)\Q$config{discussionpage}\E$/;
+       return "" if $config{discussion} && $page=~/(\/|^)\Q$config{discussionpage}\E$/i;
+       return "" if pagespec_match($page, "postcomment(*)");
        return undef;
 }