X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Ffinishopenidlogin.php;h=2b3616ffae8074c5103dd6eaa7527b825b057635;hb=d0559fdf4dafcaf8446b437f4af089c944a23d09;hp=5205ee90decf412241f1126f72dc51694ed2cfbd;hpb=4000840243c507d162b6d8bf079d48a938f8e2bb;p=quix0rs-gnu-social.git diff --git a/actions/finishopenidlogin.php b/actions/finishopenidlogin.php index 5205ee90de..2b3616ffae 100644 --- a/actions/finishopenidlogin.php +++ b/actions/finishopenidlogin.php @@ -179,14 +179,13 @@ class FinishopenidloginAction extends Action { $_SESSION['openid_sreg'] = $sreg; } - function get_saved_values($display, $canonical, $sreg) { - common_ensure_session(); + function get_saved_values() { return array($_SESSION['openid_display'], $_SESSION['openid_canonical'], $_SESSION['openid_sreg']); } - function create_new_login() { + function create_new_user() { $nickname = $this->trimmed('newname'); @@ -265,21 +264,16 @@ class FinishopenidloginAction extends Action { $profile->delete(); } - $oid = new User_openid(); - $oid->display = $display; - $oid->canonical = $canonical; - $oid->user_id = $id; - $oid->created = DB_DataObject_Cast::dateTime(); + $result = oid_link_user($user->id, $canonical, $display); - $result = $oid->insert(); - if (!$result) { # Try to clean up... $user->delete(); $profile->delete(); } - common_redirect(common_local_url('profilesettings')); + common_set_user($user->nickname); + common_redirect(common_local_url('showstream', array('nickname' => $user->nickname))); } function connect_user() { @@ -303,14 +297,10 @@ class FinishopenidloginAction extends Action { return; } - $oid = new User_openid(); - $oid->display = $display; - $oid->canonical = $canonical; - $oid->user_id = $user->id; - $oid->created = DB_DataObject_Cast::dateTime(); + $result = oid_link_user($user->id, $canonical, $display); - if (!$oid->insert()) { - common_server_error(_t('Error connecting OpenID.')); + if (!$result) { + common_server_error(_t('Error connecting user to OpenID.')); return; } @@ -335,9 +325,13 @@ class FinishopenidloginAction extends Action { function best_new_nickname($display, $sreg) { # Try the passed-in nickname - - if ($sreg['nickname'] && $this->is_new_nickname($sreg['nickname'])) { - return $sreg['nickname']; + + + if ($sreg['nickname']) { + $nickname = $this->nicknamize($sreg['nickname']); + if ($this->is_new_nickname($nickname)) { + return $nickname; + } } # Try the full name