$status = fn_hybrid_auth_process($mode, $redirect_url); if ($status == HYBRID_AUTH_LOADING) { Tygh::$app['view']->display('addons/hybrid_auth/views/auth/loading.tpl'); } else { unset($_SESSION['cart']['edit_step']); Tygh::$app['view']->assign('redirect_url', $redirect_url); Tygh::$app['view']->display('addons/hybrid_auth/views/auth/login_error.tpl'); } exit; } elseif ($mode == 'process') { $lib_path = Registry::get('config.dir.addons') . 'hybrid_auth/lib/'; require_once $lib_path . 'Hybrid/Auth.php'; require_once $lib_path . 'Hybrid/Endpoint.php'; Hybrid_Endpoint::process(); } elseif ($mode == 'login_form') { $providers_list = fn_hybrid_auth_get_providers_list(); if (!empty($providers_list)) { Tygh::$app['view']->assign('providers_list', $providers_list); } } elseif ($mode == 'logout') { // Remove Hybrid auth data unset($_SESSION['HA::CONFIG'], $_SESSION['HA::STORE']); } elseif ($mode == 'connect_social') { $email = !empty($_SESSION['hybrid_auth']['email']) ? $_SESSION['hybrid_auth']['email'] : ''; $identifier = !empty($_SESSION['hybrid_auth']['identifier']) ? $_SESSION['hybrid_auth']['identifier'] : ''; $provider = !empty($_SESSION['hybrid_auth']['provider']) ? $_SESSION['hybrid_auth']['provider'] : ''; $redirect_url = !empty($_SESSION['hybrid_auth']['redirect_url']) ? $_SESSION['hybrid_auth']['redirect_url'] : fn_url(); if (!empty($_SESSION['auth']['user_id'])) { fn_hybrid_auth_link_provider($_SESSION['auth']['user_id'], $identifier, $provider); unset($_SESSION['hybrid_auth']); return array(CONTROLLER_STATUS_REDIRECT, $redirect_url);
<?php /*! * HybridAuth * http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth * (c) 2009-2012, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html */ // ---------------------------------------------------------------------------------------- // HybridAuth Config file: http://hybridauth.sourceforge.net/userguide/Configuration.html // ---------------------------------------------------------------------------------------- use Tygh\Registry; $config = array('base_url' => fn_url('auth.process'), 'debug_mode' => false, 'debug_file' => Registry::get('config.dir.var') . 'oauth.log'); $providers_schema = fn_get_schema('hybrid_auth', 'providers'); $available_providers = fn_hybrid_auth_get_providers_list(); foreach ($available_providers as $provider_data) { $provider_name = $providers_schema[$provider_data['provider']]['provider']; $config['providers'][$provider_name] = array('enabled' => $provider_data['status'] == 'A' ? true : false); if (isset($providers_schema[$provider_data['provider']])) { $provider_keys = isset($providers_schema[$provider_data['provider']]['keys']) ? $providers_schema[$provider_data['provider']]['keys'] : array(); foreach ($provider_keys as $key => $key_data) { if (isset($key_data['db_field']) && isset($provider_data[$key_data['db_field']])) { $config['providers'][$provider_name]['keys'][$key] = $provider_data[$key_data['db_field']]; } } $provider_params = isset($providers_schema[$provider_data['provider']]['params']) ? $providers_schema[$provider_data['provider']]['params'] : array(); foreach ($provider_params as $param_id => $param_data) { if (isset($provider_data['params'][$param_id])) { $config['providers'][$provider_name][$param_id] = $provider_data['params'][$param_id]; } elseif ($param_data['type'] == 'hidden' && !empty($param_data['value'])) { $config['providers'][$provider_name][$param_id] = $param_data['value']; }
function fn_hybrid_auth_get_providers_list_content() { $content = fn_hybrid_auth_get_providers_list(); return !empty($content) ? $content : ' '; }