- Модуль: socialservices
- Путь к файлу: ~/bitrix/modules/socialservices/classes/general/vkontakte.php
- Класс: CSocServVKontakte
- Вызов: CSocServVKontakte::getUrl
public function getUrl($arParams)
{
global $APPLICATION;
if (IsModuleInstalled('bitrix24') && defined('BX24_HOST_NAME'))
{
$redirect_uri = self::CONTROLLER_URL . "/redirect.php";
// error, but this code is not working at all
$state = CHTTP::URN2URI("/bitrix/tools/oauth/liveid.php") . "?state=";
$backurl = urlencode($APPLICATION->GetCurPageParam('check_key=' . CSocServAuthManager::getUniqueKey(), array("logout", "auth_service_error", "auth_service_id", "backurl")));
$state .= urlencode(urlencode("backurl=" . $backurl));
}
else
{
$backurl = $APPLICATION->GetCurPageParam(
'check_key=' . CSocServAuthManager::getUniqueKey(),
array("logout", "auth_service_error", "auth_service_id", "backurl")
);
$state = 'site_id=' . SITE_ID . '&backurl=' . urlencode($backurl) . (isset($arParams['BACKURL']) ? '&redirect_url=' . urlencode($arParams['BACKURL']) : '');
$redirect_uri = $this->getEntityOAuth()->GetRedirectURI();
}
return $this->getEntityOAuth()->GetAuthUrl($redirect_uri, $state);
}