diff options
Diffstat (limited to 'IkiWiki/Plugin/opendiscussion.pm')
-rw-r--r-- | IkiWiki/Plugin/opendiscussion.pm | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/IkiWiki/Plugin/opendiscussion.pm b/IkiWiki/Plugin/opendiscussion.pm new file mode 100644 index 000000000..808d3cd2b --- /dev/null +++ b/IkiWiki/Plugin/opendiscussion.pm @@ -0,0 +1,33 @@ +#!/usr/bin/perl +package IkiWiki::Plugin::opendiscussion; + +use warnings; +use strict; +use IkiWiki 3.00; + +sub import { + hook(type => "getsetup", id => "opendiscussion", call => \&getsetup); + hook(type => "canedit", id => "opendiscussion", call => \&canedit, + first => 1); +} + +sub getsetup () { + return + plugin => { + safe => 1, + rebuild => 0, + section => "auth", + }, +} + +sub canedit ($$) { + my $page=shift; + my $cgi=shift; + my $session=shift; + + return "" if $config{discussion} && $page=~/(\/|^)\Q$config{discussionpage}\E$/i; + return "" if pagespec_match($page, "postcomment(*)"); + return undef; +} + +1 |