• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/uf/integration/diskuploadercontroller.php
  • Класс: BitrixDiskUfIntegrationDiskUploaderController
  • Вызов: DiskUploaderController::getFolderAndStorage
private function getFolderAndStorage(string $filename): array
{
	$folder = null;
	$storage = null;

	$folderId = $this->getOption('folderId', 0);
	if ($folderId > 0)
	{
		$folder = DiskFolder::load(['ID' => $folderId]);
		if ($folder !== null)
		{
			$storage = $folder->getStorage();
		}
	}
	else
	{
		$userId = (int)CurrentUser::get()->getId();
		$storage = DiskDriver::getInstance()->getStorageByUserId($userId);
		if ($storage !== null)
		{
			if (mb_strpos($filename, 'videomessage') === 0)
			{
				$folder = $storage->getFolderForRecordedFiles();
			}
			else
			{
				$folder = $storage->getFolderForUploadedFiles();
			}
		}
	}

	return [$folder, $storage];
}