• Модуль: 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)."/";
}