X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/c487b847e2053b13c4eea0ccfeecf5a41c396412..dcf342f366706880e89bb5178c568094d05b21c4:/IkiWiki/CGI.pm diff --git a/IkiWiki/CGI.pm b/IkiWiki/CGI.pm index a6695b3a5..8809e8510 100644 --- a/IkiWiki/CGI.pm +++ b/IkiWiki/CGI.pm @@ -57,7 +57,6 @@ sub check_canedit ($$$;$) { #{{{ my $nonfatal=shift; my $canedit; - my $callback; run_hooks(canedit => sub { return if defined $canedit; my $ret=shift->($page, $q, $session); @@ -66,12 +65,12 @@ sub check_canedit ($$$;$) { #{{{ $canedit=1; } elsif (ref $ret eq 'CODE') { + $ret->() unless $nonfatal; $canedit=0; - $callback->() unless $nonfatal; } elsif (defined $ret) { - $canedit=0; error($ret) unless $nonfatal; + $canedit=0; } } }); @@ -719,7 +718,7 @@ sub cgi (;$$) { #{{{ elsif ($do eq 'create' || $do eq 'edit') { cgi_editpage($q, $session); } - elsif (defined $session->param("postsignin")) { + elsif (defined $session->param("postsignin") || $do eq 'postsignin') { cgi_postsignin($q, $session); } else {