X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/c487b847e2053b13c4eea0ccfeecf5a41c396412..c18bf92d741a21e3a165695544012ef407192f6e:/IkiWiki/CGI.pm diff --git a/IkiWiki/CGI.pm b/IkiWiki/CGI.pm index a6695b3a5..65a1d7fa0 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; } } }); @@ -276,7 +275,7 @@ sub cgi_prefs ($$) { #{{{ } elsif ($form->submitted eq 'Save Preferences' && $form->validate) { foreach my $field (qw(email subscriptions)) { - if (defined $form->field($field) && length $form->field($field)) { + if (defined $form->field($field)) { userinfo_set($user_name, $field, $form->field($field)) || error("failed to set $field"); } @@ -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 {