- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/lib/userfield/dispatcher.php
- Класс: BitrixMainUserFieldDispatcher
- Вызов: Dispatcher::getUserFieldInfo
protected function getUserFieldInfo($entityId, $field)
{
global $USER_FIELD_MANAGER;
if(!array_key_exists($entityId, $this->userFieldList))
{
$this->userFieldList[$entityId] = $USER_FIELD_MANAGER->GetUserFields($entityId, 0, $this->languageId);
}
if(
isset($this->userFieldList[$entityId][$field])
&& $this->userFieldList[$entityId][$field]['USER_TYPE_ID'] === CUserTypeEnum::USER_TYPE_ID
&& !isset($this->userFieldList[$entityId][$field]['ENUM'])
)
{
$this->userFieldList[$entityId][$field]['ENUM'] = array();
$enumValuesManager = new CUserFieldEnum();
$dbRes = $enumValuesManager->GetList(array(), array('USER_FIELD_ID' => $this->userFieldList[$entityId][$field]['ID']));
while($enumValue = $dbRes->fetch())
{
$this->userFieldList[$entityId][$field]['ENUM'][] = array(
'ID' => $enumValue['ID'],
'VALUE' => $enumValue['VALUE'],
'DEF' => $enumValue['DEF'],
'SORT' => $enumValue['SORT'],
'XML_ID' => $enumValue['XML_ID'],
);
}
}
return $this->userFieldList[$entityId][$field];
}