- Модуль: disk
- Путь к файлу: ~/bitrix/modules/disk/lib/volume/module/module.php
- Класс: BitrixDiskVolumeModuleModule
- Вызов: Module::getUserTypeFieldList
public function getUserTypeFieldList(
string $entityClass,
array $userTypeField = [CUserTypeFile::USER_TYPE_ID, DiskUfFileUserType::USER_TYPE_ID, DiskUfVersionUserType::USER_TYPE_ID]
): array
{
static $fields = [];
if (!isset($fields[$entityClass]))
{
$fields[$entityClass] = [];
/** @var MainORMDataDataManager $entityClass */
$ufName = $entityClass::getUfId();
if ($ufName <> '' && count($userTypeField) > 0)
{
$filter = [
'=ENTITY_ID' => $ufName,
'=USER_TYPE_ID' => (count($userTypeField) == 1 ? $userTypeField[0] : $userTypeField),
];
$userFieldList = MainUserFieldTable::getList([
'filter' => $filter,
'select' => [
'ID',
'ENTITY_ID',
'USER_TYPE_ID',
'FIELD_NAME',
'MULTIPLE',
'XML_ID',
],
]);
foreach ($userFieldList as $userField)
{
$fields[$entityClass][$userField['FIELD_NAME']] = $userField;
}
}
}
return $fields[$entityClass];
}