/** * @param FieldType $fieldType Document field object. * @param mixed $value Field value. * @param string $toTypeClass Type class manager name. * @return null|mixed */ public static function convertTo(FieldType $fieldType, $value, $toTypeClass) { if (is_array($value) && isset($value['VALUE'])) { $value = $value['VALUE']; } $value = (int) $value; /** @var Base $toTypeClass */ $type = $toTypeClass::getType(); switch ($type) { case FieldType::FILE: $diskFile = File::getById($value); $value = $diskFile ? $diskFile->getFileId() : null; break; default: $value = null; } return $value; }
/** * @param FieldType $fieldType Document field object. * @param mixed $value Field value. * @param string $toTypeClass Type class manager name. * @return null|mixed */ public static function convertTo(FieldType $fieldType, $value, $toTypeClass) { if (is_subclass_of($toTypeClass, '\\Bitrix\\Iblock\\BizprocType\\UserTypePropertyDiskFile')) { return $value; } if (is_array($value) && isset($value['VALUE'])) { $value = $value['VALUE']; } $value = (int) $value; /** @var Base $toTypeClass */ $type = $toTypeClass::getType(); switch ($type) { case FieldType::FILE: $diskFile = File::getById($value); $value = $diskFile ? $diskFile->getFileId() : null; break; default: $value = null; } return $value; }
public static function GetFileParams($chatId, $fileModel) { if (!self::Enabled()) { return false; } if ($fileModel instanceof \Bitrix\Disk\File) { } else { if (intval($fileModel) > 0) { $fileModel = \Bitrix\Disk\File::getById($fileModel); } else { return false; } } $fileData = array('id' => $fileModel->getId(), 'chatId' => intval($chatId), 'date' => $fileModel->getCreateTime()->getTimestamp(), 'type' => \Bitrix\Disk\TypeFile::isImage($fileModel->getName()) ? 'image' : 'file', 'preview' => '', 'name' => $fileModel->getName(), 'size' => $fileModel->getSize(), 'status' => $fileModel->getGlobalContentVersion() > 1 ? 'done' : 'upload', 'progress' => $fileModel->getGlobalContentVersion() > 1 ? 100 : -1, 'authorId' => $fileModel->getCreatedBy(), 'authorName' => CUser::FormatName(CSite::GetNameFormat(false), $fileModel->getCreateUser(), true, false), 'urlPreview' => self::GetPublicPath(self::PATH_TYPE_PREVIEW, $fileModel), 'urlShow' => self::GetPublicPath(self::PATH_TYPE_SHOW, $fileModel), 'urlDownload' => self::GetPublicPath(self::PATH_TYPE_DOWNLOAD, $fileModel)); return $fileData; }
/** * Returns file by id. * @param int $id Id of object. * @return Disk\File * @throws RestException */ protected function getFileById($id) { $folder = Disk\File::getById($id, array('STORAGE')); if (!$folder) { throw new RestException("Could not find entity with id '{$id}'.", RestException::ERROR_NOT_FOUND); } return $folder; }