2 require_once(
'./Modules/DataCollection/classes/Fields/Reference/class.ilDclReferenceRecordFieldModel.php');
3 require_once(
'./Modules/DataCollection/classes/Fields/Rating/class.ilDclRatingRecordFieldModel.php');
4 require_once(
'./Modules/DataCollection/classes/Fields/IliasReference/class.ilDclIliasReferenceRecordFieldModel.php');
5 require_once(
'./Modules/DataCollection/classes/Fields/Formula/class.ilDclFormulaRecordFieldModel.php');
6 require_once(
'./Modules/DataCollection/classes/Fields/Text/class.ilDclTextRecordFieldModel.php');
7 require_once(
'./Modules/DataCollection/classes/Fields/NReference/class.ilDclNReferenceRecordFieldModel.php');
8 require_once(
'./Modules/DataCollection/classes/Fields/class.ilDclFieldFactory.php');
78 if (!self::$clone_mapping) {
79 self::initCloneMapping();
81 self::$clone_mapping[$type][
$old] =
$new;
85 self::$clone_mapping =
array(
86 self::TYPE_DATACOLLECTION =>
array(),
87 self::TYPE_TABLE =>
array(),
88 self::TYPE_FIELD =>
array(),
89 self::TYPE_RECORD =>
array(),
90 self::TYPE_TABLEVIEW =>
array(),
95 $type_cache = self::$clone_mapping[$type];
96 if (!is_array($type_cache)) {
100 if (isset($type_cache[$id])) {
101 $clone_id = $type_cache[$id];
103 foreach ($type_cache as $key => $mapping) {
104 if ($mapping == $id) {
116 case self::TYPE_DATACOLLECTION:
118 case self::TYPE_FIELD:
119 return self::getFieldCache($clone_id);
120 case self::TYPE_TABLE:
121 return self::getTableCache($clone_id);
122 case self::TYPE_RECORD:
123 return self::getRecordCache($clone_id);
133 if ($table_id == 0) {
182 $fid = $field->getId();
183 $rid = $record->getId();
184 if (!isset(self::$record_field_cache[$rid])) {
185 self::$record_field_cache[$rid] =
array();
187 } elseif (!isset(self::$record_field_cache[$rid][$fid])) {
191 return self::$record_field_cache[$rid][$fid];
202 if(!isset(self::$field_representation_cache[$field->
getId()])) {
205 return self::$field_representation_cache[$field->
getId()];
217 if($record_field == null) {
218 throw new ilDclException(
"Cannot get Representation of null object!");
221 if(!isset(self::$record_representation_cache[$record_field->
getId()])) {
224 return self::$record_representation_cache[$record_field->
getId()];
235 if(!isset(self::$field_properties_cache[$field_id])) {
236 self::$field_properties_cache[$field_id] =
array();
239 self::$field_properties_cache[$field_id][$prop->getName()] = $prop;
242 return self::$field_properties_cache[$field_id];
251 foreach($fields as $field_key => $field) {
252 if(isset(self::$field_properties_cache[$field->getId()])) {
253 unset($fields[$field_key]);
257 if(count($fields) > 0) {
258 $field_ids =
array();
259 foreach ($fields as $field) {
260 $field_ids[] = $field->getId();
264 if(!isset(self::$field_properties_cache[$prop->getFieldId()])) {
265 self::$field_properties_cache[$prop->getFieldId()] =
array();
267 self::$field_properties_cache[$prop->getFieldId()][$prop->getName()] = $prop;
282 if(self::$datatype_cache == NULL) {
286 if(!isset(self::$datatype_cache[$datatyp_id])) {
289 return self::$datatype_cache[$datatyp_id];
304 $field->setId($rec[
"id"]);
305 $field->setTableId($rec[
"table_id"]);
306 $field->setTitle($rec[
"title"]);
307 $field->setDescription($rec[
"description"]);
308 $field->setDatatypeId($rec[
"datatype_id"]);
309 $field->setRequired($rec[
"required"]);
310 $field->setUnique($rec[
"is_unique"]);
311 $field->setLocked($rec[
"is_locked"]);
322 self::$fields_cache =
array();
323 self::$record_field_cache =
array();
324 self::$records_cache =
array();
Class ilDclBaseFieldModel.
static getCloneOf($id, $type)
const TYPE_DATACOLLECTION
static setCloneOf($old, $new, $type)
static $field_representation_cache
Class ilDclBaseFieldModel.
static buildFieldFromRecord($rec)
static getFieldProperties($field_id)
Cache Field properties.
static getAllDatatype()
Get all possible Datatypes.
static preloadFieldProperties(array $fields)
Preloads field properties.
static getFieldCache($field_id=0)
static getFieldRepresentationInstance(ilDclBaseFieldModel $field)
Returns FieldRepresentation from BaseFieldModel.
static initCloneMapping()
static getTableCache($table_id=0)
Class ilDclBaseFieldModel.
static where($where, $operator=null)
static $field_properties_cache
static getRecordFieldInstance(ilDclBaseFieldModel $field, ilDclBaseRecordModel $record)
Creates a RecordField instance and loads the field and record representation.
static resetCache()
Resets all the cache fields.
static getFieldRepresentation(ilDclBaseFieldModel $field)
static getFieldModelInstance($field_id, $datatype=null)
Get FieldModel from field-id and datatype.
static getRecordCache($record_id=0)
static $record_representation_cache
static getRecordRepresentation(ilDclBaseRecordFieldModel $record_field)
Returns a record representation.
Create styles array
The data for the language used.
static getRecordRepresentationInstance(ilDclBaseRecordFieldModel $record_field)
Get RecordRepresentation from RecordFieldModel.
static getFieldModelInstanceByClass(ilDclBaseFieldModel $field, $field_id=null)
Gets the correct instance of a fieldModel class Checks if a field is a plugin a replaces the fieldMod...
static getRecordFieldCache($record, $field)
static getRecordModelInstance($record_id)
Creates a RecordModel instance.
static $record_field_cache
static getDatatype($datatyp_id)
Get cached datatypes.
Class ilObjDataCollection.