]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/finishopenidlogin.php
debugging for addopenid problem
[quix0rs-gnu-social.git] / actions / finishopenidlogin.php
index 78044feb5527a1e7db7b5673418b2aba07ed8556..2b3616ffae8074c5103dd6eaa7527b825b057635 100644 (file)
@@ -28,9 +28,9 @@ class FinishopenidloginAction extends Action {
                if (common_logged_in()) {
                        common_user_error(_t('Already logged in.'));
                } else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
-                       if ($this->boolean('create')) {
+                       if ($this->arg('create')) {
                                $this->create_new_user();
-                       } else if ($this->boolean('connect')) {
+                       } else if ($this->arg('connect')) {
                                $this->connect_user();
                        } else {
                                common_debug(print_r($this->args, true), __FILE__);
@@ -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