diff options
author | Evan Prodromou <evan@prodromou.name> | 2008-12-09 13:03:30 -0500 |
---|---|---|
committer | Evan Prodromou <evan@prodromou.name> | 2008-12-09 13:03:30 -0500 |
commit | 3909544f9efa9f12d8525f321f6b8aa62325c857 (patch) | |
tree | 464c0042744aba72a7846017d53f007055ea0ae7 | |
parent | 60a43519b9c1a66265d5374dec98bf0dae7095db (diff) |
slightly better rememberme logic in finishopenidlogin
darcs-hash:20081209180330-84dde-ba48eed8a9a557bac90d3869d60b24a4b9683e61.gz
-rw-r--r-- | actions/finishopenidlogin.php | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/actions/finishopenidlogin.php b/actions/finishopenidlogin.php index b8008afb2..79bcd3f31 100644 --- a/actions/finishopenidlogin.php +++ b/actions/finishopenidlogin.php @@ -132,12 +132,12 @@ class FinishopenidloginAction extends Action { # XXX: commented out at @edd's request until better # control over how data flows from OpenID provider. # oid_update_user($user, $sreg); - common_set_user($user->nickname); + common_set_user($user); common_real_login(true); - if ($_SESSION['openid_rememberme']) { + if (isset($_SESSION['openid_rememberme']) && $_SESSION['openid_rememberme']) { common_rememberme($user); } - unset($_SESSION['openid_rememberme']); + unset($_SESSION['openid_rememberme']); $this->go_home($user->nickname); } else { $this->save_values($display, $canonical, $sreg); @@ -211,32 +211,32 @@ class FinishopenidloginAction extends Action { $location = $sreg['country']; } } - + if ($sreg['fullname'] && strlen($sreg['fullname']) <= 255) { $fullname = $sreg['fullname']; } - + if ($sreg['email'] && Validate::email($sreg['email'], true)) { $email = $sreg['email']; } # XXX: add language # XXX: add timezone - - $user = User::register(array('nickname' => $nickname, + + $user = User::register(array('nickname' => $nickname, 'email' => $email, - 'fullname' => $fullname, + 'fullname' => $fullname, 'location' => $location)); $result = oid_link_user($user->id, $canonical, $display); - - oid_set_last($display); - common_set_user($user->nickname); + + oid_set_last($display); + common_set_user($user); common_real_login(true); - if ($_SESSION['openid_rememberme']) { + if (isset($_SESSION['openid_rememberme']) && $_SESSION['openid_rememberme']) { common_rememberme($user); } - unset($_SESSION['openid_rememberme']); + unset($_SESSION['openid_rememberme']); common_redirect(common_local_url('showstream', array('nickname' => $user->nickname))); } @@ -270,9 +270,9 @@ class FinishopenidloginAction extends Action { oid_update_user($user, $sreg); oid_set_last($display); - common_set_user($user->nickname); + common_set_user($user); common_real_login(true); - if ($_SESSION['openid_rememberme']) { + if (isset($_SESSION['openid_rememberme']) && $_SESSION['openid_rememberme']) { common_rememberme($user); } unset($_SESSION['openid_rememberme']); @@ -296,7 +296,6 @@ class FinishopenidloginAction extends Action { # Try the passed-in nickname - if ($sreg['nickname']) { $nickname = $this->nicknamize($sreg['nickname']); if ($this->is_new_nickname($nickname)) { |