• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/Controller/Property/Action/SaveAction.php
  • Класс: BitrixIblockControllerPropertyActionSaveAction
  • Вызов: SaveAction::processUserTypeSettingsFields
private function processUserTypeSettingsFields(array $fields, ?array $oldFields): array
{
	$fields = $this->parseUserType($fields);

	if (!isset($fields['PROPERTY_TYPE']) && isset($oldFields))
	{
		$fields['USER_TYPE'] = $oldFields['USER_TYPE'];
		$fields['PROPERTY_TYPE'] = $oldFields['PROPERTY_TYPE'];
	}

	if (empty($fields['USER_TYPE']))
	{
		$fields['USER_TYPE_SETTINGS'] = false;
	}
	// append other settings
	elseif (
		isset($fields['USER_TYPE_SETTINGS'], $oldFields['USER_TYPE_SETTINGS'])
		&& is_array($fields['USER_TYPE_SETTINGS'])
	)
	{
		$fields['USER_TYPE_SETTINGS'] += $oldFields['USER_TYPE_SETTINGS'];
	}

	return $fields;
}