• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/integration/filediskproperty.php
  • Класс: BitrixDiskIntegrationFileDiskProperty
  • Вызов: FileDiskProperty::getPublicViewHTML
static function getPublicViewHTML($property, $value, $controlSettings)
{
	global $APPLICATION;

	$value['VALUE'] = self::prepareValue($value);

	$fieldName = isset($controlSettings['VALUE']) ? $controlSettings['VALUE'] : '';
	$fieldDescription = isset($controlSettings['DESCRIPTION']) ? $controlSettings['DESCRIPTION'] : '';

	if(isset($controlSettings['MODE']))
	{
		switch($controlSettings['MODE'])
		{
			case 'CSV_EXPORT':
				return self::convertToDB($property, $value);
			case 'EXCEL_EXPORT':
				$listFileName = array();
				foreach($value['VALUE'] as $attachedId)
				{
					list($type, $realId) = FileUserType::detectType($attachedId);
					if($type == FileUserType::TYPE_ALREADY_ATTACHED)
					{
						$attachedModel = AttachedObject::loadById($realId);
						if(!$attachedModel)
						{
							continue;
						}
						$fileModel = File::loadById($attachedModel->getObjectId(), array('STORAGE'));
						if(!$fileModel)
						{
							continue;
						}
						$listFileName[] = $fileModel->getName();
					}
				}
				return implode(',', $listFileName);
		}
	}

	$html = '';
	$userField = array(
		'ENTITY_ID' => 'DISK_FILE_'.$property['IBLOCK_ID'],
		'FIELD_NAME' => $fieldName,
		'USER_TYPE_ID' => 'disk_file',
		'SORT' => 100,
		'MULTIPLE' => 'Y',
		'MANDATORY' => $property['IS_REQUIRED'],
		'EDIT_FORM_LABEL' => $fieldDescription,
		'VALUE' => $value['VALUE'],
		'USER_TYPE' => $property['PROPERTY_USER_TYPE']
	);
	ob_start();
	$APPLICATION->includeComponent(
		'bitrix:disk.uf.file',
		'',
		array(
			'PARAMS' => array(
				'arUserField' => $userField,
				'DISABLE_MOD_ZIP' => 'Y'
			),
			'EXTENDED_PREVIEW' => 'Y',
			'INLINE' => 'N'
		),
		false,
		array("HIDE_ICONS" => "Y")
	);
	$html .= ob_get_contents();
	ob_end_clean();

	return $html;
}