ILIAS  trunk Revision v12.0_alpha-377-g3641b37b9db
ilDclMobRecordFieldModel Class Reference
+ Inheritance diagram for ilDclMobRecordFieldModel:
+ Collaboration diagram for ilDclMobRecordFieldModel:

Public Member Functions

 parseExportValue ($value)
 Function to parse incoming data from form input value $value. More...
 
 parseSortingValue ($value, bool $link=true)
 Returns sortable value for the specific field-types. More...
 
 afterClone ()
 
- Public Member Functions inherited from ilDclFileRecordFieldModel
 __construct (ilDclBaseRecordModel $record, ilDclBaseFieldModel $field)
 
 parseValue ($value)
 Function to parse incoming data from form input value $value. More...
 
 setValueFromForm (ilPropertyFormGUI $form)
 
 delete ()
 Delete record field in database. More...
 
 parseExportValue ($value)
 Function to parse incoming data from form input value $value. More...
 
 parseSortingValue ($value, bool $link=true)
 Returns sortable value for the specific field-types. More...
 
 afterClone ()
 
- Public Member Functions inherited from ilDclBaseRecordFieldModel
 __construct (ilDclBaseRecordModel $record, ilDclBaseFieldModel $field)
 
 setUser (ilObjUser $user)
 
 doCreate ()
 Creates an Id and a database entry. More...
 
 doUpdate ()
 Update object in database. More...
 
 delete ()
 Delete record field in database. More...
 
 getValue ()
 
 serializeData ($value)
 Serialize data before storing to db. More...
 
 deserializeData ($value)
 Deserialize data before applying to field. More...
 
 setValue ($value, bool $omit_parsing=false)
 Set value for record field. More...
 
 setValueFromForm (ilPropertyFormGUI $form)
 
 getFormulaValue ()
 
 parseExportValue ($value)
 Function to parse incoming data from form input value $value. More...
 
 getValueFromExcel (ilExcel $excel, int $row, int $col)
 
 parseValue ($value)
 Function to parse incoming data from form input value $value. More...
 
 getExportValue ()
 
 fillExcelExport (ilExcel $worksheet, int &$row, int &$col)
 
 getPlainText ()
 
 getSortingValue (bool $link=true)
 
 addHiddenItemsToConfirmation (ilConfirmationGUI $confirmation)
 
 parseSortingValue ($value, bool $link=true)
 Returns sortable value for the specific field-types. More...
 
 cloneStructure (ilDclBaseRecordFieldModel $old_record_field)
 
 afterClone ()
 
 getField ()
 
 getId ()
 
 getRecord ()
 
 getRecordRepresentation ()
 
 setRecordRepresentation (ilDclBaseRecordRepresentation $record_representation)
 
 getFieldRepresentation ()
 
 setFieldRepresentation (ilDclBaseFieldRepresentation $field_representation)
 

Protected Member Functions

 handleFileUpload (array $value, bool $has_save_confirmation)
 
 removeData ()
 
 handleFileUpload (array $value, bool $has_save_confirmation)
 
 removeData ()
 
- Protected Member Functions inherited from ilDclBaseRecordFieldModel
 doRead ()
 Read object data from database. More...
 
 loadValue ()
 Load the value. More...
 

Additional Inherited Members

- Protected Attributes inherited from ilDclFileRecordFieldModel
const FILE_TMP_NAME = 'tmp_name'
 
const FILE_NAME = "name"
 
const FILE_TYPE = "type"
 
ILIAS ResourceStorage Services $irss
 
ilDataCollectionStakeholder $stakeholder
 
ILIAS FileUpload FileUpload $upload
 
- Protected Attributes inherited from ilDclBaseRecordFieldModel
int $id = null
 
ilDclBaseFieldModel $field
 
ilDclBaseRecordModel $record
 
ilDclBaseRecordRepresentation $record_representation = null
 
ilDclBaseFieldRepresentation $field_representation = null
 
 $value
 
ilObjUser $user
 
ilCtrl $ctrl
 
ilDBInterface $db
 
ilLanguage $lng
 
ILIAS HTTP Services $http
 
ILIAS Refinery Factory $refinery
 

Detailed Description

Definition at line 23 of file class.ilDclMobRecordFieldModel.php.

Member Function Documentation

◆ afterClone()

ilDclMobRecordFieldModel::afterClone ( )

Reimplemented from ilDclFileRecordFieldModel.

Definition at line 105 of file class.ilDclMobRecordFieldModel.php.

105 : void
106 {
107 if ($this->value !== null) {
108 $value = null;
109 if (ilObjMediaObject::_exists($this->value)) {
110 $origin = new ilObjMediaObject($this->value);
111 $path = $origin::_getRelativeDirectory($origin->getId()) . '/' . $origin->getTitle();
112 if ($this->getField()->getFileSystem()->has($path)) {
113 $new = $origin->duplicate();
114 $new->createDirectory();
115 $new_path = $origin::_getRelativeDirectory($new->getId()) . '/' . $new->getTitle();
116 $this->getField()->getFileSystem()->copy($path, $new_path);
117 $value = $new->getId();
118 }
119 }
120 $this->setValue($value, true);
121 $this->doUpdate();
122 }
123 }
setValue($value, bool $omit_parsing=false)
Set value for record field.
static _exists(int $id, bool $reference=false, ?string $type=null)
checks if an object exists in object_data
$path
Definition: ltiservices.php:30
has(string $class_name)

References $path, ilDclBaseRecordFieldModel\$value, ilObjMediaObject\_exists(), ilDclBaseRecordFieldModel\doUpdate(), ilDclBaseRecordFieldModel\getField(), ILIAS\GlobalScreen\has(), and ilDclBaseRecordFieldModel\setValue().

+ Here is the call graph for this function:

◆ handleFileUpload()

ilDclMobRecordFieldModel::handleFileUpload ( array  $value,
bool  $has_save_confirmation 
)
protected

Reimplemented from ilDclFileRecordFieldModel.

Definition at line 25 of file class.ilDclMobRecordFieldModel.php.

25 : int
26 {
27 $mob = new ilObjMediaObject();
28 $mob->setTitle($value[self::FILE_NAME]);
29 $mob->create();
30 $mob->createDirectory();
31 $target_file_path = ilObjMediaObject::_getRelativeDirectory($mob->getId());
32
33 if ($has_save_confirmation) {
35 $this->http->wrapper()->post()->retrieve('ilfilehash', $this->refinery->kindlyTo()->string()),
36 'field_' . $this->getField()->getId(),
37 $value[self::FILE_NAME],
38 $value[self::FILE_TYPE]
39 );
40 $this->getField()->getFileSystem()->write($target_file_path . '/' . str_replace(' ', '_', $value[self::FILE_NAME]), file_get_contents($move_file));
41 } else {
42 $this->upload->moveFilesTo(ilObjMediaObject::_getRelativeDirectory($mob->getId()), Location::WEB);
43 }
44
45 $file = $this->getField()->getFileSystem()->listContents(ilObjMediaObject::_getRelativeDirectory($mob->getId()))[0];
46 $format = $this->getField()->getFileSystem()->getMimeType($file->getPath());
47
49 $mob->getId(),
50 'dcl:html',
51 $this->getRecord()->getTable()->getCollectionObject()->getId()
52 );
53 $media_item = new ilMediaItem();
54 $media_item->setPurpose('Standard');
55 $media_item->setFormat($format);
56 $media_item->setLocation(basename($file->getPath()));
57 $media_item->setLocationType('LocalFile');
58 $mob->addMediaItem($media_item);
59
61 $dir = ilObjMediaObject::_getDirectory($mob->getId());
62 ilFFmpeg::extractImage($dir . '/' . basename($file->getPath()), 'mob_vpreview.png', $dir);
63 }
64
65 $mob->update();
66 return $mob->getId();
67 }
static getTempFilename(string $a_hash, string $a_field, string $a_name, string $a_type, ?string $a_index=null, ?string $a_sub_index=null)
static enabled()
Checks, whether FFmpeg support is enabled (path is set in the setup)
static extractImage(string $a_file, string $a_target_filename, string $a_target_dir="", int $a_sec=1)
Extract image from video file.
static supportsImageExtraction(string $a_mime)
Check if mime type supports image extraction.
Class ilMediaItem Media Item, component of a media object (file or reference)
static _getRelativeDirectory(int $a_mob_id)
Get relative (to webspace dir) directory.
static _getDirectory(int $a_mob_id)
Get absolute directory.
static _saveUsage(int $a_mob_id, string $a_type, int $a_id, int $a_usage_hist_nr=0, string $a_lang="-")
Save usage of mob within another container (e.g.
static http()
Fetches the global http state from ILIAS.

References ilDclBaseRecordFieldModel\$value, ilObjMediaObject\_getDirectory(), ilObjMediaObject\_getRelativeDirectory(), ilObjMediaObject\_saveUsage(), ilFFmpeg\enabled(), ilFFmpeg\extractImage(), ilDclBaseRecordFieldModel\getField(), ilDclPropertyFormGUI\getTempFilename(), ILIAS\FileDelivery\http(), ilFFmpeg\supportsImageExtraction(), and ILIAS\Repository\upload().

+ Here is the call graph for this function:

◆ parseExportValue()

ilDclMobRecordFieldModel::parseExportValue (   $value)

Function to parse incoming data from form input value $value.

returns the int|string to store in the database.

Parameters
int | string$value
Returns
int|string

Reimplemented from ilDclFileRecordFieldModel.

Definition at line 74 of file class.ilDclMobRecordFieldModel.php.

75 {
76 $file = $value;
77 if (is_numeric($file)) {
78 $mob = new ilObjMediaObject($file);
79 return $mob->getTitle();
80 }
81
82 return $file;
83 }

References ilDclBaseRecordFieldModel\$value.

◆ parseSortingValue()

ilDclMobRecordFieldModel::parseSortingValue (   $value,
bool  $link = true 
)

Returns sortable value for the specific field-types.

Parameters
int$value

Reimplemented from ilDclFileRecordFieldModel.

Definition at line 89 of file class.ilDclMobRecordFieldModel.php.

89 : string
90 {
91 $mob = new ilObjMediaObject($value);
92
93 return $mob->getTitle();
94 }

References ilDclBaseRecordFieldModel\$value.

◆ removeData()

ilDclMobRecordFieldModel::removeData ( )
protected

Reimplemented from ilDclFileRecordFieldModel.

Definition at line 96 of file class.ilDclMobRecordFieldModel.php.

96 : void
97 {
98 if (ilObjMediaObject::_exists($this->value)) {
99 $mob = new ilObjMediaObject($this->value);
100 $this->getField()->getFileSystem()->deleteDir(ilObjMediaObject::_getRelativeDirectory($mob->getId()));
101 $mob->delete();
102 }
103 }

References ilObjMediaObject\_exists(), ilObjMediaObject\_getRelativeDirectory(), and ilDclBaseRecordFieldModel\getField().

+ Here is the call graph for this function:

The documentation for this class was generated from the following file: