• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/access/chatauthprovider.php
  • Класс: BitrixImAccessChatAuthProvider
  • Вызов: ChatAuthProvider::getNames
public function getNames($codes): array
{
	$chatIds = [];
	$accessCodePrefix = self::ACCESS_CODE_PREFIX;
	foreach ($codes as $code)
	{
		if (preg_match("/^{$accessCodePrefix}([0-9]+)$/i", $code, $match))
		{
			$chatIds[] = (int)$match[1];
		}
	}

	$result = [];
	if (count($chatIds) > 0)
	{
		$resChatData = BitrixImModelChatTable::getList([
			'select' => ['ID', 'TITLE'],
			'filter' => ['=ID' => $chatIds],
		]);
		while ($chat = $resChatData->fetch())
		{
			$accessCode = $this->generateAccessCode($chat['ID']);
			$result[$accessCode] = [
				'provider' => Loc::getMessage('chat_auth_provider'),
			];
			if (!empty($chat['TITLE']))
			{
				$result[$accessCode]['name'] = $chat['TITLE'];
			}
			else
			{
				$result[$accessCode]['name'] = Loc::getMessage('chat_auth_title', ['#CHAT_ID#' => $chat['ID']]);
			}
		}
	}

	return $result;
}