ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
ilDclBaseRecordFieldModel Class Reference

Class ilDclBaseFieldModel. More...

+ Inheritance diagram for ilDclBaseRecordFieldModel:
+ Collaboration diagram for ilDclBaseRecordFieldModel:

Public Member Functions

 __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)
 
 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)
 

Protected Member Functions

 doRead ()
 Read object data from database. More...
 
 loadValue ()
 Load the value. More...
 

Protected Attributes

 $id
 
 $field
 
 $record
 
 $record_representation
 
 $field_representation
 
 $value
 
 $user
 
 $ctrl
 
 $db
 
 $lng
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilDclBaseRecordFieldModel::__construct ( ilDclBaseRecordModel  $record,
ilDclBaseFieldModel  $field 
)
Parameters
ilDclBaseRecordModel$record
ilDclBaseFieldModel$field

Definition at line 69 of file class.ilDclBaseRecordFieldModel.php.

References $DIC, $field, $ilCtrl, $ilDB, $ilUser, $lng, $record, doRead(), and user().

70  {
71  global $DIC;
72  $ilCtrl = $DIC['ilCtrl'];
73  $ilUser = $DIC['ilUser'];
74  $ilDB = $DIC['ilDB'];
75  $lng = $DIC['lng'];
76  $this->record = $record;
77  $this->field = $field;
78  $this->ctrl = $ilCtrl;
79  $this->user = $ilUser;
80  $this->db = $ilDB;
81  $this->lng = $lng;
82  $this->doRead();
83  }
global $DIC
Definition: saml.php:7
doRead()
Read object data from database.
user()
Definition: user.php:4
global $ilCtrl
Definition: ilias.php:18
$ilUser
Definition: imgupload.php:18
global $ilDB
+ Here is the call graph for this function:

Member Function Documentation

◆ addHiddenItemsToConfirmation()

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

Definition at line 329 of file class.ilDclBaseRecordFieldModel.php.

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

330  {
331  ;
332  if (!is_array($this->getValue())) {
333  $confirmation->addHiddenItem('field_' . $this->field->getId(), $this->getValue());
334  } else {
335  foreach ($this->getValue() as $key => $value) {
336  $confirmation->addHiddenItem('field_' . $this->field->getId() . "[$key]", $value);
337  }
338  }
339  }
addHiddenItem($a_post_var, $a_value)
Add hidden item.
$key
Definition: croninfo.php:18
+ Here is the call graph for this function:

◆ afterClone()

ilDclBaseRecordFieldModel::afterClone ( )

Definition at line 390 of file class.ilDclBaseRecordFieldModel.php.

391  {
392  }

◆ cloneStructure()

ilDclBaseRecordFieldModel::cloneStructure ( ilDclBaseRecordFieldModel  $old_record_field)
Parameters
ilDclBaseRecordFieldModel$old_record_field

Definition at line 380 of file class.ilDclBaseRecordFieldModel.php.

References doUpdate(), getValue(), and setValue().

381  {
382  $this->setValue($old_record_field->getValue());
383  $this->doUpdate();
384  }
setValue($value, $omit_parsing=false)
Set value for record field.
doUpdate()
Update object in database.
+ Here is the call graph for this function:

◆ delete()

ilDclBaseRecordFieldModel::delete ( )

Delete record field in database.

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

References $query, and getField().

160  {
161  $datatype = $this->getField()->getDatatype();
162  $storage_location = ($this->getField()->getStorageLocationOverride() !== null)? $this->getField()->getStorageLocationOverride() : $datatype->getStorageLocation();
163 
164  if ($storage_location != 0) {
165  $query = "DELETE FROM il_dcl_stloc" . $storage_location . "_value WHERE record_field_id = "
166  . $this->db->quote($this->id, "integer");
167  $this->db->manipulate($query);
168  }
169 
170  $query2 = "DELETE FROM il_dcl_record_field WHERE id = " . $this->db->quote($this->id, "integer");
171  $this->db->manipulate($query2);
172  }
$query
+ Here is the call graph for this function:

◆ deserializeData()

ilDclBaseRecordFieldModel::deserializeData (   $value)

Deserialize data before applying to field.

Parameters
$valuemixed
Returns
mixed

Definition at line 215 of file class.ilDclBaseRecordFieldModel.php.

References $value.

Referenced by loadValue().

216  {
217  $deserialize = json_decode($value, true);
218  if (is_array($deserialize)) {
219  return $deserialize;
220  }
221  return $value;
222  }
+ Here is the caller graph for this function:

◆ doCreate()

ilDclBaseRecordFieldModel::doCreate ( )

Creates an Id and a database entry.

Definition at line 108 of file class.ilDclBaseRecordFieldModel.php.

References $id, $query, getField(), getId(), and getRecord().

Referenced by doUpdate().

109  {
110  $id = $this->db->nextId("il_dcl_record_field");
111  $query = "INSERT INTO il_dcl_record_field (id, record_id, field_id) VALUES (" . $this->db->quote($id, "integer") . ", "
112  . $this->db->quote($this->getRecord()->getId(), "integer") . ", " . $this->db->quote($this->getField()->getId(), "text") . ")";
113  $this->db->manipulate($query);
114  $this->id = $id;
115  }
$query
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ doRead()

ilDclBaseRecordFieldModel::doRead ( )
protected

Read object data from database.

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

References $query, getField(), getId(), getRecord(), and loadValue().

Referenced by __construct().

90  {
91  if (!$this->getRecord()->getId()) {
92  return;
93  }
94 
95  $query = "SELECT * FROM il_dcl_record_field WHERE field_id = " . $this->db->quote($this->getField()->getId(), "integer") . " AND record_id = "
96  . $this->db->quote($this->getRecord()->getId(), "integer");
97  $set = $this->db->query($query);
98  $rec = $this->db->fetchAssoc($set);
99  $this->id = $rec['id'];
100 
101  $this->loadValue();
102  }
$query
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ doUpdate()

ilDclBaseRecordFieldModel::doUpdate ( )

Update object in database.

Definition at line 121 of file class.ilDclBaseRecordFieldModel.php.

References $query, $value, array, doCreate(), getField(), getId(), and serializeData().

Referenced by ilDclFileuploadRecordFieldModel\afterClone(), ilDclReferenceRecordFieldModel\afterClone(), ilDclMobRecordFieldModel\afterClone(), and cloneStructure().

122  {
123  //$this->loadValue(); //Removed Mantis #0011799
124  $datatype = $this->getField()->getDatatype();
125  $storage_location = ($this->getField()->getStorageLocationOverride() !== null)? $this->getField()->getStorageLocationOverride() : $datatype->getStorageLocation();
126 
127  if ($storage_location != 0) {
128  $query = "DELETE FROM il_dcl_stloc" . $storage_location . "_value WHERE record_field_id = "
129  . $this->db->quote($this->id, "integer");
130  $this->db->manipulate($query);
131 
132  $next_id = $this->db->nextId("il_dcl_stloc" . $storage_location . "_value");
133 
134  // This is a workaround to ensure that date values in stloc3 are never stored as NULL, which is not allowed
135  if ($storage_location == 3 && (is_null($this->value) || empty($this->value))) {
136  $this->value = '0000-00-00 00:00:00';
137  }
138 
139  $value = $this->serializeData($this->value);
140 
141  if ($this->getId() == 0) {
142  $this->doCreate();
143  }
144 
145  $insert_params = array(
146  "value" => array( $datatype->getDbType(), $value),
147  "record_field_id" => array( "integer", $this->getId()),
148  "id" => array( "integer", $next_id )
149  );
150 
151  $this->db->insert("il_dcl_stloc" . $storage_location . "_value", $insert_params);
152  }
153  }
doCreate()
Creates an Id and a database entry.
$query
serializeData($value)
Serialize data before storing to db.
Create styles array
The data for the language used.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fillExcelExport()

ilDclBaseRecordFieldModel::fillExcelExport ( ilExcel  $worksheet,
$row,
$col 
)
Parameters
$worksheet
$row
$col

Definition at line 306 of file class.ilDclBaseRecordFieldModel.php.

References $row, getExportValue(), and ilExcel\setCell().

307  {
308  $worksheet->setCell($row, $col, $this->getExportValue());
309  $col++;
310  }
setCell($a_row, $a_col, $a_value, $a_datatype=null)
Set cell value.
+ Here is the call graph for this function:

◆ getExportValue()

ilDclBaseRecordFieldModel::getExportValue ( )
Returns
int|string

Definition at line 296 of file class.ilDclBaseRecordFieldModel.php.

References getValue(), and parseExportValue().

Referenced by ilDclTextSelectionRecordFieldModel\fillExcelExport(), fillExcelExport(), and getPlainText().

297  {
298  return $this->parseExportValue($this->getValue());
299  }
parseExportValue($value)
Function to parse incoming data from form input value $value.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getField()

ilDclBaseRecordFieldModel::getField ( )
Returns
ilDclBaseFieldModel

Definition at line 398 of file class.ilDclBaseRecordFieldModel.php.

References $field.

Referenced by ilDclIliasReferenceRecordFieldModel\__construct(), ilDclRatingRecordFieldModel\__construct(), ilDclFormulaRecordFieldModel\__construct(), ilDclReferenceRecordFieldModel\__construct(), ilDclFileuploadRecordFieldModel\afterClone(), ilDclReferenceRecordFieldModel\afterClone(), ilDclMobRecordFieldModel\afterClone(), ilDclNReferenceFieldGUI\buildTemplate(), ilDclRatingRecordFieldModel\delete(), delete(), doCreate(), doRead(), ilDclNReferenceRecordFieldModel\doUpdate(), doUpdate(), ilDclTextRecordFieldModel\fillExcelExport(), ilDclReferenceRecordFieldModel\getExportValue(), ilDclRatingRecordFieldModel\getExportValue(), ilDclTextRecordFieldModel\getExportValue(), ilDclNReferenceRecordFieldModel\getExportValue(), ilDclNReferenceRecordFieldModel\getLinkHTML(), ilDclSelectionRecordFieldModel\getMultipleValuesFromString(), ilDclFieldFactory\getRecordRepresentationInstance(), ilDclReferenceRecordFieldModel\getReferenceFromValue(), ilDclSelectionRecordFieldModel\getValue(), ilDclRatingRecordFieldModel\getValue(), ilDclSelectionRecordFieldModel\getValueFromExcel(), ilDclReferenceRecordFieldModel\getValueFromExcel(), ilDclTextRecordFieldModel\getValueFromExcel(), ilDclNReferenceRecordFieldModel\loadValue(), loadValue(), ilDclNReferenceRecordFieldModel\loadValueSorted(), ilDclFormulaRecordFieldModel\parse(), ilDclSelectionRecordFieldModel\parseExportValue(), ilDclTextRecordFieldModel\parseSortingValue(), ilDclMobRecordFieldModel\parseValue(), ilDclFileuploadRecordFieldModel\parseValue(), ilDclTextRecordFieldModel\parseValue(), ilDclTextRecordFieldModel\setValueFromForm(), ilDclFileuploadRecordFieldModel\setValueFromForm(), ilDclMobRecordFieldModel\setValueFromForm(), and setValueFromForm().

+ Here is the caller graph for this function:

◆ getFieldRepresentation()

ilDclBaseRecordFieldModel::getFieldRepresentation ( )

◆ getId()

◆ getPlainText()

ilDclBaseRecordFieldModel::getPlainText ( )
Returns
mixed used for the sorting.

Definition at line 315 of file class.ilDclBaseRecordFieldModel.php.

References getExportValue().

316  {
317  return $this->getExportValue();
318  }
+ Here is the call graph for this function:

◆ getRecord()

◆ getRecordRepresentation()

ilDclBaseRecordFieldModel::getRecordRepresentation ( )

◆ getSortingValue()

ilDclBaseRecordFieldModel::getSortingValue (   $link = true)

Definition at line 320 of file class.ilDclBaseRecordFieldModel.php.

References getValue(), and parseSortingValue().

321  {
322  return $this->parseSortingValue($this->getValue(), $this, $link);
323  }
parseSortingValue($value, $link=true)
Returns sortable value for the specific field-types.
+ Here is the call graph for this function:

◆ getValue()

◆ getValueForRepresentation()

ilDclBaseRecordFieldModel::getValueForRepresentation ( )
Returns
array|string

Definition at line 189 of file class.ilDclBaseRecordFieldModel.php.

References getValue().

190  {
191  return $this->getValue();
192  }
+ Here is the call graph for this function:

◆ getValueFromExcel()

ilDclBaseRecordFieldModel::getValueFromExcel (   $excel,
  $row,
  $col 
)
Parameters
$excel
$row
$col
Returns
array|string

Definition at line 273 of file class.ilDclBaseRecordFieldModel.php.

References $row, and $value.

274  {
275  $value = $excel->getCell($row, $col);
276 
277  return $value;
278  }

◆ loadValue()

ilDclBaseRecordFieldModel::loadValue ( )
protected

Load the value.

Definition at line 358 of file class.ilDclBaseRecordFieldModel.php.

References $query, $value, deserializeData(), and getField().

Referenced by doRead(), getValue(), ilDclFileuploadRecordFieldModel\setValue(), and setValue().

359  {
360  if ($this->value === null) {
361  $datatype = $this->getField()->getDatatype();
362 
363  $storage_location = ($this->getField()->getStorageLocationOverride() !== null)? $this->getField()->getStorageLocationOverride() : $datatype->getStorageLocation();
364  if ($storage_location != 0) {
365  $query = "SELECT * FROM il_dcl_stloc" . $storage_location . "_value WHERE record_field_id = "
366  . $this->db->quote($this->id, "integer");
367 
368  $set = $this->db->query($query);
369  $rec = $this->db->fetchAssoc($set);
370  $value = $this->deserializeData($rec['value']);
371  $this->value = $value;
372  }
373  }
374  }
deserializeData($value)
Deserialize data before applying to field.
$query
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parseExportValue()

ilDclBaseRecordFieldModel::parseExportValue (   $value)

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

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

Parameters
mixed$value
Returns
mixed

Definition at line 262 of file class.ilDclBaseRecordFieldModel.php.

References $value.

Referenced by getExportValue().

+ Here is the caller graph for this function:

◆ parseSortingValue()

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

Returns sortable value for the specific field-types.

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

Definition at line 350 of file class.ilDclBaseRecordFieldModel.php.

References $value.

Referenced by getSortingValue().

+ Here is the caller graph for this function:

◆ parseValue()

ilDclBaseRecordFieldModel::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

Definition at line 287 of file class.ilDclBaseRecordFieldModel.php.

References $value.

Referenced by setValue().

+ Here is the caller graph for this function:

◆ serializeData()

ilDclBaseRecordFieldModel::serializeData (   $value)

Serialize data before storing to db.

Parameters
$valuemixed
Returns
mixed

Definition at line 200 of file class.ilDclBaseRecordFieldModel.php.

References $value.

Referenced by doUpdate().

201  {
202  if (is_array($value)) {
203  $value = json_encode($value);
204  }
205  return $value;
206  }
+ Here is the caller graph for this function:

◆ setFieldRepresentation()

ilDclBaseRecordFieldModel::setFieldRepresentation (   $field_representation)
Parameters
ilDclBaseFieldRepresentation$field_representation

Definition at line 451 of file class.ilDclBaseRecordFieldModel.php.

References $field_representation.

452  {
453  $this->field_representation = $field_representation;
454  }

◆ setRecordRepresentation()

ilDclBaseRecordFieldModel::setRecordRepresentation (   $record_representation)
Parameters
ilDclBaseRecordRepresentation$record_representation

Definition at line 433 of file class.ilDclBaseRecordFieldModel.php.

References $record_representation.

434  {
435  $this->record_representation = $record_representation;
436  }

◆ setValue()

ilDclBaseRecordFieldModel::setValue (   $value,
  $omit_parsing = false 
)

Set value for record field.

Parameters
mixed$value
bool$omit_parsingIf true, does not parse the value and stores it in the given format

Definition at line 230 of file class.ilDclBaseRecordFieldModel.php.

References $old, $value, loadValue(), and parseValue().

Referenced by ilDclReferenceRecordFieldModel\afterClone(), ilDclMobRecordFieldModel\afterClone(), ilDclNReferenceFieldGUI\buildTemplate(), cloneStructure(), ilDclTextRecordFieldModel\setValueFromForm(), ilDclMobRecordFieldModel\setValueFromForm(), and setValueFromForm().

231  {
232  $this->loadValue();
233  if (!$omit_parsing) {
234  $tmp = $this->parseValue($value, $this);
235  $old = $this->value;
236  //if parse value fails keep the old value
237  if ($tmp !== false) {
238  $this->value = $tmp;
239  }
240  } else {
241  $this->value = $value;
242  }
243  }
parseValue($value)
Function to parse incoming data from form input value $value.
$old
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setValueFromForm()

ilDclBaseRecordFieldModel::setValueFromForm (   $form)
Parameters
$formilPropertyFormGUI

Definition at line 248 of file class.ilDclBaseRecordFieldModel.php.

References $form, $value, getField(), getId(), and setValue().

249  {
250  $value = $form->getInput("field_" . $this->getField()->getId());
251 
252  $this->setValue($value);
253  }
setValue($value, $omit_parsing=false)
Set value for record field.
if(isset($_POST['submit'])) $form
+ Here is the call graph for this function:

Field Documentation

◆ $ctrl

ilDclBaseRecordFieldModel::$ctrl
protected

Definition at line 54 of file class.ilDclBaseRecordFieldModel.php.

◆ $db

ilDclBaseRecordFieldModel::$db
protected

Definition at line 58 of file class.ilDclBaseRecordFieldModel.php.

◆ $field

◆ $field_representation

ilDclBaseRecordFieldModel::$field_representation
protected

◆ $id

ilDclBaseRecordFieldModel::$id
protected

Definition at line 24 of file class.ilDclBaseRecordFieldModel.php.

Referenced by doCreate(), and getId().

◆ $lng

◆ $record

◆ $record_representation

ilDclBaseRecordFieldModel::$record_representation
protected

◆ $user

ilDclBaseRecordFieldModel::$user
protected

Definition at line 50 of file class.ilDclBaseRecordFieldModel.php.

◆ $value

ilDclBaseRecordFieldModel::$value
protected

Definition at line 46 of file class.ilDclBaseRecordFieldModel.php.

Referenced by ilDclTextRecordFieldModel\addHiddenItemsToConfirmation(), ilDclFileuploadRecordFieldModel\addHiddenItemsToConfirmation(), ilDclMobRecordFieldModel\addHiddenItemsToConfirmation(), addHiddenItemsToConfirmation(), deserializeData(), ilDclNReferenceRecordFieldModel\doUpdate(), doUpdate(), ilDclTextRecordFieldModel\fillExcelExport(), ilDclReferenceRecordFieldModel\getExportValue(), ilDclTextRecordFieldModel\getExportValue(), ilDclNReferenceRecordFieldModel\getExportValue(), ilDclNReferenceRecordFieldModel\getLinkHTML(), ilDclTextRecordFieldModel\getPlainText(), ilDclReferenceRecordFieldModel\getReferenceFromValue(), ilDclSelectionRecordFieldModel\getValue(), ilDclNReferenceRecordFieldModel\getValue(), getValue(), ilDclDatetimeRecordFieldModel\getValueFromExcel(), ilDclReferenceRecordFieldModel\getValueFromExcel(), ilDclTextRecordFieldModel\getValueFromExcel(), getValueFromExcel(), loadValue(), ilDclBooleanRecordFieldModel\parseExportValue(), ilDclDatetimeRecordFieldModel\parseExportValue(), ilDclSelectionRecordFieldModel\parseExportValue(), ilDclFileuploadRecordFieldModel\parseExportValue(), ilDclMobRecordFieldModel\parseExportValue(), parseExportValue(), ilDclDatetimeRecordFieldModel\parseSortingValue(), ilDclFileuploadRecordFieldModel\parseSortingValue(), ilDclTextRecordFieldModel\parseSortingValue(), ilDclMobRecordFieldModel\parseSortingValue(), parseSortingValue(), ilDclMobRecordFieldModel\parseValue(), ilDclNumberRecordFieldModel\parseValue(), ilDclFileuploadRecordFieldModel\parseValue(), ilDclBooleanRecordFieldModel\parseValue(), ilDclDatetimeRecordFieldModel\parseValue(), ilDclTextRecordFieldModel\parseValue(), parseValue(), serializeData(), ilDclFormulaRecordFieldModel\setValue(), ilDclFileuploadRecordFieldModel\setValue(), setValue(), ilDclTextRecordFieldModel\setValueFromForm(), ilDclFileuploadRecordFieldModel\setValueFromForm(), ilDclMobRecordFieldModel\setValueFromForm(), and setValueFromForm().


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