- Модуль: imconnector
- Путь к файлу: ~/bitrix/modules/imconnector/lib/rest/helper.php
- Класс: BitrixImConnectorRestHelper
- Вызов: Helper::registerApp
static function registerApp(array $params): bool
{
$result = false;
if (
!empty($params['ID'])
&& !empty($params['NAME'])
&& !empty($params['ICON']['DATA_IMAGE'])
&& !empty($params['REST_APP_ID'])
)
{
$raw = CustomConnectorsTable::getList([
'select' => ['ID'],
'filter' => [
'=ID_CONNECTOR' => $params['ID'],
'=REST_APP_ID' => $params['REST_APP_ID']
]
]);
$changeParams = [
'ID_CONNECTOR' => mb_strtolower($params['ID']),
'NAME' => $params['NAME'],
'ICON' => $params['ICON'],
'COMPONENT' => $params['COMPONENT'],
'REST_APP_ID' => $params['REST_APP_ID'],
];
$placementParams = [
'REST_APP_ID' => $params['REST_APP_ID'],
'PLACEMENT_HANDLER' => $params['PLACEMENT_HANDLER'],
'TITLE' => $params['TITLE']
];
if (isset($params['ICON_DISABLED']))
{
$changeParams['ICON_DISABLED'] = $params['ICON_DISABLED'];
}
if (isset($params['DEL_EXTERNAL_MESSAGES']))
{
$changeParams['DEL_EXTERNAL_MESSAGES'] = $params['DEL_EXTERNAL_MESSAGES'];
}
if (isset($params['EDIT_INTERNAL_MESSAGES']))
{
$changeParams['EDIT_INTERNAL_MESSAGES'] = $params['EDIT_INTERNAL_MESSAGES'];
}
if (isset($params['DEL_INTERNAL_MESSAGES']))
{
$changeParams['DEL_INTERNAL_MESSAGES'] = $params['DEL_INTERNAL_MESSAGES'];
}
if (isset($params['NEWSLETTER']))
{
$changeParams['NEWSLETTER'] = $params['NEWSLETTER'];
}
if (isset($params['NEED_SYSTEM_MESSAGES']))
{
$changeParams['NEED_SYSTEM_MESSAGES'] = $params['NEED_SYSTEM_MESSAGES'];
}
if (isset($params['NEED_SIGNATURE']))
{
$changeParams['NEED_SIGNATURE'] = $params['NEED_SIGNATURE'];
}
if (isset($params['CHAT_GROUP']))
{
$changeParams['CHAT_GROUP'] = $params['CHAT_GROUP'];
}
if (isset($params['COMMENT']))
{
$placementParams['COMMENT'] = $params['COMMENT'];
}
$placementId = self::registerPlacement($placementParams);
if ($placementId > 0)
{
$changeParams['REST_PLACEMENT_ID'] = $placementId;
}
if ($row = $raw->fetch())
{
$result = CustomConnectorsTable::update($row['ID'], $changeParams)->isSuccess();
}
else
{
$result = CustomConnectorsTable::add($changeParams)->isSuccess();
}
}
return $result;
}