/**
  * @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;
 }
Ejemplo n.º 2
0
 /**
  * @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;
 }
Ejemplo n.º 3
0
 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;
 }
Ejemplo n.º 4
0
 /**
  * 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;
 }