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