- Модуль: disk
- Путь к файлу: ~/bitrix/modules/disk/lib/bizprocdocument.php
- Класс: BitrixDiskBizProcDocument
- Вызов: BizProcDocument::getFieldInputValuePrintable
static function getFieldInputValuePrintable($documentType, $fieldType, $fieldValue)
{
$storageId = self::getStorageIdByType($documentType);
if(!$storageId)
{
throw new CBPArgumentNullException('documentType');
}
$result = $fieldValue;
switch($fieldType['Type'])
{
case 'datetime':
if(is_array($fieldValue))
{
$result = array();
foreach($fieldValue as $_fieldValue)
{
$result[] = empty($_fieldValue) ? formatDate('x', MakeTimeStamp($_fieldValue)) : '';
}
}
else
{
$result = !empty($fieldValue) ? formatDate('x', MakeTimeStamp($fieldValue)) : '';
}
break;
case "user":
if(!is_array($fieldValue))
{
$fieldValue = array($fieldValue);
}
$result = CBPHelper::usersArrayToString($fieldValue, null, self::generateDocumentComplexType($storageId));
break;
case "bool":
if(is_array($fieldValue))
{
$result = array();
foreach($fieldValue as $r)
{
$result[] = ((mb_strtoupper($r) != "N" && !empty($r)) ? Loc::getMessage("BPVDX_YES") : Loc::getMessage("BPVDX_NO"));
}
}
else
{
$result = ((mb_strtoupper($fieldValue) != "N" && !empty($fieldValue)) ? Loc::getMessage("BPVDX_YES") : Loc::getMessage("BPVDX_NO"));
}
break;
case "select":
if(is_array($fieldType["Options"]))
{
if(is_array($fieldValue))
{
$result = array();
foreach($fieldValue as $r)
{
if(array_key_exists($r, $fieldType["Options"]))
{
$result[] = $fieldType["Options"][$r];
}
}
}
else
{
if(array_key_exists($fieldValue, $fieldType["Options"]))
{
$result = $fieldType["Options"][$fieldValue];
}
}
}
break;
}
if(mb_strpos($fieldType['Type'], static::getPrefixForCustomType()) === 0)
{
global $USER_FIELD_MANAGER, $APPLICATION;
$type = str_replace(static::getPrefixForCustomType(), '', $fieldType['Type']);
$userFieldType = $USER_FIELD_MANAGER->getUserType($type);
$userField = array(
'ENTITY_ID' => 'DISK_FILE_' . $storageId,
'FIELD_NAME' => 'UF_XXXXXXX',
'USER_TYPE_ID' => $type,
'SORT' => 100,
'MULTIPLE' => $fieldType['Multiple'] ? 'Y' : 'N',
'MANDATORY' => $fieldType['Required'] ? 'Y' : 'N',
'EDIT_FORM_LABEL' => $userFieldType['DESCRIPTION'],
'VALUE' => $fieldValue, //
'USER_TYPE' => $userFieldType
);
$APPLICATION->includeComponent('bitrix:system.field.view', $type, array(
'arUserField' => $userField,
'bVarsFromForm' => false,
'form_name' => "",
'FILE_MAX_HEIGHT' => 400,
'FILE_MAX_WIDTH' => 400,
'FILE_SHOW_POPUP' => true
), false, array('HIDE_ICONS' => 'Y'));
$result = ob_get_contents();
ob_end_clean();
}
return $result;
}