/** * @param FieldType $fieldType * @param $value * @return string */ protected static function formatValuePrintable(FieldType $fieldType, $value) { $value = (int) $value; $iterator = \CFile::getByID($value); if ($file = $iterator->fetch()) { return '[url=/bitrix/tools/bizproc_show_file.php?f=' . urlencode($file['FILE_NAME']) . '&i=' . $value . '&h=' . md5($file['SUBDIR']) . ']' . htmlspecialcharsbx($file['ORIGINAL_NAME']) . '[/url]'; } return ''; }
public function exec($mode = "basic", $params = array()) { $res = $this->check($params); if ($this->check($params)) { $this->file = \CFile::getByID($this->id)->fetch(); if ($mode == "resize" && ($file = \CFile::ResizeImageGet($this->id, $params, BX_RESIZE_IMAGE_PROPORTIONAL, true)) && $file) { $this->file["SRC"] = $file["src"]; $this->file["WIDTH"] = $file["width"]; $this->file["HEIGHT"] = $file["height"]; $this->file["FILE_SIZE"] = $file["size"]; } \CFile::ViewByUser($this->file, array("force_download" => false, 'cache_time' => 0)); } }
public function GetFieldInputValuePrintable($documentType, $fieldType, $fieldValue) { $result = $fieldValue; switch ($fieldType['Type']) { case "user": if (!is_array($fieldValue)) { $fieldValue = array($fieldValue); } $result = CBPHelper::usersArrayToString($fieldValue, null, array("lists", get_called_class(), $documentType)); break; case "bool": if (is_array($fieldValue)) { $result = array(); foreach ($fieldValue as $r) { $result[] = strtoupper($r) != "N" && !empty($r) ? GetMessage("BPVDX_YES") : GetMessage("BPVDX_NO"); } } else { $result = 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); $imgQuery = CFile::getByID($r); if ($img = $imgQuery->fetch()) { $result[] = "[url=/bitrix/tools/bizproc_show_file.php?f=" . htmlspecialcharsbx($img["FILE_NAME"]) . "&i=" . $r . "&h=" . md5($img["SUBDIR"]) . "]" . htmlspecialcharsbx($img["ORIGINAL_NAME"]) . "[/url]"; } } } else { $fieldValue = intval($fieldValue); $imgQuery = CFile::getByID($fieldValue); if ($img = $imgQuery->fetch()) { $result = "[url=/bitrix/tools/bizproc_show_file.php?f=" . htmlspecialcharsbx($img["FILE_NAME"]) . "&i=" . $fieldValue . "&h=" . md5($img["SUBDIR"]) . "]" . htmlspecialcharsbx($img["ORIGINAL_NAME"]) . "[/url]"; } } 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 (strpos($fieldType['Type'], ":") !== false) { if ($fieldType["Type"] == "S:employee") { $fieldValue = CBPHelper::stripUserPrefix($fieldValue); } $customType = CIBlockProperty::getUserType(substr($fieldType['Type'], 2)); if (array_key_exists("GetPublicViewHTML", $customType)) { if (is_array($fieldValue) && !CBPHelper::isAssociativeArray($fieldValue)) { $result = array(); foreach ($fieldValue as $value) { $r = call_user_func_array($customType["GetPublicViewHTML"], array(array("LINK_IBLOCK_ID" => $fieldType["Options"]), array("VALUE" => $value), "")); $result[] = HTMLToTxt($r); } } else { $result = call_user_func_array($customType["GetPublicViewHTML"], array(array("LINK_IBLOCK_ID" => $fieldType["Options"]), array("VALUE" => $fieldValue), "")); $result = HTMLToTxt($result); } } } return $result; }
/** * Returns file (@see CFile::getById()); * @return array|null * @throws \Bitrix\Main\NotImplementedException */ public function getFile() { if (!$this->fileId) { return null; } if (isset($this->file) && $this->fileId == $this->file['ID']) { return $this->file; } /** @noinspection PhpDynamicAsStaticMethodCallInspection */ $this->file = \CFile::getByID($this->fileId)->fetch(); if (!$this->file) { return array(); } return $this->file; }