]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/finishopenidlogin.php
debugging for addopenid problem
[quix0rs-gnu-social.git] / actions / finishopenidlogin.php
index e3db23dc3ee594ab9fa3d3099218a399ce340a47..2b3616ffae8074c5103dd6eaa7527b825b057635 100644 (file)
@@ -28,11 +28,12 @@ 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__);
                                $this->show_form(_t('Something weird happened.'),
                                                                 $this->trimmed('newname'));
                        }
@@ -66,7 +67,7 @@ class FinishopenidloginAction extends Action {
                                         _t('1-64 lowercase letters or numbers, no punctuation or spaces'));
                common_submit('create', _t('Create'));
                common_element('h2', NULL,
-                                          'Create new account');
+                                          'Connect existing account');
                common_element('p', NULL,
                                           _t('If you already have an account, login with your username and password '.
                                                  'to connect it to your OpenID.'));
@@ -178,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');
                
@@ -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