- Модуль: mobile
- Путь к файлу: ~/bitrix/modules/mobile/lib/context.php
- Класс: BitrixMobileContext
- Вызов: Context::autodetectContext
static function autodetectContext()
{
global $USER;
if (!self::$defaultContext)
{
$siteId = SITE_ID;
$siteDir = SITE_DIR;
$isExtranetUser = false;
if ($USER->isAuthorized())
{
$isExtranetModuleInstalled = BitrixMainLoader::includeModule('extranet');
if ($isExtranetModuleInstalled)
{
$extranetSiteId = CExtranet::getExtranetSiteId();
if (!$extranetSiteId)
{
$isExtranetModuleInstalled = false;
}
}
$users = CUser::GetList(
["last_name" => "asc", "name" => "asc"],
'',
[ 'ID' => $USER->GetID() ],
[ 'SELECT' => [ 'UF_DEPARTMENT' ]]
);
$user = $users->fetch();
$isExtranetUser = ($isExtranetModuleInstalled && (int)$user['UF_DEPARTMENT'][0] <= 0);
if ($isExtranetUser)
{
$siteId = $extranetSiteId;
$res = CSite::getById($extranetSiteId);
if(
($extranetSiteFields = $res->fetch())
&& ($extranetSiteFields['ACTIVE'] !== 'N')
)
{
$siteDir = $extranetSiteFields['DIR'];
}
}
}
$arModuleVersion = [ 'VERSION' => 'default' ];
include($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/mobile/install/version.php');
$moduleVersion = $arModuleVersion['VERSION'];
if(array_key_exists('IS_WKWEBVIEW', $_COOKIE) && $_COOKIE['IS_WKWEBVIEW'] === "Y")
{
$moduleVersion .= '_wkwebview';
}
self::$defaultContext = [
'extranet' => $isExtranetUser,
'siteId' => $siteId,
'siteDir' => $siteDir,
'version' => $moduleVersion,
];
}
return self::$defaultContext;
}