]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commitdiff
lockedit can make sense with no auth plugins
authorJoey Hess <joey@gnu.kitenet.net>
Tue, 5 Jan 2010 00:40:33 +0000 (19:40 -0500)
committerJoey Hess <joey@gnu.kitenet.net>
Tue, 5 Jan 2010 00:40:33 +0000 (19:40 -0500)
On second though, you might want a wide-open wiki with some locked
pages that cannot be edited online.

So, the right thing for lockedit to do when there are no auth plugins is
to just say the page cannot be edited.

IkiWiki/Plugin/lockedit.pm
debian/changelog

index 8914ba49802b1f2d60fbe5142c0e24180981c387..74ddbb1537929189206f675fdb49bfbf9247837c 100644 (file)
@@ -7,7 +7,6 @@ use IkiWiki 3.00;
 
 sub import {
        hook(type => "getsetup", id => "lockedit", call => \&getsetup);
 
 sub import {
        hook(type => "getsetup", id => "lockedit", call => \&getsetup);
-       hook(type => "checkconfig", id => "lockedit", call => \&checkconfig);
        hook(type => "canedit", id => "lockedit", call => \&canedit);
 }
 
        hook(type => "canedit", id => "lockedit", call => \&canedit);
 }
 
@@ -27,12 +26,6 @@ sub getsetup () {
                },
 }
 
                },
 }
 
-sub checkconfig () {
-       if (! exists $IkiWiki::hooks{auth}) {
-               error gettext("lockedit plugin is enabled, but no authentication plugins are enabled");
-       }
-}
-
 sub canedit ($$) {
        my $page=shift;
        my $cgi=shift;
 sub canedit ($$) {
        my $page=shift;
        my $cgi=shift;
@@ -46,8 +39,9 @@ sub canedit ($$) {
                    user => $session->param("name"),
                    ip => $ENV{REMOTE_ADDR},
            )) {
                    user => $session->param("name"),
                    ip => $ENV{REMOTE_ADDR},
            )) {
-               if (! defined $user ||
-                   ! IkiWiki::userinfo_get($session->param("name"), "regdate")) {
+               if ((! defined $user ||
+                   ! IkiWiki::userinfo_get($session->param("name"), "regdate")) &&
+                   exists $IkiWiki::hooks{auth}) {
                        return sub { IkiWiki::needsignin($cgi, $session) };
                }
                else {
                        return sub { IkiWiki::needsignin($cgi, $session) };
                }
                else {
index 2c121ef54f7a20e6c97344c60c68d864d516f6fb..aa4f1ac3c94f142ea0c8b3d159a1e7c0999dee10 100644 (file)
@@ -4,8 +4,6 @@ ikiwiki (3.20100104) UNRELEASED; urgency=low
     (Sjoerd)
   * signinedit: Auto-disable the plugin when all authentication methods
     are disabled.
     (Sjoerd)
   * signinedit: Auto-disable the plugin when all authentication methods
     are disabled.
-  * lockedit: Detect if no authentication plugins are enabled, and
-    die with an error message as this configuration does not make sense.
 
  -- Joey Hess <joeyh@debian.org>  Mon, 04 Jan 2010 12:53:24 -0500
 
 
  -- Joey Hess <joeyh@debian.org>  Mon, 04 Jan 2010 12:53:24 -0500