- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/lib/sync/google/pushmanager.php
- Класс: BitrixCalendarSyncGooglePushManager
- Вызов: PushManager::makeChannelParams
private function makeChannelParams($uniqId, string $type): array
{
if (defined('BX24_HOST_NAME') && BX24_HOST_NAME)
{
$externalUrl = GoogleApiSync::EXTERNAL_LINK . BX24_HOST_NAME;
}
else
{
$request = Context::getCurrent()->getRequest();
if (defined('SITE_SERVER_NAME') && SITE_SERVER_NAME)
{
$host = SITE_SERVER_NAME;
}
else
{
$host = Option::get('main', 'server_name', $request->getHttpHost());
}
$externalUrl = 'https://' . $host . '/bitrix/tools/calendar/push.php';
}
return [
'id' => $type . '_' . $this->userId.'_'.md5($uniqId. time()),
'type' => 'web_hook',
'address' => $externalUrl,
'expiration' => (time() + GoogleApiSync::CHANNEL_EXPIRATION) * 1000,
];
}