• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/baseobject.php
  • Класс: BitrixDiskBaseObject
  • Вызов: BaseObject::getParents
public function getParents(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_PARENT.DEPTH_LEVEL';
	$parameters = Driver::getInstance()->getRightsManager()->addRightsCheck($securityContext, $parameters, array('ID', 'CREATED_BY'));

	/** @var ObjectTable $tableClassName */
	$tableClassName = $this->getTableClassName();
	$data = $tableClassName::getAncestors($this->id, static::prepareGetListParameters($parameters))->fetchAll();
	Collection::sortByColumn($data, array('DEPTH_LEVEL' => $orderDepthLevel));

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

	return $modelData;
}