- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/lib/userfield/dispatcher.php
- Класс: BitrixMainUserFieldDispatcher
- Вызов: Dispatcher::updateField
protected function updateField(array $fieldInfo)
{
$userFieldInfo = $this->getUserFieldInfo($fieldInfo['ENTITY_ID'], $fieldInfo['FIELD']);
if(is_array($userFieldInfo))
{
$updateField = array();
if(array_key_exists('MANDATORY', $fieldInfo))
{
$updateField['MANDATORY'] = $fieldInfo['MANDATORY'];
}
if(array_key_exists('SHOW_FILTER', $fieldInfo))
{
$updateField['SHOW_FILTER'] = $fieldInfo['SHOW_FILTER'];
}
if(array_key_exists('SHOW_IN_LIST', $fieldInfo))
{
$updateField['SHOW_IN_LIST'] = $fieldInfo['SHOW_IN_LIST'];
}
if(array_key_exists('EDIT_IN_LIST', $fieldInfo))
{
$updateField['EDIT_IN_LIST'] = $fieldInfo['EDIT_IN_LIST'];
}
if(array_key_exists('IS_SEARCHABLE', $fieldInfo))
{
$updateField['IS_SEARCHABLE'] = $fieldInfo['IS_SEARCHABLE'];
}
if(array_key_exists('EDIT_FORM_LABEL', $fieldInfo))
{
$updateField['EDIT_FORM_LABEL'] = $this->checkLabel($fieldInfo['EDIT_FORM_LABEL']);
}
if(array_key_exists('LIST_COLUMN_LABEL', $fieldInfo))
{
$updateField['LIST_COLUMN_LABEL'] = $this->checkLabel($fieldInfo['LIST_COLUMN_LABEL']);
}
if(array_key_exists('LIST_FILTER_LABEL', $fieldInfo))
{
$updateField['LIST_FILTER_LABEL'] = $this->checkLabel($fieldInfo['LIST_FILTER_LABEL']);
}
if(array_key_exists('ERROR_MESSAGE', $fieldInfo))
{
$updateField['ERROR_MESSAGE'] = $this->checkLabel($fieldInfo['ERROR_MESSAGE']);
}
if(array_key_exists('HELP_MESSAGE', $fieldInfo))
{
$updateField['HELP_MESSAGE'] = $this->checkLabel($fieldInfo['HELP_MESSAGE']);
}
if(array_key_exists('SETTINGS', $fieldInfo) && is_array($fieldInfo['SETTINGS']))
{
$updateField['SETTINGS'] = array_merge($userFieldInfo['SETTINGS'], $fieldInfo['SETTINGS']);
}
if(!empty($updateField))
{
$userTypeEntity = new CUserTypeEntity();
$updateResult = $userTypeEntity->update($userFieldInfo['ID'], $updateField);
if(!$updateResult)
{
$this->getErrorFromApplicationException($fieldInfo);
return false;
}
}
}
return $userFieldInfo['ID'];
}