- Модуль: disk
- Путь к файлу: ~/bitrix/modules/disk/lib/storage.php
- Класс: BitrixDiskStorage
- Вызов: Storage::getReadableList
static function getReadableList(SecurityContext $securityContext, array $parameters = array())
{
if (empty($parameters['with']))
{
$parameters['with'] = array();
}
$conditionTree = Query::filter();
$conditionTree
->whereColumn('ID', 'STORAGE.ROOT_OBJECT_ID')
->where('STORAGE.MODULE_ID', Driver::INTERNAL_MODULE_ID)
->where('RIGHTS_CHECK', true)
;
$filter = [
'=PARENT_ID' => null,
'=STORAGE.MODULE_ID' => Driver::INTERNAL_MODULE_ID,
'=RIGHTS_CHECK' => true,
];
if (empty($parameters['filter']))
{
$parameters['filter'] = Query::filter();
}
if ($parameters['filter'] instanceof ConditionTree)
{
$parameters['filter'] = $conditionTree->addCondition($parameters['filter']);
}
elseif (is_array($parameters['filter']))
{
$parameters['filter'] = array_merge($parameters['filter'], $filter);
}
$parameters['with'] = array_merge($parameters['with'], array('STORAGE'));
$parameters = Driver::getInstance()->getRightsManager()->addRightsCheck($securityContext, $parameters, array(
'ID',
'CREATED_BY'
));
/** @var Folder[] $items */
$items = Folder::getModelList($parameters);
$storages = array();
foreach ($items as $item)
{
$item->getStorage()->setAttributes(array('ROOT_OBJECT' => $item));
$storages[] = $item->getStorage();
}
return $storages;
}