]> sipb.mit.edu Git - ikiwiki.git/commitdiff
patch so far
authorJoey Hess <joey@gnu.kitenet.net>
Thu, 11 Feb 2010 21:36:19 +0000 (16:36 -0500)
committerJoey Hess <joey@gnu.kitenet.net>
Thu, 11 Feb 2010 21:36:19 +0000 (16:36 -0500)
IkiWiki/Plugin/httpauth.pm

index 127c321f0491978c9b88760685963f785cd1062e..a18f8ca54619c146093498891f67057fd6c2b9e5 100644 (file)
@@ -9,6 +9,8 @@ use IkiWiki 3.00;
 sub import {
        hook(type => "getsetup", id => "httpauth", call => \&getsetup);
        hook(type => "auth", id => "httpauth", call => \&auth);
+       hook(type => "canedit", id => "httpauth", call => \&canedit,
+               last => 1);
 }
 
 sub getsetup () {
@@ -33,9 +35,21 @@ sub auth ($$) {
        if (defined $cgi->remote_user()) {
                $session->param("name", $cgi->remote_user());
        }
-       elsif (defined $config{cgiauthurl}) {
-               IkiWiki::redirect($cgi, $config{cgiauthurl}.'?'.$cgi->query_string());
-               exit;
+}
+
+sub canedit ($$$) {
+       my $page=shift;
+       my $cgi=shift;
+       my $session=shift;
+
+       if (! defined $cgi->remote_user() && defined $config{cgiauthurl}) {
+               return sub {
+                       IkiWiki::redirect($cgi, $config{cgiauthurl}.'?'.$cgi->query_string());
+                       exit;
+               };
+       }
+       else {
+               return undef;
        }
 }