- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/lib/ical/mailinvitation/helper.php
- Класс: BitrixCalendarICalMailInvitationHelper
- Вызов: Helper::getPubEventLink
static function getPubEventLink(int $eventId, int $userId, int $dateCreateTimestamp): string
{
$context = BitrixMainApplication::getInstance()->getContext();
$scheme = $context->getRequest()->isHttps() ? 'https' : 'http';
$server = $context->getServer();
$domain = $server->getServerName() ?: COption::getOptionString('main', 'server_name', '');
if (preg_match('/^(?.+):(?d+)$/', $domain, $matches))
{
$domain = $matches['domain'];
$port = $matches['port'];
}
else
{
$port = $server->getServerPort();
}
$port = in_array((int)$port, [80, 443], true) ? '' : ":{$port}";
return "{$scheme}://{$domain}{$port}/pub/calendar-event/{$eventId}/".self::getHashForPubEvent($eventId, $userId, $dateCreateTimestamp)."/";
}