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