X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/0f06504422792d7132b7644caf4dabf19d957659..ae37bca0e2593f18ed7f6ecb129e2d5bb3c113cc:/IkiWiki/Plugin/lockedit.pm?ds=sidebyside diff --git a/IkiWiki/Plugin/lockedit.pm b/IkiWiki/Plugin/lockedit.pm index 525fcb0e5..f6cac6cdd 100644 --- a/IkiWiki/Plugin/lockedit.pm +++ b/IkiWiki/Plugin/lockedit.pm @@ -14,6 +14,10 @@ sub import { #{{{ sub getsetup () { #{{{ return + plugin => { + safe => 1, + rebuild => 0, + }, locked_pages => { type => "pagespec", example => "!*/Discussion", @@ -33,7 +37,10 @@ sub canedit ($$) { #{{{ return undef if defined $user && IkiWiki::is_admin($user); if (defined $config{locked_pages} && length $config{locked_pages} && - pagespec_match($page, $config{locked_pages})) { + pagespec_match($page, $config{locked_pages}, + user => $session->param("name"), + ip => $ENV{REMOTE_ADDR}, + )) { if (! defined $user || ! IkiWiki::userinfo_get($session->param("name"), "regdate")) { return sub { IkiWiki::needsignin($cgi, $session) }; @@ -47,7 +54,10 @@ sub canedit ($$) { #{{{ # XXX deprecated, should be removed eventually foreach my $admin (@{$config{adminuser}}) { - if (pagespec_match($page, IkiWiki::userinfo_get($admin, "locked_pages"))) { + if (pagespec_match($page, IkiWiki::userinfo_get($admin, "locked_pages"), + user => $session->param("name"), + ip => $ENV{REMOTE_ADDR}, + )) { if (! defined $user || ! IkiWiki::userinfo_get($session->param("name"), "regdate")) { return sub { IkiWiki::needsignin($cgi, $session) };