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