- Модуль: 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;
}