Example #1
0
 /**
  * @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));
     }
 }
Example #3
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;
 }
Example #4
0
 /**
  * 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;
 }