diff --git a/actions/finishopenidlogin.php b/actions/finishopenidlogin.php index b8008afb20..79bcd3f319 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)) {