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

	$urlMask = trim($urlMask);
	if ($urlMask == '')
	{
		return false;
	}

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

	if ($userID <= 0)
	{
		return false;
	}

	$query = UserHitAuthTable::query()
		->setSelect(['ID', 'HASH', 'VALID_UNTIL'])
		->where('URL', $urlMask)
		->where('USER_ID', $userID)
	;

	if ($siteId !== null)
	{
		$query->where('SITE_ID', $siteId);
	}

	if ($hashData = $query->fetch())
	{
		if ($hashData['VALID_UNTIL'] instanceof MainTypeDateTime)
		{
			if ((new MainTypeDateTime())->getTimestamp() > $hashData['VALID_UNTIL']->getTimestamp())
			{
				UserHitAuthTable::delete($hashData['ID']);
				return false;
			}
		}

		return $hashData['HASH'];
	}

	return false;
}