• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/volume/module/calendar.php
  • Класс: BitrixDiskVolumeModuleCalendar
  • Вызов: Calendar::getEntityList
public function getEntityList(): array
{
	static $entityList;
	if (!isset($entityList))
	{
		$entityList = [];

		$filter = [
			'=ENTITY_ID' => 'CALENDAR_EVENT',
			'=USER_TYPE_ID' => [
				CUserTypeFile::USER_TYPE_ID,
				DiskUfFileUserType::USER_TYPE_ID,
				DiskUfVersionUserType::USER_TYPE_ID,
			],
		];
		$userFieldList = BitrixMainUserFieldTable::getList(['filter' => $filter]);
		if ($userFieldList->getSelectedRowsCount() > 0)
		{
			foreach ($userFieldList as $userField)
			{
				$entityName = $userField['ENTITY_ID'];
				if (isset($entityList[$entityName]))
				{
					continue;
				}

				$entity[$entityName][] = $userField;

				/** @var BitrixMainEntityBase $ent */
				$ent = BitrixMainEntityBase::compileEntity($entityName, [], [
					'namespace' => __NAMESPACE__,
					'uf_id'     => $entityName,
				]);

				$entityList[$entityName] = $ent->getDataClass();
			}
		}
	}

	return $entityList;
}