• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/sync/googleapisync.php
  • Класс: BitrixCalendarSyncGoogleApiSync
  • Вызов: GoogleApiSync::makeChannelParams
private function makeChannelParams($inputSecretWord, $type)
{
	if (defined('BX24_HOST_NAME') && BX24_HOST_NAME)
	{
		$externalUrl = self::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($inputSecretWord. time()),
		'type' => 'web_hook',
		'address' => $externalUrl,
		'expiration' => (time() + self::CHANNEL_EXPIRATION) * 1000,
	];
}