- Модуль: 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;
}