ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
class.ilAdvancedMDRecordGUI.php
Go to the documentation of this file.
1 <?php
2 
3 /* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
4 
15 {
16  const MODE_EDITOR = 1;
17  const MODE_SEARCH = 2;
18  const MODE_INFO = 3;
20 
21  // glossary
22  const MODE_REC_SELECTION = 4; // record selection (per object)
23  const MODE_FILTER = 5; // filter (as used e.g. in tables)
24  const MODE_TABLE_HEAD = 6; // table header (columns)
25  const MODE_TABLE_CELLS = 7; // table cells
26 
27  protected $lng;
28 
29  private $mode;
30  private $obj_type;
31  private $sub_type;
32  private $obj_id;
33  private $ref_id = null;
34 
35  private $form;
36  private $search_values = array();
37 
38  protected $editor_form; // [array]
39 
40  // $adv_ref_id - $adv_type - $adv_subtype:
41  // Object, that defines the adv md records being used. Default is $this->object, but the
42  // context may set another object (e.g. media pool for media objects)
46  protected $adv_ref_id = null;
50  protected $adv_type = null;
54  protected $adv_subtype = null;
55 
59  protected $user;
60 
61 
70  public function __construct($a_mode, $a_obj_type = '', $a_obj_id = '', $a_sub_type = '', $a_sub_id = '')
71  {
72  global $DIC;
73 
74  $lng = $DIC['lng'];
75 
76  $this->user = $DIC->user();
77  $this->lng = $lng;
78  $this->mode = $a_mode;
79  $this->obj_type = $a_obj_type;
80  $this->obj_id = $a_obj_id;
81  $this->sub_type = $a_sub_type;
82  $this->sub_id = $a_sub_id;
83 
84  if ($a_obj_id) {
85  $refs = ilObject::_getAllReferences($a_obj_id);
86  $this->ref_id = end($refs);
87  }
88  }
89 
96  public function setAdvMdRecordObject($a_adv_ref_id, $a_adv_type, $a_adv_subtype = "-")
97  {
98  $this->adv_ref_id = $a_adv_ref_id;
99  $this->adv_type = $a_adv_type;
100  $this->adv_subtype = $a_adv_subtype;
101  }
102 
108  public function getAdvMdRecordObject()
109  {
110  if ($this->adv_type == null) {
112  }
114  }
115 
116 
122  public function setRefId($a_ref_id)
123  {
124  $this->ref_id = $a_ref_id;
125  }
126 
134  public function setPropertyForm($form)
135  {
136  $this->form = $form;
137  }
138 
145  public function setSearchValues($a_values)
146  {
147  $this->search_values = $a_values;
148  }
149 
150 
158  public function setInfoObject($info)
159  {
160  $this->info = $info;
161  }
162 
170  public function parse()
171  {
172  switch ($this->mode) {
173  case self::MODE_EDITOR:
174  return $this->parseEditor();
175 
176  case self::MODE_SEARCH:
177  return $this->parseSearch();
178 
179  case self::MODE_INFO:
180  return $this->parseInfoPage();
181 
182  case self::MODE_APP_PRESENTATION:
183  return $this->parseAppointmentPresentation();
184 
185  case self::MODE_REC_SELECTION:
186  return $this->parseRecordSelection();
187 
188  case self::MODE_FILTER:
189  return $this->parseFilter();
190 
191  case self::MODE_TABLE_HEAD:
192  return $this->parseTableHead();
193 
194  case self::MODE_TABLE_CELLS:
195  return $this->parseTableCells();
196 
197  default:
198  die('Not implemented yet');
199  }
200  }
201 
202 
203  //
204  // editor
205  //
206 
210  protected function parseEditor()
211  {
212  include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDValues.php');
213  $this->editor_form = array();
214 
215  foreach ($this->getActiveRecords() as $record_obj) {
216  $record_id = $record_obj->getRecordId();
217 
218  $values = new ilAdvancedMDValues($record_id, $this->obj_id, $this->sub_type, $this->sub_id);
219  $values->read();
220  $defs = $values->getDefinitions();
221 
222  // empty record?
223  if (!sizeof($defs)) {
224  continue;
225  }
226 
227  $translations = ilAdvancedMDRecordTranslations::getInstanceByRecordId($record_obj->getRecordId());
228  $field_translations = ilAdvancedMDFieldTranslations::getInstanceByRecordId($record_obj->getRecordId());
229 
230  $adt_group_form = ilADTFactory::getInstance()->getFormBridgeForInstance($values->getADTGroup());
231  $adt_group_form->setForm($this->form);
232 
233  $adt_group_form->setTitle($translations->getTitleForLanguage($this->user->getLanguage()));
234  $adt_group_form->setInfo($translations->getDescriptionForLanguage($this->user->getLanguage()));
235 
236  foreach ($defs as $def) {
237  $element = $adt_group_form->getElement($def->getFieldId());
238  $element->setTitle($field_translations->getTitleForLanguage($def->getFieldId(), $this->user->getLanguage()));
239  $element->setInfo($field_translations->getDescriptionForLanguage($def->getFieldId(), $this->user->getLanguage()));
240 
241  // definition may customize ADT form element
242  $def->prepareElementForEditor($element);
243 
244  if ($values->isDisabled($def->getFieldId())) {
245  $element->setDisabled(true);
246  }
247  }
248 
249  $adt_group_form->addToForm();
250 
251  $this->editor_form[$record_id] = array("values" => $values, "form" => $adt_group_form);
252  }
253  }
254 
260  public function importEditFormPostValues()
261  {
262  // #13774
263  if (!is_array($this->editor_form)) {
264  return false;
265  }
266 
267  $valid = true;
268 
269  foreach ($this->editor_form as $item) {
270  $item["form"]->importFromPost();
271  if (!$item["form"]->validate()) {
272  $valid = false;
273  }
274  }
275 
276  return $valid;
277  }
278 
286  public function writeEditForm($a_obj_id = null, $a_sub_id = null)
287  {
288  if (!sizeof($this->editor_form)) {
289  return false;
290  }
291 
292  // switch ids?
293  if ($a_obj_id) {
294  $this->obj_id = $a_obj_id;
295  }
296  if ($a_sub_id) {
297  $this->sub_id = $a_sub_id;
298  }
299 
300  foreach ($this->editor_form as $item) {
301  if ($a_obj_id || $a_sub_id) {
302  // switch active record to updated primary keys, e.g. after creation
303  $item["values"]->setActiveRecordPrimary($this->obj_id, $this->sub_type, $this->sub_id);
304  }
305 
306  $item["values"]->write();
307  }
308 
309  return true;
310  }
311 
312 
313  //
314  // search
315  //
316 
320  private function parseSearch()
321  {
322  // this is NOT used for the global search, see ilLuceneAdvancedSearchFields::getFormElement()
323  // (so searchable flag is NOT relevant)
324  //
325  // current usage: wiki page element "[amd] page list"
326 
327  $this->lng->loadLanguageModule('search');
328 
329  include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php');
330 
331  $this->search_form = array();
332  foreach ($this->getActiveRecords() as $record) {
333  $fields = ilAdvancedMDFieldDefinition::getInstancesByRecordId($record->getRecordId(), true);
334 
335  // empty record?
336  if (!sizeof($fields)) {
337  continue;
338  }
339 
340  $record_translations = ilAdvancedMDRecordTranslations::getInstanceByRecordId($record->getRecordId());
342  $section->setTitle($record_translations->getTitleForLanguage($this->user->getLanguage()));
343  $section->setInfo($record_translations->getDescriptionForLanguage($this->user->getLanguage()));
344  $this->form->addItem($section);
345 
346  foreach ($fields as $field) {
347  $field_translations = ilAdvancedMDFieldTranslations::getInstanceByRecordId($record->getRecordId());
348 
349  $field_form = ilADTFactory::getInstance()->getSearchBridgeForDefinitionInstance($field->getADTDefinition(), true, false);
350  $field_form->setForm($this->form);
351  $field_form->setElementId("advmd[" . $field->getFieldId() . "]");
352  $field_form->setTitle($field_translations->getTitleForLanguage($field->getFieldId(), $this->user->getLanguage()));
353 
354  if (is_array($this->search_form_values) &&
355  isset($this->search_form_values[$field->getFieldId()])) {
356  $field->setSearchValueSerialized($field_form, $this->search_form_values[$field->getFieldId()]);
357  }
358 
359  $field->prepareElementForSearch($field_form);
360 
361  $field_form->addToForm();
362 
363  $this->search_form[$field->getFieldId()] = array("def" => $field, "value" => $field_form);
364  }
365  }
366  }
367 
373  public function importSearchForm()
374  {
375  if (!sizeof($this->search_form)) {
376  return false;
377  }
378 
379  $valid = true;
380  $res = array();
381 
382  foreach ($this->search_form as $field_id => $item) {
383  $item["value"]->importFromPost();
384  if (!$item["value"]->validate()) {
385  $valid = false;
386  }
387  $value = $item["def"]->getSearchValueSerialized($item["value"]);
388  if ($value !== null) {
389  $res[$field_id] = $value;
390  }
391  }
392 
393  if ($valid) {
394  return $res;
395  }
396  }
397 
398  public function setSearchFormValues(array $a_values)
399  {
400  $this->search_form_values = $a_values;
401  }
402 
407  private function parseInfoPage()
408  {
409  include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDValues.php');
410  include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php');
411  include_once('Services/ADT/classes/class.ilADTFactory.php');
412 
413  foreach (ilAdvancedMDValues::getInstancesForObjectId($this->obj_id, $this->obj_type, $this->sub_type, $this->sub_id) as $record_id => $a_values) {
414  // this correctly binds group and definitions
415  $a_values->read();
416 
417  $record_translations = ilAdvancedMDRecordTranslations::getInstanceByRecordId($record_id);
418  $this->info->addSection($record_translations->getTitleForLanguage($this->user->getLanguage()));
419 
420  $defs = $a_values->getDefinitions();
421  foreach ($a_values->getADTGroup()->getElements() as $element_id => $element) {
422  if (!$element->isNull()) {
423  $field_translations = ilAdvancedMDFieldTranslations::getInstanceByRecordId($record_id);
424  $title = $field_translations->getTitleForLanguage($element_id, $this->user->getLanguage());
425 
426  $this->info->addProperty(
427  $title,
428  ilADTFactory::getInstance()->getPresentationBridgeForInstance($element)->getHTML()
429  );
430  }
431  }
432  }
433  }
434 
439  private function parseAppointmentPresentation()
440  {
442 
443  $definitions = ilAdvancedMDFieldDefinition::getInstancesByObjType($this->obj_type);
444  $definitions = $sub->sortDefinitions($definitions);
445 
446  $positions = array();
447  foreach ($definitions as $position => $value) {
448  $positions[$value->getFieldId()] = $position;
449  }
450 
451  $array_elements = array();
452  foreach (ilAdvancedMDValues::getInstancesForObjectId($this->obj_id, $this->obj_type, $this->sub_type, $this->sub_id) as $record_id => $a_values) {
453  // this correctly binds group and definitions
454  $a_values->read();
455 
456  $field_translations = ilAdvancedMDFieldTranslations::getInstanceByRecordId($record_id);
457 
458  $defs = $a_values->getDefinitions();
459  foreach ($a_values->getADTGroup()->getElements() as $element_id => $element) {
460  if (!$element->isNull()) {
461  $presentation_bridge = ilADTFactory::getInstance()->getPresentationBridgeForInstance($element);
462  #21615
463  if (get_class($element) == 'ilADTLocation') {
464  $presentation_bridge->setSize("100%", "200px");
465  #22638
466  $presentation_value = $presentation_bridge->getHTML();
467  $presentation_value .= "<script>ilInitMaps();</script>";
468  } elseif (get_class($element) == 'ilADTExternalLink' || get_class($element) == 'ilADTInternalLink') {
469  #22638
470  $presentation_value = $presentation_bridge->getHTML();
471  } else {
472  $presentation_value = strip_tags($presentation_bridge->getHTML());
473  }
474  $array_elements[$positions[$element_id]] =
475  [
476  "title" => $field_translations->getTitleForLanguage($element_id, $this->user->getLanguage()),
477  "value" => $presentation_value
478  ];
479  }
480  }
481  }
482 
483  // already sorted by record positions
484  return $array_elements;
485  }
486 
487  //
488  // :TODO: ECS
489  //
490 
498  private function handleECSDefinitions($a_definition)
499  {
500  include_once('./Services/WebServices/ECS/classes/class.ilECSDataMappingSettings.php');
501  include_once('./Services/WebServices/ECS/classes/class.ilECSServerSettings.php');
502 
503  if (ilECSServerSettings::getInstance()->activeServerExists() or
504  ($this->obj_type != 'crs' and $this->obj_type != 'rcrs')
505  ) {
506  return false;
507  }
508  return false;
509  }
510 
517  private function showECSStart($def)
518  {
519  global $DIC;
520 
521  $ilUser = $DIC['ilUser'];
522 
523  $this->lng->loadLanguageModule('ecs');
524 
525  include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDValue.php');
526  $value_start = ilAdvancedMDValue::_getInstance($this->obj_id, $def->getFieldId());
527 
528  $unixtime = $value_start->getValue() ? $value_start->getValue() : mktime(8, 0, 0, date('m'), date('d'), date('Y'));
529 
530  $time = new ilDateTimeInputGUI($this->lng->txt('ecs_event_appointment'), 'md[' . $def->getFieldId() . ']');
531  $time->setShowTime(true);
532  $time->setDate(new ilDateTime($unixtime, IL_CAL_UNIX));
533  /*
534  $time->enableDateActivation($this->lng->txt('enabled'),
535  'md_activated['.$def->getFieldId().']',
536  $value_start->getValue() ? true : false);
537  */
538  $time->setDisabled($value_start->isDisabled());
539 
541  if ($field_id = $mapping->getMappingByECSName(0, 'end')) {
542  $value_end = ilAdvancedMDValue::_getInstance($this->obj_id, $field_id);
543 
544  list($hours, $minutes) = $this->parseDuration($value_start->getValue(), $value_end->getValue());
545 
546  $duration = new ilDurationInputGUI($this->lng->txt('ecs_duration'), 'ecs_duration');
547  $duration->setHours($hours);
548  $duration->setMinutes($minutes);
549  #$duration->setInfo($this->lng->txt('ecs_duration_info'));
550  $duration->setShowHours(true);
551  $duration->setShowMinutes(true);
552  $time->addSubItem($duration);
553  }
554 
555  if ($field_id = $mapping->getMappingByECSName(0, 'cycle')) {
556  $value = ilAdvancedMDValue::_getInstance($this->obj_id, $field_id);
557  $cycle_def = ilAdvancedMDFieldDefinition::getInstance($field_id);
558  switch ($cycle_def->getFieldType()) {
560  $text = new ilTextInputGUI($cycle_def->getTitle(), 'md[' . $cycle_def->getFieldId() . ']');
561  $text->setValue($value->getValue());
562  $text->setSize(20);
563  $text->setMaxLength(512);
564  $text->setDisabled($value->isDisabled());
565  $time->addSubItem($text);
566  break;
567 
569  $select = new ilSelectInputGUI($cycle_def->getTitle(), 'md[' . $cycle_def->getFieldId() . ']');
570  $select->setOptions($cycle_def->getFieldValuesForSelect());
571  $select->setValue($value->getValue());
572  $select->setDisabled($value->isDisabled());
573  $time->addSubItem($select);
574  break;
575  }
576  }
577  if ($field_id = $mapping->getMappingByECSName(0, 'room')) {
578  $value = ilAdvancedMDValue::_getInstance($this->obj_id, $field_id);
579  $room_def = ilAdvancedMDFieldDefinition::getInstance($field_id);
580  switch ($room_def->getFieldType()) {
582  $text = new ilTextInputGUI($room_def->getTitle(), 'md[' . $room_def->getFieldId() . ']');
583  $text->setValue($value->getValue());
584  $text->setSize(20);
585  $text->setMaxLength(512);
586  $text->setDisabled($value->isDisabled());
587  $time->addSubItem($text);
588  break;
589 
591  $select = new ilSelectInputGUI($room_def->getTitle(), 'md[' . $room_def->getFieldId() . ']');
592  $select->setOptions($cycle_def->getFieldValuesForSelect());
593  $select->setValue($value->getValue());
594  $select->setDisabled($value->isDisabled());
595  $time->addSubItem($select);
596  break;
597  }
598  }
599  $this->form->addItem($time);
600  }
601 
609  protected function parseDuration($u_start, $u_end)
610  {
611  if ($u_start >= $u_end) {
612  return array(0,0);
613  }
614  $diff = $u_end - $u_start;
615  $hours = (int) ($diff / (60 * 60));
616  $min = (int) (($diff % 3600) / 60);
617  return array($hours,$min);
618  }
619 
620 
621  //
622  // glossary
623  //
624 
631  public function parseRecordSelection($a_sec_head = "")
632  {
633  global $DIC;
634 
635  $ilUser = $DIC['ilUser'];
636 
637  include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php');
638  $first = true;
639  foreach (ilAdvancedMDRecord::_getActivatedRecordsByObjectType($this->obj_type, $this->sub_type) as $record_obj) {
640  $selected = ilAdvancedMDRecord::getObjRecSelection($this->obj_id, $this->sub_type);
641  if ($first) {
642  $first = false;
644  $sec_tit = ($a_sec_head == "")
645  ? $this->lng->txt("meta_adv_records")
646  : $a_sec_head;
647  $section->setTitle($sec_tit);
648  $this->form->addItem($section);
649  }
650 
651  // checkbox for each active record
652  $cb = new ilCheckboxInputGUI($record_obj->getTitle(), "amet_use_rec[]");
653  $cb->setInfo($record_obj->getDescription());
654  $cb->setValue($record_obj->getRecordId());
655  if (in_array($record_obj->getRecordId(), $selected)) {
656  $cb->setChecked(true);
657  }
658  $this->form->addItem($cb);
659  }
660  }
661 
668  public function saveSelection()
669  {
670  $sel = ilUtil::stripSlashesArray($_POST["amet_use_rec"]);
671  include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php');
672  ilAdvancedMDRecord::saveObjRecSelection($this->obj_id, $this->sub_type, $sel);
673  }
674 
680  public function setTableGUI($a_val)
681  {
682  $this->table_gui = $a_val;
683  }
684 
690  public function getTableGUI()
691  {
692  return $this->table_gui;
693  }
694 
700  public function setRowData($a_val)
701  {
702  $this->row_data = $a_val;
703  }
704 
710  public function getRowData()
711  {
712  return $this->row_data;
713  }
714 
715  protected function getActiveRecords()
716  {
717  include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php');
720  }
721 
728  private function parseFilter()
729  {
730  $this->adt_search = array();
731 
732  include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php');
733  foreach ($this->getActiveRecords() as $record_obj) {
734  $record_id = $record_obj->getRecordId();
735 
736  $field_translations = ilAdvancedMDFieldTranslations::getInstanceByRecordId($record_id);
737 
739  foreach ($defs as $def) {
740  // some input GUIs do NOT support filter rendering yet
741  if (!$def->isFilterSupported()) {
742  continue;
743  }
744 
745  $this->adt_search[$def->getFieldId()] = ilADTFactory::getInstance()->getSearchBridgeForDefinitionInstance($def->getADTDefinition(), true, false);
746  $this->adt_search[$def->getFieldId()]->setTableGUI($this->table_gui);
747  $this->adt_search[$def->getFieldId()]->setTitle(
748  $field_translations->getTitleForLanguage($def->getFieldId(), $this->user->getLanguage())
749  );
750  $this->adt_search[$def->getFieldId()]->setElementId('md_' . $def->getFieldId());
751 
752  $this->adt_search[$def->getFieldId()]->loadFilter();
753  $this->adt_search[$def->getFieldId()]->addToForm();
754  }
755  }
756  }
757 
761  public function importFilter()
762  {
763  if (!is_array($this->adt_search)) {
764  return;
765  }
766 
767  foreach ($this->adt_search as $element) {
768  $element->importFromPost();
769  }
770  }
771 
777  public function getFilterElements($a_only_non_empty = true)
778  {
779  if (!is_array($this->adt_search)) {
780  return;
781  }
782 
783  $res = array();
784 
785  foreach ($this->adt_search as $def_id => $element) {
786  if (!$element->isNull() ||
787  !(bool) $a_only_non_empty) {
788  $res[$def_id] = $element;
789  }
790  }
791  return $res;
792  }
793 
794 
795  //
796  // :TODO: OBSOLETE? not used in glossary
797  //
798 
802  private function parseTableHead()
803  {
804  include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php');
805  foreach ($this->getActiveRecords() as $record_obj) {
806  $record_id = $record_obj->getRecordId();
807 
808  $field_translations = ilAdvancedMDFieldTranslations::getInstanceByRecordId($record_id);
809 
811  foreach ($defs as $def) {
812  if ($this->handleECSDefinitions($def)) {
813  continue;
814  }
815 
816  $this->table_gui->addColumn(
817  $field_translations->getTitleForLanguage($def->getFieldId(), $this->user->getLanguage()),
818  'md_' . $def->getFieldId()
819  );
820  }
821  }
822  }
823 
827  private function parseTableCells()
828  {
829  $data = $this->getRowData();
830  $html = "";
831 
832  include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php');
833  foreach ($this->getActiveRecords() as $record_obj) {
834  $record_id = $record_obj->getRecordId();
835 
837  foreach ($defs as $def) {
838  if ($this->handleECSDefinitions($def)) {
839  continue;
840  }
841 
842  $res = '';
843  $res_raw = $data['md_' . $def->getFieldId()] ?? null;
844  $res_presentation = $data['md_' . $def->getFieldId() . '_presentation'] ?? null;
845  if ($res_raw) {
846  $res = $res_raw;
847  }
848  if (
849  $res_presentation instanceof ilADTPresentationBridge &&
850  !($res_presentation instanceof ilADTLocationPresentationBridge)
851  ) {
852  $res = $res_presentation->getHTML();
853  }
854 
855  $html .= "<td class='std'>" . $res . "</td>";
856  }
857  }
858  return $html;
859  }
860 }
parseDuration($u_start, $u_end)
parse hours and minutes from duration
This class represents a duration (typical hh:mm:ss) property in a property form.
static getInstancesForObjectId($a_obj_id, $a_obj_type=null, $a_sub_type="-", $a_sub_id=0)
Get instances for given object id.
importSearchForm()
Load edit form values from post.
parseTableCells()
Parse table cells.
$data
Definition: storeScorm.php:23
setRefId($a_ref_id)
Set ref_id for context.
setPropertyForm($form)
set property form object
importEditFormPostValues()
Load edit form values from post.
This class represents a section header in a property form.
static getInstance()
Get singleton instance.
$valid
handleECSDefinitions($a_definition)
handle ecs definitions
setHours($a_hours)
Set Hours.
This class represents a checkbox property in a property form.
parseRecordSelection($a_sec_head="")
Parse property form in editor mode.
parseTableHead()
Parse property for table head.
const IL_CAL_UNIX
static getInstance()
Get singleton.
static saveObjRecSelection($a_obj_id, $a_sub_type="", array $a_records=null, $a_delete_before=true)
Save repository object record selection.
user()
Definition: user.php:4
static _getAllReferences($a_id)
get all reference ids of object
static _getInstanceByObjectType($a_type)
Singleton: use this method to get an instance.
static _getSelectedRecordsByObject($a_obj_type, $a_ref_id, $a_sub_type="")
Get selected records by object.
This class represents a date/time property in a property form.
writeEditForm($a_obj_id=null, $a_sub_id=null)
Write edit form values to db.
setInfo($a_info)
Set Information Text.
$section
Definition: Utf8Test.php:83
getFilterElements($a_only_non_empty=true)
Get SQL conditions for current filter value(s)
foreach($_POST as $key=> $value) $res
setInfoObject($info)
get info sections
__construct($a_mode, $a_obj_type='', $a_obj_id='', $a_sub_type='', $a_sub_id='')
Constructor.
static getInstancesByObjType($a_obj_type, $a_active_only=true)
global $DIC
Definition: goto.php:24
setSearchValues($a_values)
Set values for search form.
parseFilter()
Parse property for filter (table)
static _getActivatedRecordsByObjectType($a_obj_type, $a_sub_type="", $a_only_optional=false)
Get activated records by object type.
static stripSlashesArray($a_arr, $a_strip_html=true, $a_allow="")
Strip slashes from array.
showECSStart($def)
Show special form for ecs start.
getAdvMdRecordObject()
Get adv md record type.
setAdvMdRecordObject($a_adv_ref_id, $a_adv_type, $a_adv_subtype="-")
Set object, that defines the adv md records being used.
parseAppointmentPresentation()
Presentation for calendar agenda list.
info()
Definition: info.php:2
static getInstance($a_field_id, $a_type=null, string $language='')
Get definition instance by type.
ADT presentation bridge base class.
parseEditor()
Parse property form in editor mode.
$ilUser
Definition: imgupload.php:18
static _getInstance()
Get Singleton instance.
static getInstancesByRecordId($a_record_id, $a_only_searchable=false, string $language='')
Get definitions by record id.
parseInfoPage()
Presentation for info page.
$_POST["username"]
saveSelection()
Save selection per object.
static getObjRecSelection($a_obj_id, $a_sub_type="")
Get repository object record selection.
importFilter()
Import filter (post) values.
setShowTime($a_showtime)
Set Show Time Information.