• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/user.php
  • Класс: CAllUser
  • Вызов: CAllUser::AddHitAuthHash
static function AddHitAuthHash($url, $user_id = false, $site_id = false, $ttl = null)
{
	global $USER;

	if ($url == '')
	{
		return false;
	}

	if (!$user_id)
	{
		$user_id = $USER->GetID();
	}

	if (!$site_id && (!defined("ADMIN_SECTION") || ADMIN_SECTION !== true))
	{
		$site_id = SITE_ID;
	}

	$hash = false;

	if ($user_id)
	{
		$hash = Random::getString(32, true);

		$fields = [
			'USER_ID' => $user_id,
			'URL' => trim($url),
			'HASH' => $hash,
			'SITE_ID' => trim($site_id),
			'TIMESTAMP_X' => new MainTypeDateTime(),
		];

		if ($ttl > 0)
		{
			$fields['VALID_UNTIL'] = (new MainTypeDateTime())->add('T' . (int)$ttl . 'S');
		}

		UserHitAuthTable::add($fields);
	}

	return $hash;
}