• Модуль: webdav
  • Путь к файлу: ~/bitrix/modules/webdav/classes/diskdispatcher.php
  • Класс: CWebDavDiskDispatcher
  • Вызов: CWebDavDiskDispatcher::getStorageObject
protected function getStorageObject(array $extra = array(), $storageId = '')
{
	$storage = $this->enableDiskModule? new CDiskStorage() : new CWebDavStorageCore();
	if(!empty($extra))
	{
		$extra = $storage->parseStorageExtra($extra);
		$storage->setStorageId(array(
			'IBLOCK_ID' => $extra['iblockId'],
			'IBLOCK_SECTION_ID' => $extra['sectionId'],
		));

		if($storageId)
		{
			if($storageId != $storage->getStringStorageId())
			{
				throw new Exception('Wrong storage id!');
			}
		}

		if($storage instanceof CDiskStorage)
		{
			if(!$storage->getUserStorage())
			{
				throw new CWebDavBadStorageAfterMigrateException;
			}
		}

	}
	$this->lastStorage = $storage;

	return $storage;
}