• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/Entity/Command/Command.php
  • Класс: BitrixImV2EntityCommandCommand
  • Вызов: Command::commandRestLang
protected function commandRestLang(array $result): array
{
	$langSet = [];
	$orm = BitrixImModelCommandLangTable::getList();
	while ($commandLang = $orm->fetch())
	{
		if (!isset($result[$commandLang['ID']]))
		{
			continue;
		}

		$langSet[$commandLang['ID']][$commandLang['LANGUAGE_ID']]['TITLE'] = $commandLang['TITLE'];
		$langSet[$commandLang['ID']][$commandLang['LANGUAGE_ID']]['PARAMS'] = $commandLang['PARAMS'];
	}

	$langAlter = BitrixImBot::getDefaultLanguage();
	foreach ($result as $commandId => $commandData)
	{
		if (isset($langSet[$commandId][$this->lang]))
		{
			$result[$commandId]['TITLE'] = $langSet[$commandId][$this->lang]['TITLE'];
			$result[$commandId]['PARAMS'] = $langSet[$commandId][$this->lang]['PARAMS'];
		}
		else if (isset($langSet[$commandId][$langAlter]))
		{
			$result[$commandId]['TITLE'] = $langSet[$commandId][$langAlter]['TITLE'];
			$result[$commandId]['PARAMS'] = $langSet[$commandId][$langAlter]['PARAMS'];
		}
		else if (isset($langSet[$commandId]))
		{
			$langSetCommand = array_values($langSet[$commandId]);
			$result[$commandId]['TITLE'] = $langSetCommand[0]['TITLE'];
			$result[$commandId]['PARAMS'] = $langSetCommand[0]['PARAMS'];
		}
	}

	foreach ($result as $key => $value)
	{
		if (empty($value['TITLE']))
		{
			$result[$key]['HIDDEN'] = 'Y';
			$commandLang['METHOD_LANG_GET'] = '';
		}
	}

	return $result;
}