- Модуль: webdav
- Путь к файлу: ~/bitrix/modules/webdav/classes/iblocksocnetbizproc.php
- Класс: CIBlockDocumentWebdavSocnet
- Вызов: CIBlockDocumentWebdavSocnet::GetFieldInputValuePrintable
static function GetFieldInputValuePrintable($documentType, $arFieldType, $fieldValue)
{
if($storage = self::needProxyToDiskByDocType($documentType))
{
return self::proxyToDisk(__FUNCTION__, array(BitrixDiskBizProcDocumentCompatible::generateDocumentType($storage->getId()), $arFieldType, $fieldValue));
}
$result = $fieldValue;
switch ($arFieldType['Type'])
{
case "user":
if (!is_array($fieldValue))
$fieldValue = array($fieldValue);
$result = CBPHelper::UsersArrayToString($fieldValue, null, array("webdav", "CIBlockDocumentWebdavSocnet", $documentType));
break;
case "bool":
if (is_array($fieldValue))
{
$result = array();
foreach ($fieldValue as $r)
$result[] = ((mb_strtoupper($r) != "N" && !empty($r)) ? GetMessage("BPVDX_YES") : GetMessage("BPVDX_NO"));
}
else
{
$result = ((mb_strtoupper($fieldValue) != "N" && !empty($fieldValue)) ? GetMessage("BPVDX_YES") : GetMessage("BPVDX_NO"));
}
break;
case "file":
if (is_array($fieldValue))
{
$result = array();
foreach ($fieldValue as $r)
{
$r = intval($r);
$dbImg = CFile::GetByID($r);
if ($arImg = $dbImg->Fetch())
$result[] = "[url=/bitrix/tools/bizproc_show_file.php?f=".urlencode($arImg["FILE_NAME"])."&i=".$r."]".htmlspecialcharsbx($arImg["ORIGINAL_NAME"])."[/url]";
}
}
else
{
$fieldValue = intval($fieldValue);
$dbImg = CFile::GetByID($fieldValue);
if ($arImg = $dbImg->Fetch())
$result = "[url=/bitrix/tools/bizproc_show_file.php?f=".urlencode($arImg["FILE_NAME"])."&i=".$fieldValue."]".htmlspecialcharsbx($arImg["ORIGINAL_NAME"])."[/url]";
}
break;
case "select":
if (is_array($arFieldType["Options"]))
{
if (is_array($fieldValue))
{
$result = array();
foreach ($fieldValue as $r)
{
if (array_key_exists($r, $arFieldType["Options"]))
$result[] = $arFieldType["Options"][$r];
}
}
else
{
if (array_key_exists($fieldValue, $arFieldType["Options"]))
$result = $arFieldType["Options"][$fieldValue];
}
}
break;
}
if (mb_strpos($arFieldType['Type'], ":") !== false)
{
$arCustomType = CIBlockProperty::GetUserType(mb_substr($arFieldType['Type'], 2));
if (array_key_exists("GetPublicViewHTML", $arCustomType))
{
if (is_array($fieldValue) && !CBPHelper::IsAssociativeArray($fieldValue))
{
$result = array();
foreach ($fieldValue as $value)
{
$r = call_user_func_array(
$arCustomType["GetPublicViewHTML"],
array(
array("LINK_IBLOCK_ID" => $arFieldType["Options"]),
array("VALUE" => $value),
""
)
);
$result[] = HTMLToTxt($r);
}
}
else
{
$result = call_user_func_array(
$arCustomType["GetPublicViewHTML"],
array(
array("LINK_IBLOCK_ID" => $arFieldType["Options"]),
array("VALUE" => $fieldValue),
""
)
);
$result = HTMLToTxt($result);
}
}
}
return $result;
}