From: Joey Hess Date: Thu, 11 Feb 2010 21:36:19 +0000 (-0500) Subject: patch so far X-Git-Tag: 3.20100212~32 X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/f2d6d4f6b24bb399481c40dc6eb6f3fe25190c5d patch so far --- diff --git a/IkiWiki/Plugin/httpauth.pm b/IkiWiki/Plugin/httpauth.pm index 127c321f0..a18f8ca54 100644 --- a/IkiWiki/Plugin/httpauth.pm +++ b/IkiWiki/Plugin/httpauth.pm @@ -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; } }