• Модуль: webdav
  • Путь к файлу: ~/bitrix/modules/webdav/classes/iblock.php
  • Класс: CWebDavIblock
  • Вызов: CWebDavIblock::GetFileSize
public function GetFileSize($element)
{
	static $PROP_SIZE = "PROPERTY_WEBDAV_SIZE";
	$elementID = 0;
	$arElement = array();
	if (is_array($element) && isset($element['ID']))
	{
		$arElement =& $element;
		$elementID = $arElement['ID'];
	}
	elseif( ($elementID = intval($element)) > 0)
	{
	}
	else
	{
		return 0;
	}

	$result = 0;

	if ((!is_array($arElement) || empty($arElement)) && $elementID > 0)
	{
		$arSelectedFields = array(
			"ID",
			"NAME",
			"PROPERTY_".$this->file_prop,
			$PROP_SIZE
		);

		$arElementFilter = array(
			'ID' => $elementID,
			'IBLOCK_ID' => $this->IBLOCK_ID,
			'SHOW_HISTORY' => 'Y'
		);
		$rsElement = CIBlockElement::GetList(array(), $arElementFilter, false, false, $arSelectedFields);
		$arElement = $rsElement->Fetch();
	}

	if (is_array($arElement))
	{
		$result = $arElement[$PROP_SIZE.'_VALUE'];
		if (
			empty($result)
			&& isset($arElement['PROPERTY_'.$this->file_prop.'_VALUE'])
			&& intval($arElement['PROPERTY_'.$this->file_prop.'_VALUE'])>0
		)
		{
			$arFile = CFile::GetFileArray(intval($arElement['PROPERTY_'.$this->file_prop.'_VALUE']));
			$result = $arFile['FILE_SIZE'];
			CIBlockElement::SetPropertyValues($elementID, $this->IBLOCK_ID, $result, 'WEBDAV_SIZE');
		}
	}

	return $result;
}