X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Ffinishopenidlogin.php;h=766a08b208a60778e9edccc3ce1345d86e29a58f;hb=2abe10b8ea4b5d69fc7f6513bf465541454ca2cf;hp=b8008afb208e4b34ab47f93973f977ed61e441bd;hpb=67340ce11c773287a4807ddc4567add775a3fcd7;p=quix0rs-gnu-social.git diff --git a/actions/finishopenidlogin.php b/actions/finishopenidlogin.php index b8008afb20..766a08b208 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); @@ -167,6 +167,13 @@ class FinishopenidloginAction extends Action { function create_new_user() { + # FIXME: save invite code before redirect, and check here + + if (common_config('site', 'closed') || common_config('site', 'inviteonly')) { + common_user_error(_('Registration not allowed.')); + return; + } + $nickname = $this->trimmed('newname'); if (!Validate::string($nickname, array('min_length' => 1, @@ -211,32 +218,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 +277,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 +303,6 @@ class FinishopenidloginAction extends Action { # Try the passed-in nickname - if ($sreg['nickname']) { $nickname = $this->nicknamize($sreg['nickname']); if ($this->is_new_nickname($nickname)) {