/** * @param array $fileData * @param string $siteID * @return array|null */ public static function getFileInfo($fileID, $storageTypeID = 0, $checkPermissions = true, $options = null) { if (!is_integer($storageTypeID)) { $storageTypeID = (int) $storageTypeID; } if (!StorageType::isDefined($storageTypeID)) { $storageTypeID = StorageType::getDefaultTypeID(); } if ($storageTypeID === StorageType::Disk) { return DiskManager::getFileInfo($fileID, $checkPermissions, $options); } elseif ($storageTypeID === StorageType::WebDav) { return \CCrmWebDavHelper::getElementInfo($fileID, $checkPermissions); } elseif ($storageTypeID === StorageType::File) { $fileInfo = \CFile::GetFileArray($fileID); if (!is_array($fileInfo)) { return null; } return array('ID' => $fileID, 'NAME' => isset($fileInfo['ORIGINAL_NAME']) ? $fileInfo['ORIGINAL_NAME'] : $fileID, 'SIZE' => \CFile::FormatSize($fileInfo['FILE_SIZE'] ? $fileInfo['FILE_SIZE'] : 0), 'VIEW_URL' => isset($fileInfo['SRC']) ? $fileInfo['SRC'] : ''); } throw new Main\NotSupportedException("Storage type: '{$storageTypeID}' is not supported in current context"); }