aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki
diff options
context:
space:
mode:
authorJoey Hess <joey@kodama.kitenet.net>2008-01-07 15:56:39 -0500
committerJoey Hess <joey@kodama.kitenet.net>2008-01-07 15:56:39 -0500
commit9dbbbd0efacb5acebaed2d0ee74d1c185b27394a (patch)
tree234f30b11925e9af6feb6a385587e926b2c7ae59 /IkiWiki
parent4ac5685744e3678e8c583f671978746ddc37e9a1 (diff)
downloadikiwiki-9dbbbd0efacb5acebaed2d0ee74d1c185b27394a.tar
ikiwiki-9dbbbd0efacb5acebaed2d0ee74d1c185b27394a.tar.gz
* Only try postsignin if no other action matched. Fixes a bug where the
user goes back from the signin screen and does something else. * Improve behavior when trying to sign in with no cookies.
Diffstat (limited to 'IkiWiki')
-rw-r--r--IkiWiki/CGI.pm15
1 files changed, 4 insertions, 11 deletions
diff --git a/IkiWiki/CGI.pm b/IkiWiki/CGI.pm
index 1522feb1e..197eabcf0 100644
--- a/IkiWiki/CGI.pm
+++ b/IkiWiki/CGI.pm
@@ -133,9 +133,7 @@ sub needsignin ($$) { #{{{
if (! defined $session->param("name") ||
! userinfo_get($session->param("name"), "regdate")) {
- if (! defined $session->param("postsignin")) {
- $session->param(postsignin => $ENV{QUERY_STRING});
- }
+ $session->param(postsignin => $ENV{QUERY_STRING});
cgi_signin($q, $session);
cgi_savesession($session);
exit;
@@ -195,9 +193,7 @@ sub cgi_postsignin ($$) { #{{{
exit;
}
else {
- # This can occur, for example, if a user went to the signin
- # url via a bookmark.
- redirect($q, $config{url});
+ error(gettext("login failed, perhaps you need to turn on cookies?"));
}
} #}}}
@@ -710,17 +706,14 @@ sub cgi (;$$) { #{{{
cgi_signin($q, $session);
cgi_savesession($session);
}
- elsif (defined $session->param("postsignin")) {
- cgi_postsignin($q, $session);
- }
elsif ($do eq 'prefs') {
cgi_prefs($q, $session);
}
elsif ($do eq 'create' || $do eq 'edit') {
cgi_editpage($q, $session);
}
- elsif ($do eq 'postsignin') {
- error(gettext("login failed, perhaps you need to turn on cookies?"));
+ elsif (defined $session->param("postsignin")) {
+ cgi_postsignin($q, $session);
}
else {
error("unknown do parameter");