static function getLink($network) { $settings = MyQubeSocialAuth::getSettings($network); $params = array(redirect_uri => 'http://' . $_SERVER['SERVER_NAME'] . '/signup/' . $network . '/', response_type => 'code', client_id => $settings['clientId'], scope => $settings['scope'], display => 'popup'); $href = $settings['authUri'] . '?' . urldecode(http_build_query($params)); return $href; }
<div class="login__social-frame"> <a href="#" class="login__social login__social--fb" data-url="<?php echo MyQubeSocialAuth::getLink('facebook'); ?> "><?php echo svg('fb'); ?> </a> <a href="#" class="login__social login__social--vk" data-url="<?php echo MyQubeSocialAuth::getLink('vk'); ?> "><?php echo svg('vk'); ?> </a> <a href="#" class="login__social login__social--gp" data-url="<?php echo MyQubeSocialAuth::getLink('google'); ?> "><?php echo svg('gp'); ?> </a> </div> <div class="login__footer qblock__footer"> <?php include $_SERVER['DOCUMENT_ROOT'] . '/includes/footer.php'; ?> </div> </div> </div>
<?php error_reporting(E_ALL); require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/social.php'; switch ($_REQUEST['action']) { case 'facebook': case 'vk': case 'google': // Получаем данные из соц. сетей $api = new MyQubeSocialAuth($_REQUEST['action'], $_REQUEST['code']); $data = $api->getData(); $result = array('auth' => false); if ($data) { // Сказала ли соц сеть что пользователь восемнадцатилетний $have18 = false; if (isset($data['age_range']) && ($data['age_range']['min'] >= 18 || $data['age_range']['max'] >= 18)) { $have18 = true; } if (isset($data['bdate']) && strtotime($data['bdate']) < strtotime('-18 years')) { $have18 = true; } $ID = $USER->IsAuthorized() ? $USER->GetID() : false; $shorts = array('facebook' => 'FB', 'vk' => 'VK', 'google' => 'GP'); $token = sha1($ID . "" . date("d.m.Y H:i:s")); if (!$ID && $APPLICATION->get_cookie("MQ_REGISTRATION_TOKEN")) { // Вход по текену из приложения $userByAppToken = CUser::GetList($by = 'id', $order = 'desc', array('UF_TOKEN' => $APPLICATION->get_cookie("MQ_REGISTRATION_TOKEN")), array('FIELDS' => array('ID')))->Fetch(); if (intval($userByAppToken['ID']) > 0) { $ID = $userByAppToken['ID']; }