• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/uf/controller.php
  • Класс: BitrixDiskUfController
  • Вызов: Controller::listStorages
protected function listStorages()
{
	$userStorage = Driver::getInstance()->getStorageByUserId($this->getUser()->getId());
	if(!$userStorage)
	{
		$this->errorCollection->add(array(new Error('Could not find storage for current user')));
		return null;
	}

	$urlUfController = Driver::getInstance()->getUrlManager()->getUrlUfController('loadItems');
	$list = array(
		'recently_used' => array(
			'id' => 'recently_used',
			'name' => Loc::getMessage('DISK_UF_CONTROLLER_RECENTLY_USED'),
			'type' => 'recently_used',
			'link' => $urlUfController,
		),
		$userStorage->getId() => array(
			'id' => $userStorage->getId(),
			'rootObjectId' => $userStorage->getRootObjectId(),
			'name' => $userStorage->getProxyType()->getTitleForCurrentUser(),
			'type' => 'user',
			'link' => $urlUfController,
		),
	);

	foreach($this->getUserGroupWithStorage() as $group)
	{
		if(empty($group['STORAGE']))
		{
			continue;
		}
		/** @var Storage $storage */
		$storage = $group['STORAGE'];
		$list[$storage->getId()] = array(
			'id' => $storage->getId(),
			'rootObjectId' => $storage->getRootObjectId(),
			'name' => $group['NAME'],
			'type' => 'group',
			'link' => $urlUfController,
		);
	}
	unset($group, $storage);

	foreach($this->getCommonStorages() as $common)
	{
		$list[$common->getId()] = array(
			'id' => $common->getId(),
			'rootObjectId' => $common->getRootObjectId(),
			'name' => $common->getName(),
			'type' => 'common',
			'link' => $urlUfController,
		);
	}
	unset($common);

	return $list;
}