• Модуль: rest
  • Путь к файлу: ~/bitrix/modules/rest/lib/lang.php
  • Класс: BitrixRestLang
  • Вызов: Lang::fillCompatibility
static function fillCompatibility(array $param, array $fieldList, array $defaultValues = []) : array
{
	$result = [];

	$langList = static::listLanguage();
	$langDefault = reset($langList);

	if (empty($param[static::KEY_LANG_ALL]))
	{
		foreach ($fieldList as $key)
		{
			$value = trim($param[$key] ?? '');
			if ($value !== '')
			{
				$result[static::KEY_LANG_ALL][$langDefault][$key] = $value;
				$result[$key] = trim($param[$key]);
			}
			elseif ($defaultValues[$key])
			{
				$result[static::KEY_LANG_ALL][$langDefault][$key] = $defaultValues[$key];
				$result[$key] = $defaultValues[$key];
			}
		}
	}
	else
	{
		foreach ($param[static::KEY_LANG_ALL] as $langCode => $langItem)
		{
			foreach ($fieldList as $field)
			{
				$value = trim($langItem[$field] ?? '');
				if ($value !== '')
				{
					$result[static::KEY_LANG_ALL][$langCode][$field] = $value;
				}
				elseif ($defaultValues[$field])
				{
					$result[static::KEY_LANG_ALL][$langDefault][$field] = $defaultValues[$field];
				}
			}
		}
		$result = static::mergeFromLangAll($result);
	}

	if (empty($result[static::KEY_LANG_ALL]) && !empty($defaultValues))
	{
		$result[static::KEY_LANG_ALL][$langDefault] = $defaultValues;
	}

	return $result;
}