• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/userfield/dispatcher.php
  • Класс: BitrixMainUserFieldDispatcher
  • Вызов: Dispatcher::editField
public function editField($fieldInfo)
{
	if(!$this->validateFieldChangeRequest($fieldInfo))
	{
		return false;
	}

	$currentFieldInfo = $this->getUserFieldInfo($fieldInfo['ENTITY_ID'], $fieldInfo['FIELD']);

	$fieldId = $this->updateField($fieldInfo);
	if($fieldId)
	{
		if($currentFieldInfo['USER_TYPE_ID'] === CUserTypeEnum::USER_TYPE_ID)
		{
			$this->updateFieldEnumValues($fieldId, $fieldInfo);
		}

		$this->reloadUserFieldInfo($fieldInfo['ENTITY_ID']);

		$addFieldInfo = array(
			'ENTITY_ID' => $fieldInfo['ENTITY_ID'],
			'ENTITY_VALUE_ID' => $fieldInfo['ENTITY_VALUE_ID'],
			'FIELD' => $fieldInfo['FIELD'],
			'VALUE' => $fieldInfo['VALUE'],
			'CONTEXT' => $fieldInfo['CONTEXT'],
		);

		$addFieldInfo['SIGNATURE'] = $this->getSignature($addFieldInfo);

		$this->storeFieldSignature($addFieldInfo['ENTITY_ID'], $addFieldInfo['FIELD'], $addFieldInfo['SIGNATURE']);

		$this->addField($addFieldInfo);
	}

	return true;

}