- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/lib/V2/Entity/Command/Command.php
- Класс: Bitrix\Im\V2\Entity\Command\Command
- Вызов: Command::mergeWithDefaultCommands
protected function mergeWithDefaultCommands($commandList): array
{
$defaultCommands = [
[
'COMMAND' => 'me',
'TITLE' => Loc::getMessage("COMMAND_DEF_ME_TITLE"),
'PARAMS' => Loc::getMessage("COMMAND_DEF_ME_PARAMS"),
'HIDDEN' => 'N',
'EXTRANET_SUPPORT' => 'Y',
],
[
'COMMAND' => 'loud',
'TITLE' => Loc::getMessage("COMMAND_DEF_LOUD_TITLE"),
'PARAMS' => Loc::getMessage("COMMAND_DEF_LOUD_PARAMS"),
'HIDDEN' => 'N',
'EXTRANET_SUPPORT' => 'Y',
],
[
'COMMAND' => '>>',
'TITLE' => Loc::getMessage("COMMAND_DEF_QUOTE_TITLE"),
'PARAMS' => Loc::getMessage("COMMAND_DEF_QUOTE_PARAMS"),
'HIDDEN' => 'N',
'EXTRANET_SUPPORT' => 'Y',
],
[
'COMMAND' => 'rename',
'TITLE' => Loc::getMessage("COMMAND_DEF_RENAME_TITLE"),
'PARAMS' => Loc::getMessage("COMMAND_DEF_RENAME_PARAMS"),
'HIDDEN' => 'N',
'EXTRANET_SUPPORT' => 'Y',
'CATEGORY' => Loc::getMessage("COMMAND_DEF_CATEGORY_CHAT"),
'CONTEXT' => 'chat',
],
[
'COMMAND' => 'getDialogId',
'TITLE' => Loc::getMessage("COMMAND_DEF_DIALOGID_TITLE"),
'HIDDEN' => 'N',
'EXTRANET_SUPPORT' => 'N',
'CATEGORY' => Loc::getMessage("COMMAND_DEF_CATEGORY_CHAT")
],
[
'COMMAND' => 'webrtcDebug',
'TITLE' => Loc::getMessage("COMMAND_DEF_WD_TITLE"),
'HIDDEN' => 'N',
'EXTRANET_SUPPORT' => 'Y',
'CATEGORY' => Loc::getMessage("COMMAND_DEF_CATEGORY_DEBUG"),
'CONTEXT' => 'call'
],
];
$imCommands = Array();
foreach ($defaultCommands as $i => $command)
{
$newCommand['ID'] = 'def'.$i;
$newCommand['BOT_ID'] = 0;
$newCommand['APP_ID'] = '';
$newCommand['COMMAND'] = $command['COMMAND'];
$newCommand['HIDDEN'] = $command['HIDDEN'] ?? 'N';
$newCommand['COMMON'] = 'Y';
$newCommand['EXTRANET_SUPPORT'] = $command['EXTRANET_SUPPORT'] ?? 'N';
$newCommand['SONET_SUPPORT'] = $command['SONET_SUPPORT'] ?? 'N';
$newCommand['CLASS'] = '';
$newCommand['METHOD_COMMAND_ADD'] = '';
$newCommand['METHOD_LANG_GET'] = '';
if (!$command['TITLE'])
{
$newCommand['HIDDEN'] = 'Y';
}
$newCommand['MODULE_ID'] = 'im';
$newCommand['COMMAND_ID'] = $newCommand['ID'];
$newCommand['CATEGORY'] = $command['CATEGORY'] ?? Loc::getMessage('COMMAND_IM_CATEGORY');
$newCommand['CONTEXT'] = $command['CONTEXT'] ?? '';
$newCommand['TITLE'] = $command['TITLE'] ?? '';
$newCommand['PARAMS'] = $command['PARAMS'] ?? '';
$imCommands[$newCommand['COMMAND_ID']] = $newCommand;
}
$result = $imCommands;
if (is_array($commandList))
{
foreach ($commandList as $key => $command)
{
$result[$key] = $command;
}
}
return $result;
}