ILIAS  release_4-4 Revision
All Data Structures Namespaces Files Functions Variables Modules Pages
ilAdvancedMDFieldDefinition Class Reference
+ Collaboration diagram for ilAdvancedMDFieldDefinition:

Public Member Functions

 __construct ($a_field_id=0)
 public More...
 
 isDeleted ()
 is deleted More...
 
 setRecordId ($a_id)
 set record id More...
 
 getRecordId ()
 get record id More...
 
 getFieldId ()
 get field_id More...
 
 setImportId ($a_id_string)
 set import id More...
 
 getImportId ()
 get import_id More...
 
 setPosition ($a_pos)
 set position More...
 
 getPosition ()
 get position More...
 
 setFieldType ($a_type_id)
 set field type More...
 
 getFieldType ()
 get field type More...
 
 setFieldValues ($a_values)
 set field values More...
 
 appendFieldValue ($a_value)
 Append field value. More...
 
 getFieldValues ()
 get field values More...
 
 getFieldValuesForSelect ()
 get field values for select More...
 
 getFieldValuesForSearch ()
 get field values for select More...
 
 setTitle ($a_title)
 set title More...
 
 getTitle ()
 get title More...
 
 setDescription ($a_desc)
 set description More...
 
 getDescription ()
 get description More...
 
 enableSearchable ($a_status)
 enable searchable More...
 
 isSearchable ()
 is searchable More...
 
 isRequired ()
 is required field More...
 
 delete ()
 delete field More...
 
 add ()
 add new field More...
 
 validate ()
 validate More...
 
 update ()
 update More...
 
 toXML (ilXmlWriter $writer)
 To Xml. More...
 

Static Public Member Functions

static _lookupImportId ($a_field_id)
 Lookup import id. More...
 
static _lookupFieldId ($a_import_id)
 Lookup field id. More...
 
static _lookupFieldType ($a_field_id)
 Lookup field type. More...
 
static _lookupDateTimeFields ()
 Lookup datetime fields. More...
 
static _lookupDateFields ()
 Lookup date fields. More...
 
static _getInstanceByFieldId ($a_field_id)
 Get instance by field_id. More...
 
static _getDefinitionsByRecordId ($a_record_id)
 get definitions More...
 
static _getActiveDefinitionsByObjType ($a_type)
 get active definitions by obj type More...
 
static _getSearchableDefinitionIds ()
 Get searchable definition ids. More...
 
static _deleteByRecordId ($a_record_id)
 Delete all fields by record_id. More...
 

Data Fields

const TYPE_SELECT = 1
 
const TYPE_TEXT = 2
 
const TYPE_DATE = 3
 
const TYPE_DATETIME = 4
 

Protected Member Functions

 generateImportId ()
 generate unique record id More...
 

Protected Attributes

 $db = null
 
 $record_id
 
 $field_id
 
 $import_id
 
 $position
 
 $field_type
 
 $field_values = array()
 
 $title
 
 $description
 
 $searchable
 
 $required = false
 

Private Member Functions

 read ()
 read field definition More...
 
 getLastPosition ()
 get last position of record More...
 

Static Private Attributes

static $instances = array()
 

Detailed Description

Author
Stefan Meyer meyer.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Version
$Id$

Definition at line 31 of file class.ilAdvancedMDFieldDefinition.php.

Constructor & Destructor Documentation

◆ __construct()

ilAdvancedMDFieldDefinition::__construct (   $a_field_id = 0)

public

Parameters

Definition at line 59 of file class.ilAdvancedMDFieldDefinition.php.

References read().

60  {
61  global $ilDB;
62 
63  $this->db = $ilDB;
64 
65  $this->field_id = $a_field_id;
66  $this->read();
67  }
+ Here is the call graph for this function:

Member Function Documentation

◆ _deleteByRecordId()

static ilAdvancedMDFieldDefinition::_deleteByRecordId (   $a_record_id)
static

Delete all fields by record_id.

public

Parameters
intrecord_id

Definition at line 274 of file class.ilAdvancedMDFieldDefinition.php.

References $query, $res, $row, ilAdvancedMDValues\_deleteByFieldId(), and DB_FETCHMODE_OBJECT.

Referenced by ilAdvancedMDRecord\_delete().

275  {
276  global $ilDB;
277 
278  $query = "SELECT field_id FROM adv_mdf_definition ".
279  "WHERE record_id = ".$ilDB->quote($a_record_id ,'integer');
280  $res = $ilDB->query($query);
281  while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
282  {
283  // Delete values
284  include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDValues.php');
286  }
287 
288  // Delete definitions
289  $query = "DELETE FROM adv_mdf_definition ".
290  "WHERE record_id = ".$ilDB->quote($a_record_id,'integer')." ";
291  $res = $ilDB->manipulate($query);
292  }
static _deleteByFieldId($a_field_id)
Delete values by field_id.
const DB_FETCHMODE_OBJECT
Definition: class.ilDB.php:11
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _getActiveDefinitionsByObjType()

static ilAdvancedMDFieldDefinition::_getActiveDefinitionsByObjType (   $a_type)
static

get active definitions by obj type

public

Parameters
stringobj_type

Definition at line 225 of file class.ilAdvancedMDFieldDefinition.php.

References $query, $res, $row, and DB_FETCHMODE_OBJECT.

Referenced by ilAdvancedMDValues\_cloneValues(), ilECSSettingsGUI\exportMappings(), ilECSSettingsGUI\importMappings(), ilAdvancedMDSettingsGUI\initFormSubstitutions(), and ilECSSettingsGUI\initMappingsForm().

226  {
227  global $ilDB;
228 
229  $query = "SELECT field_id FROM adv_md_record_objs aro ".
230  "JOIN adv_md_record amr ON aro.record_id = amr.record_id ".
231  "JOIN adv_mdf_definition amf ON aro.record_id = amf.record_id ".
232  "WHERE active = 1 ".
233  "AND obj_type = ".$ilDB->quote($a_type,'text')." ".
234  "ORDER BY aro.record_id,position ";
235  $res = $ilDB->query($query);
236  while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
237  {
238  $field_ids[] = $row->field_id;
239  }
240  return $field_ids ? $field_ids : array();
241  }
const DB_FETCHMODE_OBJECT
Definition: class.ilDB.php:11
+ Here is the caller graph for this function:

◆ _getDefinitionsByRecordId()

static ilAdvancedMDFieldDefinition::_getDefinitionsByRecordId (   $a_record_id)
static

get definitions

public

Parameters
intrecord_id
Returns
array array(object) field definition objects

Definition at line 201 of file class.ilAdvancedMDFieldDefinition.php.

References $query, $res, $row, and DB_FETCHMODE_OBJECT.

Referenced by ilAdvancedMDSettingsGUI\editRecord(), ilAdvancedMDRecordTableGUI\fillRow(), ilGlossaryAdvMetaDataAdapter\getAllFields(), ilLuceneAdvancedSearchFields\getFields(), ilAdvancedMetaDataExporter\getXmlRepresentation(), ilAdvancedMDRecordGUI\parseEditor(), ilAdvancedMDRecordGUI\parseFilter(), ilAdvancedMDRecordGUI\parseInfoPage(), ilAdvancedMDRecordGUI\parseSearch(), ilAdvancedMDRecordGUI\parseTableCells(), ilAdvancedMDRecordGUI\parseTableHead(), and ilAdvancedMDRecord\toXML().

202  {
203  global $ilDB;
204 
205  $query = "SELECT field_id FROM adv_mdf_definition ".
206  "WHERE record_id = ".$ilDB->quote($a_record_id ,'integer')." ".
207  "ORDER BY position ";
208  $res = $ilDB->query($query);
209  $defs = array();
210  while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
211  {
212  $defs[] = self::_getInstanceByFieldId($row->field_id);
213  }
214  return $defs ? $defs : array();
215  }
const DB_FETCHMODE_OBJECT
Definition: class.ilDB.php:11
+ Here is the caller graph for this function:

◆ _getInstanceByFieldId()

◆ _getSearchableDefinitionIds()

static ilAdvancedMDFieldDefinition::_getSearchableDefinitionIds ( )
static

Get searchable definition ids.

public

Definition at line 249 of file class.ilAdvancedMDFieldDefinition.php.

References $query, $res, $row, and DB_FETCHMODE_OBJECT.

Referenced by ilAdvancedSearchGUI\setSubTabs().

250  {
251  global $ilDB;
252 
253  $query = "SELECT field_id FROM adv_md_record amr ".
254  "JOIN adv_mdf_definition amfd ON amr.record_id = amfd.record_id ".
255  "WHERE active = 1 ".
256  "AND searchable = 1";
257  $res = $ilDB->query($query);
258  while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
259  {
260  $field_ids[] = $row->field_id;
261  }
262  return $field_ids ? $field_ids : array();
263  }
const DB_FETCHMODE_OBJECT
Definition: class.ilDB.php:11
+ Here is the caller graph for this function:

◆ _lookupDateFields()

static ilAdvancedMDFieldDefinition::_lookupDateFields ( )
static

Lookup date fields.

public

Definition at line 158 of file class.ilAdvancedMDFieldDefinition.php.

References $query, $res, $row, and DB_FETCHMODE_OBJECT.

Referenced by ilAdvancedMDSubstitution\read().

159  {
160  global $ilDB;
161 
162  $query = "SELECT field_id FROM adv_mdf_definition ".
163  "WHERE field_type = ".$ilDB->quote(self::TYPE_DATE ,'integer')." ";
164  $res = $ilDB->query($query);
165 
166  $date_fields = array();
167  while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
168  {
169  $date_fields[] = $row->field_id;
170  }
171  return $date_fields;
172  }
const DB_FETCHMODE_OBJECT
Definition: class.ilDB.php:11
+ Here is the caller graph for this function:

◆ _lookupDateTimeFields()

static ilAdvancedMDFieldDefinition::_lookupDateTimeFields ( )
static

Lookup datetime fields.

public

Parameters

Definition at line 135 of file class.ilAdvancedMDFieldDefinition.php.

References $query, $res, $row, and DB_FETCHMODE_OBJECT.

136  {
137  global $ilDB;
138 
139  $query = "SELECT field_id FROM adv_mdf_definition ".
140  "WHERE field_type = ".$ilDB->quote(self::TYPE_DATETIME ,'integer')." ";
141  $res = $ilDB->query($query);
142 
143  $date_fields = array();
144  while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
145  {
146  $date_fields[] = $row->field_id;
147  }
148  return $date_fields;
149  }
const DB_FETCHMODE_OBJECT
Definition: class.ilDB.php:11

◆ _lookupFieldId()

static ilAdvancedMDFieldDefinition::_lookupFieldId (   $a_import_id)
static

Lookup field id.

public

Parameters
stringimport_id

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

References $query, $res, $row, and DB_FETCHMODE_ASSOC.

Referenced by ilAdvancedMDParser\initValue(), and ilAdvancedMDValueParser\initValue().

97  {
98  global $ilDB;
99 
100  $query = "SELECT field_id FROM adv_mdf_definition ".
101  "WHERE import_id = ".$ilDB->quote($a_import_id,'text')." ";
102  $res = $ilDB->query($query);
103  $row = $res->fetchRow(DB_FETCHMODE_ASSOC);
104  return $row['field_id'] ? $row['field_id'] : 0;
105  }
const DB_FETCHMODE_ASSOC
Definition: class.ilDB.php:10
+ Here is the caller graph for this function:

◆ _lookupFieldType()

static ilAdvancedMDFieldDefinition::_lookupFieldType (   $a_field_id)
static

Lookup field type.

public

Parameters
intfield_id

Definition at line 115 of file class.ilAdvancedMDFieldDefinition.php.

References $query, $res, $row, and DB_FETCHMODE_ASSOC.

Referenced by ilRemoteObjectBase\importMetadataFromJson(), and ilAdvancedMDValues\queryForRecords().

116  {
117  global $ilDB;
118 
119  $query = "SELECT field_type FROM adv_mdf_definition ".
120  "WHERE field_id = ".$ilDB->quote($a_field_id ,'integer')." ";
121  $res = $ilDB->query($query);
122  $row = $res->fetchRow(DB_FETCHMODE_ASSOC);
123  return $row['field_type'] ? $row['field_type'] : 0;
124  }
const DB_FETCHMODE_ASSOC
Definition: class.ilDB.php:10
+ Here is the caller graph for this function:

◆ _lookupImportId()

static ilAdvancedMDFieldDefinition::_lookupImportId (   $a_field_id)
static

Lookup import id.

public

Parameters
intfield_id

Definition at line 77 of file class.ilAdvancedMDFieldDefinition.php.

References $query, $res, $row, and DB_FETCHMODE_ASSOC.

Referenced by ilAdvancedMDValue\appendXML(), and ilAdvancedMetaDataExporter\getXmlRepresentation().

78  {
79  global $ilDB;
80 
81  $query = "SELECT import_id FROM adv_mdf_definition ".
82  "WHERE field_id = ".$ilDB->quote($a_field_id,'integer')." ";
83  $res = $ilDB->query($query);
84  $row = $res->fetchRow(DB_FETCHMODE_ASSOC);
85  return $row['import_id'] ? $row['import_id'] : '';
86  }
const DB_FETCHMODE_ASSOC
Definition: class.ilDB.php:10
+ Here is the caller graph for this function:

◆ add()

ilAdvancedMDFieldDefinition::add ( )

add new field

public

Definition at line 587 of file class.ilAdvancedMDFieldDefinition.php.

References $position, $query, $res, generateImportId(), getDescription(), getFieldType(), getFieldValues(), getImportId(), getLastPosition(), getRecordId(), getTitle(), isRequired(), and isSearchable().

588  {
589  global $ilDB;
590 
591  sort($values = $this->getFieldValues(),SORT_STRING);
592 
593  $position = $this->getLastPosition();
594  $next_id = $ilDB->nextId('adv_mdf_definition');
595 
596  $query = "INSERT INTO adv_mdf_definition (field_id,record_id,import_id,position,field_type, ".
597  "field_values,title,description,searchable,required) ".
598  "VALUES( ".
599  $ilDB->quote($next_id,'integer').",".
600  $this->db->quote($this->getRecordId(),'integer').", ".
601  $this->db->quote($this->getImportId(),'text').", ".
602  $this->db->quote($position + 1 ,'integer').", ".
603  $this->db->quote($this->getFieldType() ,'integer').", ".
604  $ilDB->quote(serialize($values),'text').", ".
605  $this->db->quote($this->getTitle() ,'text').", ".
606  $this->db->quote($this->getDescription() ,'text').", ".
607  $ilDB->quote($this->isSearchable(),'integer').", ".
608  $ilDB->quote($this->isRequired(),'integer')." ".
609  ")";
610  $res = $ilDB->manipulate($query);
611  $this->field_id = $next_id;
612 
613  if(!strlen($this->getImportId()))
614  {
615  $query = "UPDATE adv_mdf_definition ".
616  "SET import_id = ".$this->db->quote($this->generateImportId(),'text')." ".
617  "WHERE field_id = ".$this->db->quote($this->field_id,'integer')." ";
618  $res = $ilDB->manipulate($query);
619  }
620  return true;
621  }
getLastPosition()
get last position of record
+ Here is the call graph for this function:

◆ appendFieldValue()

ilAdvancedMDFieldDefinition::appendFieldValue (   $a_value)

Append field value.

public

Parameters
stringvalue

Definition at line 430 of file class.ilAdvancedMDFieldDefinition.php.

431  {
432  if(strlen(trim($a_value)))
433  {
434  $this->field_values[] = trim($a_value);
435  }
436  }

◆ delete()

ilAdvancedMDFieldDefinition::delete ( )

delete field

public

Definition at line 568 of file class.ilAdvancedMDFieldDefinition.php.

References $query, $res, ilAdvancedMDValues\_deleteByFieldId(), and getFieldId().

569  {
570  global $ilDB;
571 
572  $query = "DELETE FROM adv_mdf_definition ".
573  "WHERE field_id = ".$this->db->quote($this->getFieldId() ,'integer')." ";
574  $res = $ilDB->manipulate($query);
575 
576  // Also delete all values
577  include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDValues.php');
579  return true;
580  }
static _deleteByFieldId($a_field_id)
Delete values by field_id.
+ Here is the call graph for this function:

◆ enableSearchable()

ilAdvancedMDFieldDefinition::enableSearchable (   $a_status)

enable searchable

public

Parameters
boolsearchable

Definition at line 536 of file class.ilAdvancedMDFieldDefinition.php.

537  {
538  $this->searchable = (bool) $a_status;
539  }

◆ generateImportId()

ilAdvancedMDFieldDefinition::generateImportId ( )
protected

generate unique record id

protected

Returns

Definition at line 773 of file class.ilAdvancedMDFieldDefinition.php.

References getFieldId().

Referenced by add(), and toXML().

774  {
775  return 'il_'.IL_INST_ID.'_adv_md_field_'.$this->getFieldId();
776  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getDescription()

ilAdvancedMDFieldDefinition::getDescription ( )

get description

public

Definition at line 524 of file class.ilAdvancedMDFieldDefinition.php.

References $description.

Referenced by add(), toXML(), and update().

+ Here is the caller graph for this function:

◆ getFieldId()

ilAdvancedMDFieldDefinition::getFieldId ( )

get field_id

public

Parameters

Definition at line 336 of file class.ilAdvancedMDFieldDefinition.php.

References $field_id.

Referenced by delete(), generateImportId(), read(), and update().

+ Here is the caller graph for this function:

◆ getFieldType()

ilAdvancedMDFieldDefinition::getFieldType ( )

get field type

public

Definition at line 406 of file class.ilAdvancedMDFieldDefinition.php.

References $field_type.

Referenced by add(), toXML(), update(), and validate().

+ Here is the caller graph for this function:

◆ getFieldValues()

ilAdvancedMDFieldDefinition::getFieldValues ( )

get field values

public

Definition at line 444 of file class.ilAdvancedMDFieldDefinition.php.

References $field_values.

Referenced by add(), toXML(), and update().

+ Here is the caller graph for this function:

◆ getFieldValuesForSearch()

ilAdvancedMDFieldDefinition::getFieldValuesForSearch ( )

get field values for select

public

Definition at line 473 of file class.ilAdvancedMDFieldDefinition.php.

References $lng.

474  {
475  global $lng;
476 
477  $values = array(0 => $lng->txt('search_any'));
478  foreach($this->field_values as $value)
479  {
480  $values[$value] = $value;
481  }
482  return $values;
483  }
global $lng
Definition: privfeed.php:40

◆ getFieldValuesForSelect()

ilAdvancedMDFieldDefinition::getFieldValuesForSelect ( )

get field values for select

public

Definition at line 455 of file class.ilAdvancedMDFieldDefinition.php.

References $lng.

456  {
457  global $lng;
458 
459  $values = array(0 => $lng->txt('select_one'));
460  foreach($this->field_values as $value)
461  {
462  $values[$value] = $value;
463  }
464  return $values;
465  }
global $lng
Definition: privfeed.php:40

◆ getImportId()

ilAdvancedMDFieldDefinition::getImportId ( )

get import_id

public

Definition at line 359 of file class.ilAdvancedMDFieldDefinition.php.

References $import_id.

Referenced by add(), and update().

+ Here is the caller graph for this function:

◆ getLastPosition()

ilAdvancedMDFieldDefinition::getLastPosition ( )
private

get last position of record

private

Definition at line 755 of file class.ilAdvancedMDFieldDefinition.php.

References $query, $res, $row, DB_FETCHMODE_OBJECT, and getRecordId().

Referenced by add().

756  {
757  $query = "SELECT max(position) pos FROM adv_mdf_definition ".
758  "WHERE record_id = ".$this->db->quote($this->getRecordId() ,'integer')." ";
759  $res = $this->db->query($query);
760  while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
761  {
762  return $row->pos;
763  }
764  return 0;
765  }
const DB_FETCHMODE_OBJECT
Definition: class.ilDB.php:11
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getPosition()

ilAdvancedMDFieldDefinition::getPosition ( )

get position

public

Parameters

Definition at line 383 of file class.ilAdvancedMDFieldDefinition.php.

References $position.

Referenced by toXML(), and update().

+ Here is the caller graph for this function:

◆ getRecordId()

ilAdvancedMDFieldDefinition::getRecordId ( )

get record id

public

Definition at line 324 of file class.ilAdvancedMDFieldDefinition.php.

References $record_id.

Referenced by add(), getLastPosition(), and update().

+ Here is the caller graph for this function:

◆ getTitle()

ilAdvancedMDFieldDefinition::getTitle ( )

get title

public

Definition at line 502 of file class.ilAdvancedMDFieldDefinition.php.

References $title.

Referenced by add(), toXML(), update(), and validate().

+ Here is the caller graph for this function:

◆ isDeleted()

ilAdvancedMDFieldDefinition::isDeleted ( )

is deleted

public

Parameters

Definition at line 301 of file class.ilAdvancedMDFieldDefinition.php.

302  {
303  return $this->record_id ? false : true;
304  }

◆ isRequired()

ilAdvancedMDFieldDefinition::isRequired ( )

is required field

public

Definition at line 558 of file class.ilAdvancedMDFieldDefinition.php.

References $required.

Referenced by add(), and update().

+ Here is the caller graph for this function:

◆ isSearchable()

ilAdvancedMDFieldDefinition::isSearchable ( )

is searchable

public

Definition at line 547 of file class.ilAdvancedMDFieldDefinition.php.

References $searchable.

Referenced by add(), toXML(), and update().

+ Here is the caller graph for this function:

◆ read()

ilAdvancedMDFieldDefinition::read ( )
private

read field definition

private

Definition at line 724 of file class.ilAdvancedMDFieldDefinition.php.

References $query, $res, $row, DB_FETCHMODE_OBJECT, and getFieldId().

Referenced by __construct().

725  {
726  global $ilDB;
727 
728  if(!$this->field_id)
729  {
730  return false;
731  }
732  $query = "SELECT * FROM adv_mdf_definition ".
733  "WHERE field_id = ".$this->db->quote($this->getFieldId() ,'integer')." ";
734  $res = $this->db->query($query);
735  while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
736  {
737  $this->record_id = $row->record_id;
738  $this->import_id = $row->import_id;
739  $this->position = $row->position;
740  $this->field_type = $row->field_type;
741  $this->field_values = unserialize(stripslashes($row->field_values));
742  $this->title = $row->title;
743  $this->description = $row->description;
744  $this->searchable = $row->searchable;
745  $this->required = $row->required;
746  }
747  }
const DB_FETCHMODE_OBJECT
Definition: class.ilDB.php:11
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setDescription()

ilAdvancedMDFieldDefinition::setDescription (   $a_desc)

set description

public

Parameters
stringdescription

Definition at line 514 of file class.ilAdvancedMDFieldDefinition.php.

515  {
516  $this->description = $a_desc;
517  }

◆ setFieldType()

ilAdvancedMDFieldDefinition::setFieldType (   $a_type_id)

set field type

public

Parameters
intfield type

Definition at line 395 of file class.ilAdvancedMDFieldDefinition.php.

396  {
397  $this->field_type = $a_type_id;
398  }

◆ setFieldValues()

ilAdvancedMDFieldDefinition::setFieldValues (   $a_values)

set field values

public

Parameters
arrayarray(string) valid field values

Definition at line 418 of file class.ilAdvancedMDFieldDefinition.php.

419  {
420  $this->field_values = $a_values;
421  }

◆ setImportId()

ilAdvancedMDFieldDefinition::setImportId (   $a_id_string)

set import id

public

Parameters
stringimport id

Definition at line 348 of file class.ilAdvancedMDFieldDefinition.php.

349  {
350  $this->import_id = $a_id_string;
351  }

◆ setPosition()

ilAdvancedMDFieldDefinition::setPosition (   $a_pos)

set position

public

Parameters
intposition

Definition at line 371 of file class.ilAdvancedMDFieldDefinition.php.

372  {
373  $this->position = $a_pos;
374  }

◆ setRecordId()

ilAdvancedMDFieldDefinition::setRecordId (   $a_id)

set record id

public

Parameters
intrecord id

Definition at line 314 of file class.ilAdvancedMDFieldDefinition.php.

315  {
316  $this->record_id = $a_id;
317  }

◆ setTitle()

ilAdvancedMDFieldDefinition::setTitle (   $a_title)

set title

public

Parameters
stringtitle

Definition at line 492 of file class.ilAdvancedMDFieldDefinition.php.

493  {
494  $this->title = $a_title;
495  }

◆ toXML()

ilAdvancedMDFieldDefinition::toXML ( ilXmlWriter  $writer)

To Xml.

This method writes only the subset Field Use class.ilAdvancedMDRecordXMLWriter to generate a complete xml presentation.

public

Parameters
objectilXmlWriter

Definition at line 675 of file class.ilAdvancedMDFieldDefinition.php.

References generateImportId(), getDescription(), getFieldType(), getFieldValues(), getPosition(), getTitle(), isSearchable(), ilXmlWriter\xmlElement(), ilXmlWriter\xmlEndTag(), and ilXmlWriter\xmlStartTag().

676  {
677  switch($this->getFieldType())
678  {
679  case self::TYPE_TEXT:
680  $type = 'Text';
681  break;
682 
683  case self::TYPE_SELECT:
684  $type = 'Select';
685  break;
686 
687  case self::TYPE_DATE:
688  $type = 'Date';
689  break;
690 
691  case self::TYPE_DATETIME:
692  $type = 'DateTime';
693  break;
694  }
695 
696 
697  $writer->xmlStartTag('Field',array(
698  'id' => $this->generateImportId(),
699  'searchable' => ($this->isSearchable() ? 'Yes' : 'No'),
700  'fieldType' => $type));
701 
702  $writer->xmlElement('FieldTitle',null,$this->getTitle());
703  $writer->xmlElement('FieldDescription',null,$this->getDescription());
704  $writer->xmlElement('FieldPosition',null,$this->getPosition());
705 
706  foreach($this->getFieldValues() as $value)
707  {
708  if(strlen($value))
709  {
710  $writer->xmlElement('FieldValue',null,$value);
711  }
712  }
713 
714  $writer->xmlEndTag('Field');
715  }
xmlStartTag($tag, $attrs=NULL, $empty=FALSE, $encode=TRUE, $escape=TRUE)
Writes a starttag.
xmlElement($tag, $attrs=NULL, $data=Null, $encode=TRUE, $escape=TRUE)
Writes a basic element (no children, just textual content)
xmlEndTag($tag)
Writes an endtag.
+ Here is the call graph for this function:

◆ update()

ilAdvancedMDFieldDefinition::update ( )

update

public

Definition at line 647 of file class.ilAdvancedMDFieldDefinition.php.

References $query, $res, getDescription(), getFieldId(), getFieldType(), getFieldValues(), getImportId(), getPosition(), getRecordId(), getTitle(), isRequired(), and isSearchable().

648  {
649  global $ilDB;
650 
651  $query = "UPDATE adv_mdf_definition ".
652  "SET record_id = ".$this->db->quote($this->getRecordId() ,'integer').", ".
653  "import_id = ".$this->db->quote($this->getImportId() ,'text').", ".
654  "position = ".$this->db->quote($this->getPosition() ,'integer').", ".
655  "field_type = ".$this->db->quote($this->getFieldType() ,'integer').", ".
656  "field_values = ".$ilDB->quote(serialize($this->getFieldValues()),'text').", ".
657  "title = ".$this->db->quote($this->getTitle() ,'text').", ".
658  "description = ".$this->db->quote($this->getDescription() ,'text').", ".
659  "searchable = ".$ilDB->quote($this->isSearchable() ,'integer').", ".
660  "required = ".$ilDB->quote($this->isRequired(),'integer')." ".
661  "WHERE field_id = ".$this->db->quote($this->getFieldId() ,'integer')." ";
662  $res = $ilDB->manipulate($query);
663  return true;
664  }
+ Here is the call graph for this function:

◆ validate()

ilAdvancedMDFieldDefinition::validate ( )

validate

public

Definition at line 629 of file class.ilAdvancedMDFieldDefinition.php.

References $ilErr, $lng, getFieldType(), and getTitle().

630  {
631  global $ilErr,$lng;
632 
633  if(!strlen($this->getTitle()) or !$this->getFieldType())
634  {
635  $ilErr->setMessage('fill_out_all_required_fields');
636  return false;
637  }
638  return true;
639  }
global $lng
Definition: privfeed.php:40
+ Here is the call graph for this function:

Field Documentation

◆ $db

ilAdvancedMDFieldDefinition::$db = null
protected

Definition at line 40 of file class.ilAdvancedMDFieldDefinition.php.

◆ $description

ilAdvancedMDFieldDefinition::$description
protected

Definition at line 49 of file class.ilAdvancedMDFieldDefinition.php.

Referenced by getDescription().

◆ $field_id

ilAdvancedMDFieldDefinition::$field_id
protected

Definition at line 43 of file class.ilAdvancedMDFieldDefinition.php.

Referenced by getFieldId().

◆ $field_type

ilAdvancedMDFieldDefinition::$field_type
protected

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

Referenced by getFieldType().

◆ $field_values

ilAdvancedMDFieldDefinition::$field_values = array()
protected

Definition at line 47 of file class.ilAdvancedMDFieldDefinition.php.

Referenced by getFieldValues().

◆ $import_id

ilAdvancedMDFieldDefinition::$import_id
protected

Definition at line 44 of file class.ilAdvancedMDFieldDefinition.php.

Referenced by getImportId().

◆ $instances

ilAdvancedMDFieldDefinition::$instances = array()
staticprivate

Definition at line 38 of file class.ilAdvancedMDFieldDefinition.php.

◆ $position

ilAdvancedMDFieldDefinition::$position
protected

Definition at line 45 of file class.ilAdvancedMDFieldDefinition.php.

Referenced by add(), and getPosition().

◆ $record_id

ilAdvancedMDFieldDefinition::$record_id
protected

Definition at line 42 of file class.ilAdvancedMDFieldDefinition.php.

Referenced by getRecordId().

◆ $required

ilAdvancedMDFieldDefinition::$required = false
protected

Definition at line 51 of file class.ilAdvancedMDFieldDefinition.php.

Referenced by isRequired().

◆ $searchable

ilAdvancedMDFieldDefinition::$searchable
protected

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

Referenced by isSearchable().

◆ $title

ilAdvancedMDFieldDefinition::$title
protected

Definition at line 48 of file class.ilAdvancedMDFieldDefinition.php.

Referenced by getTitle().

◆ TYPE_DATE

◆ TYPE_DATETIME

◆ TYPE_SELECT

◆ TYPE_TEXT


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