- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/lib/web/useragent/detector.php
- Класс: BitrixMainWebUserAgentDetector
- Вызов: Detector::getKnownAgent
protected function getKnownAgent(?string $userAgent)
{
if ($userAgent !== null)
{
if (strpos($userAgent, 'Bitrix24.Disk') !== false)
{
if (strpos($userAgent, 'Windows') !== false)
{
return new Browser('Bitrix24.Disk', 'Windows', DeviceType::DESKTOP);
}
return new Browser('Bitrix24.Disk', 'macOS', DeviceType::DESKTOP);
}
if (strpos($userAgent, 'BitrixDesktop') !== false)
{
if (strpos($userAgent, 'Windows') !== false)
{
return new Browser('Bitrix24.Desktop', 'Windows', DeviceType::DESKTOP);
}
if (strpos($userAgent, 'Mac OS') !== false)
{
return new Browser('Bitrix24.Desktop', 'macOS', DeviceType::DESKTOP);
}
return new Browser('Bitrix24.Desktop', 'Linux', DeviceType::DESKTOP);
}
if (strpos($userAgent, 'BitrixMobile') !== false || strpos($userAgent, 'Bitrix24/') !== false)
{
if (strpos($userAgent, 'iPhone') !== false || strpos($userAgent, 'iPad') !== false || strpos($userAgent, 'Darwin') !== false)
{
$device = (strpos($userAgent, 'iPad') !== false ? DeviceType::TABLET : DeviceType::MOBILE_PHONE);
return new Browser('Bitrix24.Mobile', 'iOS', $device);
}
$device = (strpos($userAgent, 'Tablet') !== false ? DeviceType::TABLET : DeviceType::MOBILE_PHONE);
return new Browser('Bitrix24.Mobile', 'Android', $device);
}
}
return null;
}