summaryrefslogtreecommitdiff
path: root/doc/plugins/lockedit
diff options
context:
space:
mode:
authorJoey Hess <joey@gnu.kitenet.net>2009-10-11 16:53:07 -0400
committerJoey Hess <joey@gnu.kitenet.net>2009-10-11 16:53:07 -0400
commit665da89c270f98e93b1eaa89e729f3975973ab8f (patch)
treef2f40184469e9d19f92347c94ac5fa6b92226324 /doc/plugins/lockedit
parente1939185d29e1431861e63d6526cb3a498d6033e (diff)
parent22ed3f388b6433c512ca7a026d868861ea1990ea (diff)
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
Diffstat (limited to 'doc/plugins/lockedit')
-rw-r--r--doc/plugins/lockedit/discussion.mdwn21
1 files changed, 21 insertions, 0 deletions
diff --git a/doc/plugins/lockedit/discussion.mdwn b/doc/plugins/lockedit/discussion.mdwn
new file mode 100644
index 000000000..b058b2b07
--- /dev/null
+++ b/doc/plugins/lockedit/discussion.mdwn
@@ -0,0 +1,21 @@
+This plugin not only locks pages but ensures too a user is logged in. This seems to me redundant with signedit. I propose :
+
+ sub canedit ($$) {
+ my $page=shift;
+ my $cgi=shift;
+ my $session=shift;
+
+ my $user=$session->param("name");
+ return undef if defined $user && IkiWiki::is_admin($user);
+
+ if (defined $config{locked_pages} && length $config{locked_pages} &&
+ pagespec_match($page, $config{locked_pages},
+ user => $session->param("name"),
+ ip => $ENV{REMOTE_ADDR},
+ )) {
+ return sprintf(gettext("%s is locked and cannot be edited"),
+ htmllink("", "", $page, noimageinline => 1));
+ }
+
+ return undef;
+ }