• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/core/event/tools/uidgenerator.php
  • Класс: BitrixCalendarCoreEventToolsUidGenerator
  • Вызов: UidGenerator::getUidWithDate
public function getUidWithDate(): string
{
	$portalName = $this->portalName ?? '';

	$datePart = $this->date
		->setTimezone(Util::prepareTimezone())
		->format(self::DATE_PART_FORMAT)
	;

	$postfix = md5((string)time(). $this->userId);

	$datePartLength = mb_strlen($datePart);
	$portalNameLength = mb_strlen($portalName);
	$hashLength = mb_strlen($postfix);

	if (($datePartLength + $portalNameLength + $hashLength) > self::MAX_UID_LENGTH)
	{
		$allowableLength = self::MAX_UID_LENGTH - $datePartLength - $hashLength - self::CORRECT_LENGTH;
		$portalName = substr($this->portalName, 0, $allowableLength);
	}

	return $datePart . '-' . $postfix . "@" . $portalName;
}