• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/sharing/sharinguser.php
  • Класс: BitrixCalendarSharingSharingUser
  • Вызов: SharingUser::getByHash
private function getByHash(): ?BitrixMainEO_User
{
	$request = Context::getCurrent()->getRequest();
	$authHash = $request->getCookieRaw(self::COOKIE_AUTH_HASH_NAME);

	if (!($authHash && is_string($authHash)))
	{
		return null;
	}
	if (!preg_match('/^[0-9a-f]{32}$/', $authHash))
	{
		return null;
	}

	$xmlId = self::EXTERNAL_AUTH_ID . '|' . $authHash;

	return BitrixMainUserTable::query()
		->setSelect(['*'])
		->where('ACTIVE', 'Y')
		->where('EXTERNAL_AUTH_ID', self::EXTERNAL_AUTH_ID)
		->where('XML_ID', $xmlId)
		->exec()->fetchObject();
}