• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/Chat/GeneralChat.php
  • Класс: BitrixImV2ChatGeneralChat
  • Вызов: GeneralChat::canJoinGeneralChat
public function canJoinGeneralChat(int $userId): bool
{
	if (
		$userId <= 0
		|| !self::getGeneralChatId()
		|| !Loader::includeModule('intranet')
	)
	{
		return false;
	}

	$connection = BitrixMainApplication::getConnection();
	$sql = "
		SELECT DISTINCT U.ID
		FROM
			b_user U
			INNER JOIN b_user_field F ON F.ENTITY_ID = 'USER' AND F.FIELD_NAME = 'UF_DEPARTMENT'
			INNER JOIN b_utm_user UF ON
				UF.FIELD_ID = F.ID
				AND UF.VALUE_ID = U.ID
				AND UF.VALUE_INT > 0
		WHERE
			U.ACTIVE = 'Y'
			AND U.ID = " . $userId . "
			AND F.ENTITY_ID = 'USER'
			AND F.FIELD_NAME = 'UF_DEPARTMENT'
		LIMIT 1
	";
	if ($connection->query($sql)->fetch())
	{
		return true;
	}

	return false;
}