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'));