• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/folder.php
  • Класс: BitrixDiskFolder
  • Вызов: Folder::getDescendants
public function getDescendants(SecurityContext $securityContext, array $parameters = array(), $orderDepthLevel = SORT_ASC)
{
	if(!isset($parameters['filter']))
	{
		$parameters['filter'] = array();
	}
	if(!isset($parameters['select']))
	{
		$parameters['select'] = array('*');
	}

	if(!empty($parameters['filter']['MIXED_SHOW_DELETED']))
	{
		unset($parameters['filter']['DELETED_TYPE'], $parameters['filter']['MIXED_SHOW_DELETED']);
	}
	elseif (
		!array_key_exists('DELETED_TYPE', $parameters['filter']) &&
		!array_key_exists('!DELETED_TYPE', $parameters['filter']) &&
		!array_key_exists('!=DELETED_TYPE', $parameters['filter']) &&
		!array_key_exists('!==DELETED_TYPE', $parameters['filter'])
	)
	{
		$parameters['filter']['DELETED_TYPE'] = ObjectTable::DELETED_TYPE_NONE;
	}
	$parameters['select']['DEPTH_LEVEL'] = 'PATH_CHILD.DEPTH_LEVEL';
	$parameters = Driver::getInstance()->getRightsManager()->addRightsCheck($securityContext, $parameters, array('ID', 'CREATED_BY'));

	$data = FolderTable::getDescendants($this->id, static::prepareGetListParameters($parameters))->fetchAll();
	if($orderDepthLevel !== null)
	{
		Collection::sortByColumn($data, array('DEPTH_LEVEL' => $orderDepthLevel));
	}

	$modelData = array();
	foreach($data as $item)
	{
		$modelData[] = BaseObject::buildFromArray($item);
	}
	unset($item);

	return $modelData;
}