示例#1
0
             if (!$memberId) {
                 if ($memberInfo = $this->iaDb->row_bind(iaDb::ALL_COLUMNS_SELECTION, "`email` = :email_address", array('email_address' => $user_profile->email), iaUsers::getTable())) {
                     $iaCore->iaDb->insert(array('member_id' => $memberInfo['id'], 'name' => $providerName, 'value' => $user_profile->identifier), null, iaUsers::getProvidersTable());
                     $memberId = $memberInfo['id'];
                 }
             }
             // register new member if no matches
             if (!$memberId) {
                 $memberRegInfo['username'] = '';
                 $memberRegInfo['email'] = $user_profile->email;
                 $memberRegInfo['fullname'] = $user_profile->displayName;
                 // $memberRegInfo['avatar'] = $user_profile->photoURL;
                 $memberRegInfo['disable_fields'] = true;
                 $memberId = $iaUsers->register($memberRegInfo);
                 // add providers match
                 $iaCore->iaDb->insert(array('member_id' => $memberId, 'name' => $providerName, 'value' => $user_profile->identifier), null, iaUsers::getProvidersTable());
                 // no need to validate address
                 $iaUsers->update(array('id' => $memberId, 'sec_key' => '', 'status' => iaCore::STATUS_ACTIVE));
             }
             // authorize
             $iaUsers->getAuth($memberId);
         } else {
             throw new Exception("User is not logged in.");
         }
     } catch (Exception $e) {
         $iaCore->iaView->setMessages("HybridAuth error: " . $e->getMessage(), iaView::ERROR);
     }
 }
 if (iaUsers::hasIdentity()) {
     $iaPage = $iaCore->factory('page', iaCore::FRONT);
     $iaCore->factory('util')->go_to($iaPage->getUrlByName('profile'));