ILIAS  release_7 Revision v7.30-3-g800a261c036
ilDclMobRecordFieldModel Class Reference

Class ilDclMobRecordFieldModel. More...

+ Inheritance diagram for ilDclMobRecordFieldModel:
+ Collaboration diagram for ilDclMobRecordFieldModel:

Public Member Functions

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

Additional Inherited Members

- Protected Member Functions inherited from ilDclBaseRecordFieldModel
 doRead ()
 Read object data from database. More...
 
 loadValue ()
 Load the value. More...
 
- Protected Attributes inherited from ilDclBaseRecordFieldModel
 $id
 
 $field
 
 $record
 
 $record_representation
 
 $field_representation
 
 $value
 
 $user
 
 $ctrl
 
 $db
 
 $lng
 

Detailed Description

Member Function Documentation

◆ addHiddenItemsToConfirmation()

ilDclMobRecordFieldModel::addHiddenItemsToConfirmation ( ilConfirmationGUI $confirmation)
Parameters
ilConfirmationGUI$confirmation

Reimplemented from ilDclBaseRecordFieldModel.

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

141 {
142 if (is_array($this->getValue())) {
143 foreach ($this->getValue() as $key => $value) {
144 $confirmation->addHiddenItem('field_' . $this->field->getId() . '[' . $key . ']', $value);
145 }
146 }
147 }
addHiddenItem($a_post_var, $a_value)
Add hidden item.

References ilDclBaseRecordFieldModel\$value, ilConfirmationGUI\addHiddenItem(), and ilDclBaseRecordFieldModel\getValue().

+ Here is the call graph for this function:

◆ afterClone()

ilDclMobRecordFieldModel::afterClone ( )

Reimplemented from ilDclBaseRecordFieldModel.

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

181 {
185
186 if (!$record_field || !$record_field->getValue()) {
187 return;
188 }
189
190 $mob_old = new ilObjMediaObject($record_field->getValue());
191 $mob_new = $mob_old->duplicate();
192
193 $this->setValue($mob_new->getId(), true);
194 $this->doUpdate();
195 }
setValue($value, $omit_parsing=false)
Set value for record field.
static getRecordFieldCache($record, $field)
static getCloneOf($id, $type)
Class ilObjMediaObject.

References ilDclBaseRecordFieldModel\$field, ilDclBaseRecordFieldModel\$record, ilDclBaseRecordFieldModel\doUpdate(), ilDclCache\getCloneOf(), ilDclBaseRecordFieldModel\getField(), ilDclBaseRecordFieldModel\getId(), ilDclBaseRecordFieldModel\getRecord(), ilDclCache\getRecordFieldCache(), ilDclBaseRecordFieldModel\setValue(), ilDclCache\TYPE_FIELD, and ilDclCache\TYPE_RECORD.

+ Here is the call graph for this function:

◆ parseExportValue()

ilDclMobRecordFieldModel::parseExportValue (   $value)

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

returns the strin/number/etc. to store in the database.

Parameters
mixed$value
Returns
mixed

Reimplemented from ilDclBaseRecordFieldModel.

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

124 {
125 $file = $value;
126 if (is_numeric($file)) {
127 $mob = new ilObjMediaObject($file, false);
128 $mob_name = $mob->getTitle();
129
130 return $mob_name;
131 }
132
133 return $file;
134 }

References ilDclBaseRecordFieldModel\$value.

◆ parseSortingValue()

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

Returns sortable value for the specific field-types.

Parameters
$value
ilDclBaseRecordFieldModel$record_field
bool | true$link
Returns
int|string

Reimplemented from ilDclBaseRecordFieldModel.

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

160 {
161 $mob = new ilObjMediaObject($value, false);
162
163 return $mob->getTitle();
164 }

References ilDclBaseRecordFieldModel\$value.

◆ parseValue()

ilDclMobRecordFieldModel::parseValue (   $value)

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

returns the string/number/etc. to store in the database.

Parameters
$value
Returns
int|string

Reimplemented from ilDclBaseRecordFieldModel.

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

16 {
17 if ($value == -1) { //marked for deletion.
18 return 0;
19 }
20
21 $media = $value;
22 $has_save_confirmation = ($this->getRecord()->getTable()->getSaveConfirmation() && !isset($_GET['record_id']));
23 $is_confirmed = (bool) (isset($_POST['save_confirmed']));
24
25 if (is_array($media) && $media['tmp_name'] != "" && (!$has_save_confirmation || $is_confirmed)) {
26 $mob = new ilObjMediaObject();
27 $mob->setTitle($media['name']);
28 $mob->create();
29 $mob_dir = ilObjMediaObject::_getDirectory($mob->getId());
30 if (!is_dir($mob_dir)) {
31 $mob->createDirectory();
32 }
33 $media_item = new ilMediaItem();
34 $mob->addMediaItem($media_item);
35 $media_item->setPurpose("Standard");
36 $file_name = ilUtil::getASCIIFilename($media['name']);
37 $file_name = str_replace(" ", "_", $file_name);
38 $file = $mob_dir . "/" . $file_name;
39 $title = $file_name;
40 $location = $file_name;
41 if ($has_save_confirmation) {
42 $move_file = ilDclPropertyFormGUI::getTempFilename($_POST['ilfilehash'], 'field_' . $this->getField()->getId(), $media["name"], $media["type"]);
43 ilFileUtils::rename($move_file, $file);
44 } else {
45 ilUtil::moveUploadedFile($media['tmp_name'], $file_name, $file);
46 }
47
49 // Check image/video
51
52 if ($format == 'image/jpeg') {
53 list($width, $height, $type, $attr) = getimagesize($file);
54 $field = $this->getField();
55 $new_width = $field->getProperty(ilDclBaseFieldModel::PROP_WIDTH);
56 $new_height = $field->getProperty(ilDclBaseFieldModel::PROP_HEIGHT);
57 if ($new_width || $new_height) {
58 //only resize if it is bigger, not if it is smaller
59 if ($new_height < $height && $new_width < $width) {
60 //resize proportional
61 if (!$new_height || !$new_width) {
63 $wh
65 $format,
66 "File",
67 $file,
68 "",
69 true,
70 false,
73 );
74 } else {
75 $wh['width'] = (int) $field->getProperty(ilDclBaseFieldModel::PROP_WIDTH);
76 $wh['height'] = (int) $field->getProperty(ilDclBaseFieldModel::PROP_HEIGHT);
77 }
78
79 $location = ilObjMediaObject::_resizeImage($file, $wh['width'], $wh['height'], false);
80 }
81 }
82 }
83
84 ilObjMediaObject::_saveUsage($mob->getId(), "dcl:html", $this->getRecord()->getTable()->getCollectionObject()->getId());
85 $media_item->setFormat($format);
86 $media_item->setLocation($location);
87 $media_item->setLocationType("LocalFile");
88
89 // FSX MediaPreview
91 $med = $mob->getMediaItem("Standard");
92 $mob_file = ilObjMediaObject::_getDirectory($mob->getId()) . "/" . $med->getLocation();
93 $a_target_dir = ilObjMediaObject::_getDirectory($mob->getId());
94 try {
95 $new_file = ilFFmpeg::extractImage($mob_file, "mob_vpreview.png", $a_target_dir, 1);
96 } catch (Exception $e) {
97 ilUtil::sendFailure($e->getMessage(), true);
98 }
99 }
100
101 $mob->update();
102 $return = $mob->getId();
103 // handover for save-confirmation
104 } else {
105 if (is_array($media) && isset($media['tmp_name']) && $media['tmp_name'] != '') {
106 $return = $media;
107 } else {
108 $return = $this->getValue();
109 }
110 }
111
112 return $return;
113 }
$location
Definition: buildRTE.php:44
$_GET["client_id"]
$_POST["username"]
static getTempFilename($a_hash, $a_field, $a_name, $a_type, $a_index=null, $a_sub_index=null)
return temp-filename
static enabled()
Checks, whether FFmpeg support is enabled (path is set in the setup)
static supportsImageExtraction($a_mime)
Check if mime type supports image extraction.
static extractImage( $a_file, $a_target_filename, $a_target_dir="", $a_sec=1)
Extract image from video file.
static rename($a_source, $a_target)
Rename a file.
Class ilMediaItem Media Item, component of a media object (file or reference)
static getMimeType($a_file, $a_external=null)
get mime type for file
static _saveUsage($a_mob_id, $a_type, $a_id, $a_usage_hist_nr=0, $a_lang="-")
Save usage of mob within another container (e.g.
static _getDirectory($a_mob_id)
Get absolute directory.
static _determineWidthHeight( $a_format, $a_type, $a_file, $a_reference, $a_constrain_proportions, $a_use_original, $a_user_width, $a_user_height)
Determine width and height.
static _resizeImage($a_file, $a_width, $a_height, $a_constrain_prop=false)
resize image and return new image file ("_width_height" string appended)
static moveUploadedFile($a_file, $a_name, $a_target, $a_raise_errors=true, $a_mode="move_uploaded")
move uploaded file
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static getASCIIFilename($a_filename)
convert utf8 to ascii filename
static renameExecutables($a_dir)
Rename uploaded executables for security reasons.
$format
Definition: metadata.php:218
$type

References $_GET, $_POST, Vendor\Package\$e, ilDclBaseRecordFieldModel\$field, $format, $location, $type, ilDclBaseRecordFieldModel\$value, ilObjMediaObject\_determineWidthHeight(), ilObjMediaObject\_getDirectory(), ilObjMediaObject\_resizeImage(), ilObjMediaObject\_saveUsage(), ilFFmpeg\enabled(), ilFFmpeg\extractImage(), ilUtil\getASCIIFilename(), ilDclBaseRecordFieldModel\getField(), ilDclBaseRecordFieldModel\getId(), ilObjMediaObject\getMimeType(), ilDclBaseRecordFieldModel\getRecord(), ilDclPropertyFormGUI\getTempFilename(), ilDclBaseRecordFieldModel\getValue(), ilUtil\moveUploadedFile(), ilDclBaseFieldModel\PROP_HEIGHT, ilDclBaseFieldModel\PROP_WIDTH, ilFileUtils\rename(), ilUtil\renameExecutables(), ilUtil\sendFailure(), and ilFFmpeg\supportsImageExtraction().

+ Here is the call graph for this function:

◆ setValueFromForm()

ilDclMobRecordFieldModel::setValueFromForm (   $form)

@inheritDoc

Reimplemented from ilDclBaseRecordFieldModel.

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

171 {
172 $value = $form->getInput("field_" . $this->getField()->getId());
173 if ($form->getItemByPostVar("field_" . $this->getField()->getId())->getDeletionFlag()) {
174 $value = -1;
175 }
176 $this->setValue($value);
177 }

References ilDclBaseRecordFieldModel\$value, ilDclBaseRecordFieldModel\getField(), ilDclBaseRecordFieldModel\getId(), and ilDclBaseRecordFieldModel\setValue().

+ Here is the call graph for this function:

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