elgg_push_context('register');
if ($profile->emailVerified) {
    $email = $profile->emailVerified;
} else {
    if ($profile->email) {
        $email = $profile->email;
    } else {
        if (get_input('email')) {
            $email = urldecode(get_input('email'));
        }
    }
}
if ($email && ($users = get_user_by_email($email))) {
    // User already has an account, save the token and login
    $user_to_login = $users[0];
    $ha_session->setUser($user_to_login);
    $ha_session->addAuthRecord($provider, $profile);
    $user_to_login->elgg_hybridauth_login = 1;
    login($user_to_login);
    system_message(elgg_echo('hybridauth:login:provider', array($provider->getName())));
    forward($forward_url);
} else {
    if (!elgg_get_config('allow_registration')) {
        register_error(elgg_echo('registerdisabled'));
        forward('', '403');
    }
    $title = elgg_echo('hybridauth:register');
    $content = elgg_view_form('hybridauth/register', array(), array('provider' => $provider->getName(), 'profile' => $profile, 'invitecode' => $_SESSION['hybridauth']['invitecode'], 'friend_guid' => $_SESSION['hybridauth']['friend_guid']));
}
$layout = elgg_view_layout('one_column', array('title' => $title, 'content' => $content));
echo elgg_view_page($title, $layout);