- Модуль: messageservice
- Путь к файлу: ~/bitrix/modules/messageservice/lib/restservice.php
- Класс: BitrixMessageServiceRestService
- Вызов: RestService::addSenderLang
static function addSenderLang($langFields, $clientId)
{
$langData = [];
if (!is_array($langFields['NAME']))
{
$langData['**'] = [
'APP_ID' => $langFields['APP_ID'],
'LANGUAGE_ID' => '**',
'NAME' => $langFields['NAME'],
'DESCRIPTION' => is_scalar($langFields['DESCRIPTION']) ? (string)$langFields['DESCRIPTION'] : null
];
}
else
{
foreach ($langFields['NAME'] as $langId => $langName)
{
$langData[mb_strtolower($langId)] = [
'APP_ID' => $langFields['APP_ID'],
'LANGUAGE_ID' => mb_strtolower($langId),
'NAME' => $langFields['NAME'][$langId],
'DESCRIPTION' => is_array($langFields['DESCRIPTION']) && isset($langFields['DESCRIPTION'][$langId])
? (string)$langFields['DESCRIPTION'][$langId] : null
];
if (!isset($langData['**']))
{
$langData['**'] = [
'APP_ID' => $langFields['APP_ID'],
'LANGUAGE_ID' => '**',
'NAME' => $langFields['NAME'][$langId],
'DESCRIPTION' => is_array($langFields['DESCRIPTION']) && isset($langFields['DESCRIPTION'][$langId])
? (string)$langFields['DESCRIPTION'][$langId] : null
];
}
}
}
$appNames = static::getAppNames($clientId);
foreach ($appNames as $langId => $appName)
{
if (isset($langData[$langId]))
{
$langData[$langId]['APP_NAME'] = $appName;
}
}
foreach ($langData as $toAdd)
{
InternalEntityRestAppLangTable::add($toAdd);
}
}