• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/lib/integration/wizards/portal/ids.php
  • Класс: BitrixIntranetIntegrationWizardsPortalIds
  • Вызов: Ids::getDiskStorageId
static function getDiskStorageId(string $code, ?string $siteId = null): ?string
{
	$siteId = $siteId ?: SITE_ID;

	if (empty(self::$diskIds))
	{
		$cacheId = 'diskIds';
		$val = self::getFormCache($cacheId);

		if (!is_array($val) && MainLoader::IncludeModule('disk'))
		{
			if ($code === 'MANAGE_STORAGE_ID')
			{
				$storage = BitrixDiskStorage::getList([
					'select' => ['ID'],
					'filter' => ['ENTITY_ID' => "directors_files_" . $siteId, 'SITE_ID' => $siteId],
				])->fetch();

				$val['MANAGE_STORAGE_ID'] = $storage['ID'] ?? '0';
			}
			elseif ($code === 'SHARED_STORAGE_ID')
			{
				$commonStorage = BitrixDiskDriver::getInstance()->getStorageByCommonId('shared_files_'
						. $siteId);
				$val['SHARED_STORAGE_ID'] = $commonStorage ? $commonStorage->getId() : '0';
			}
			elseif ($code === 'SALE_STORAGE_ID')
			{
				$storage = BitrixDiskStorage::getList([
					'select' => ['ID'],
					'filter' => ['ENTITY_ID' => "sales_files_" . $siteId, 'SITE_ID' => $siteId],
				])->fetch();

				$val['SALE_STORAGE_ID'] = $storage['ID'] ?? '0';
			}

			self::putIntoCache($cacheId, $val);
		}
		self::$diskIds = $val;
	}
	return isset(self::$diskIds[$code]) ? (string)self::$diskIds[$code] : null;
}