• Модуль: dav
  • Путь к файлу: ~/bitrix/modules/dav/classes/general/webdavserver.php
  • Класс: CDavWebDavServer
  • Вызов: CDavWebDavServer::countQuotaSizeStorage
private function countQuotaSizeStorage(Storage $storage)
{
	$quotaSize = [];
	$fullSize = 0;

	$restriction = $storage->isEnabledSizeLimitRestriction();
	$usedStorageSize = $storage->getRootObject()->countSizeOfVersions();

	if ($restriction)
	{
		$fullSize = $storage->getSizeLimit();
		$usedSize = $usedStorageSize;
	}
	else
	{
		$userId = $this->getUser()->getId();
		$fullSize = BitrixMainConfigOption::get('main', 'disk_space', 0) * 1048576;
		$indicator = new BitrixDiskVolumeBfile();
		$diskInfo = $indicator->setOwner($userId)->purify()->measure()->loadTotals();
		$usedSize = $diskInfo ? $diskInfo["FILE_SIZE"] : 0;
	}

	if ($fullSize > 0)
	{
		$quotaSize['used_size'] = $usedStorageSize ? $usedStorageSize : 0;
		$quotaSize['available_size'] = $fullSize - $usedSize;

		return $quotaSize;
	}
	else
	{
		return null;
	}
}