X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Ffinishopenidlogin.php;h=2b3616ffae8074c5103dd6eaa7527b825b057635;hb=4aedce6864eb27a0c37b3dcae22fee0aa16ae537;hp=af5ffdf14d6b27c9166ad666fa1d10f87b9e16c3;hpb=21463458c55fb138461225cc0402001ce91cb81c;p=quix0rs-gnu-social.git diff --git a/actions/finishopenidlogin.php b/actions/finishopenidlogin.php index af5ffdf14d..2b3616ffae 100644 --- a/actions/finishopenidlogin.php +++ b/actions/finishopenidlogin.php @@ -264,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() { @@ -302,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; } @@ -334,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