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