46 public function __construct($a_mode,$a_obj_type =
'',$a_obj_id =
'', $a_sub_type =
'', $a_sub_id =
'')
51 $this->mode = $a_mode;
52 $this->obj_type = $a_obj_type;
53 $this->obj_id = $a_obj_id;
54 $this->sub_type = $a_sub_type;
55 $this->sub_id = $a_sub_id;
78 $this->search_values = $a_values;
101 $this->selected_only = $a_val;
111 return $this->selected_only;
125 case self::MODE_EDITOR:
128 case self::MODE_SEARCH:
131 case self::MODE_INFO:
134 case self::MODE_REC_SELECTION:
137 case self::MODE_FILTER:
140 case self::MODE_TABLE_HEAD:
143 case self::MODE_TABLE_CELLS:
147 die(
'Not implemented yet');
161 include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php');
171 include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDValues.php');
172 $this->editor_form = array();
174 foreach($recs as $record_obj)
183 $record_id = $record_obj->getRecordId();
185 $values =
new ilAdvancedMDValues($record_id, $this->obj_id, $this->sub_type, $this->sub_id);
189 $adt_group_form->setForm($this->form);
190 $adt_group_form->setTitle($record_obj->getTitle());
191 $adt_group_form->setInfo($record_obj->getDescription());
193 foreach($values->getDefinitions() as $def)
195 $element = $adt_group_form->getElement($def->getFieldId());
196 $element->setTitle($def->getTitle());
197 $element->setInfo($def->getDescription());
200 $def->prepareElementForEditor($element);
202 if($values->isDisabled($def->getFieldId()))
204 $element->setDisabled(
true);
208 $adt_group_form->addToForm();
210 $this->editor_form[$record_id] = array(
"values"=>$values,
"form"=>$adt_group_form);
222 if(!is_array($this->editor_form))
229 foreach($this->editor_form as $item)
231 $item[
"form"]->importFromPost();
232 if(!$item[
"form"]->validate())
248 if(!
sizeof($this->editor_form))
253 foreach($this->editor_form as $item)
255 $item[
"values"]->write();
276 $this->lng->loadLanguageModule(
'search');
278 include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php');
279 include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php');
289 $this->search_form = array();
290 foreach($recs as $record)
293 $section->setTitle($record->getTitle());
294 $section->setInfo($record->getDescription());
299 $field_form =
ilADTFactory::getInstance()->getSearchBridgeForDefinitionInstance($field->getADTDefinition(),
true,
false);
300 $field_form->setForm($this->form);
301 $field_form->setElementId(
"advmd[".$field->getFieldId().
"]");
302 $field_form->setTitle($field->getTitle());
304 if(is_array($this->search_form_values) &&
305 isset($this->search_form_values[$field->getFieldId()]))
307 $field->setSearchValueSerialized($field_form, $this->search_form_values[$field->getFieldId()]);
310 $field->prepareElementForSearch($field_form);
312 $field_form->addToForm();
314 $this->search_form[$field->getFieldId()] = array(
"def"=>$field,
"value"=>$field_form);
326 if(!
sizeof($this->search_form))
334 foreach($this->search_form as $field_id => $item)
336 $item[
"value"]->importFromPost();
337 if(!$item[
"value"]->validate())
341 $value = $item[
"def"]->getSearchValueSerialized($item[
"value"]);
344 $res[$field_id] = $value;
356 $this->search_form_values = $a_values;
366 include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDValues.php');
367 include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php');
368 include_once(
'Services/ADT/classes/class.ilADTFactory.php');
377 $defs = $a_values->getDefinitions();
378 foreach($a_values->getADTGroup()->getElements() as $element_id => $element)
380 if(!$element->isNull())
382 $this->info->addProperty($defs[$element_id]->getTitle(),
403 include_once(
'./Services/WebServices/ECS/classes/class.ilECSDataMappingSettings.php');
404 include_once(
'./Services/WebServices/ECS/classes/class.ilECSServerSettings.php');
407 ($this->obj_type !=
'crs' and $this->obj_type !=
'rcrs')
446 $this->lng->loadLanguageModule(
'ecs');
448 include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDValue.php');
449 $value_start = ilAdvancedMDValue::_getInstance($this->obj_id,$def->getFieldId());
451 $unixtime = $value_start->getValue() ? $value_start->getValue() : mktime(8,0,0,date(
'm'),date(
'd'),date(
'Y'));
453 $time =
new ilDateTimeInputGUI($this->lng->txt(
'ecs_event_appointment'),
'md['.$def->getFieldId().
']');
454 $time->setShowTime(
true);
456 $time->enableDateActivation($this->lng->txt(
'enabled'),
457 'md_activated['.$def->getFieldId().
']',
458 $value_start->getValue() ? true :
false);
459 $time->setDisabled($value_start->isDisabled());
462 if($field_id = $mapping->getMappingByECSName(0,
'end'))
464 $value_end = ilAdvancedMDValue::_getInstance($this->obj_id,$field_id);
466 list($hours,$minutes) = $this->
parseDuration($value_start->getValue(),$value_end->getValue());
470 $duration->setMinutes($minutes);
471 #$duration->setInfo($this->lng->txt('ecs_duration_info')); 472 $duration->setShowHours(
true);
473 $duration->setShowMinutes(
true);
474 $time->addSubItem($duration);
477 if($field_id = $mapping->getMappingByECSName(0,
'cycle'))
479 $value = ilAdvancedMDValue::_getInstance($this->obj_id,$field_id);
481 switch($cycle_def->getFieldType())
484 $text =
new ilTextInputGUI($cycle_def->getTitle(),
'md['.$cycle_def->getFieldId().
']');
485 $text->setValue($value->getValue());
487 $text->setMaxLength(512);
488 $text->setDisabled($value->isDisabled());
489 $time->addSubItem($text);
493 $select =
new ilSelectInputGUI($cycle_def->getTitle(),
'md['.$cycle_def->getFieldId().
']');
494 $select->setOptions($cycle_def->getFieldValuesForSelect());
495 $select->setValue($value->getValue());
496 $select->setDisabled($value->isDisabled());
497 $time->addSubItem($select);
501 if($field_id = $mapping->getMappingByECSName(0,
'room'))
503 $value = ilAdvancedMDValue::_getInstance($this->obj_id,$field_id);
505 switch($room_def->getFieldType())
508 $text =
new ilTextInputGUI($room_def->getTitle(),
'md['.$room_def->getFieldId().
']');
509 $text->setValue($value->getValue());
511 $text->setMaxLength(512);
512 $text->setDisabled($value->isDisabled());
513 $time->addSubItem($text);
517 $select =
new ilSelectInputGUI($room_def->getTitle(),
'md['.$room_def->getFieldId().
']');
518 $select->setOptions($cycle_def->getFieldValuesForSelect());
519 $select->setValue($value->getValue());
520 $select->setDisabled($value->isDisabled());
521 $time->addSubItem($select);
525 $this->form->addItem($time);
537 if($u_start >= $u_end)
541 $diff = $u_end - $u_start;
542 $hours = (int) ($diff / (60 * 60));
543 $min = (int) (($diff % 3600) / 60);
544 return array($hours,$min);
562 include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php');
571 $sec_tit = ($a_sec_head ==
"")
572 ? $this->lng->txt(
"meta_adv_records")
580 $cb->
setInfo($record_obj->getDescription());
581 $cb->setValue($record_obj->getRecordId());
582 if (in_array($record_obj->getRecordId(), $selected))
584 $cb->setChecked(
true);
586 $this->form->addItem($cb);
599 include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php');
610 $this->table_gui = $a_val;
620 return $this->table_gui;
630 $this->row_data = $a_val;
640 return $this->row_data;
651 include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php');
661 $this->adt_search = array();
663 include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php');
664 foreach($recs as $record_obj)
666 $record_id = $record_obj->getRecordId();
669 foreach($defs as $def)
672 if(!in_array($def->getType(), array(
689 $this->adt_search[$def->getFieldId()] =
ilADTFactory::getInstance()->getSearchBridgeForDefinitionInstance($def->getADTDefinition(),
true,
false);
690 $this->adt_search[$def->getFieldId()]->setTableGUI($this->table_gui);
691 $this->adt_search[$def->getFieldId()]->setTitle($def->getTitle());
692 $this->adt_search[$def->getFieldId()]->setElementId(
'md_'.$def->getFieldId());
694 $this->adt_search[$def->getFieldId()]->loadFilter();
695 $this->adt_search[$def->getFieldId()]->addToForm();
705 if(!is_array($this->adt_search))
710 foreach($this->adt_search as $element)
712 $element->importFromPost();
723 if(!is_array($this->adt_search))
730 foreach($this->adt_search as $def_id => $element)
732 if(!$element->isNull())
734 $res[$def_id] = $element;
753 include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php');
762 foreach($recs as $record_obj)
764 include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php');
765 foreach(ilAdvancedMDFieldDefinition::_getDefinitionsByRecordId($record_obj->getRecordId()) as $def)
772 $this->table_gui->addColumn($def->getTitle(),
'md_'.$def->getFieldId());
788 include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php');
797 foreach($recs as $record_obj)
799 include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php');
800 foreach(ilAdvancedMDFieldDefinition::_getDefinitionsByRecordId($record_obj->getRecordId()) as $def)
807 $html.=
"<td class='std'>".$data[
'md_'.$def->getFieldId()].
"</td>";
parseDuration($u_start, $u_end)
parse hours and minutes from duration
setTableGUI($a_val)
Set table.
importSearchForm()
Load edit form values from post.
parseTableCells()
Parse table cells.
getFilterElements()
Get SQL conditions for current filter value(s)
setPropertyForm($form)
set property form object
importEditFormPostValues()
Load edit form values from post.
static getInstance()
Get singleton instance.
handleECSDefinitions($a_definition)
handle ecs definitions
getRowData()
Get row data.
parseRecordSelection($a_sec_head="")
Parse property form in editor mode.
parseTableHead()
Parse property for table head.
writeEditForm()
Write edit form values to db.
static getInstance()
Get singleton.
static _getActivatedRecordsByObjectType($a_obj_type, $a_sub_type="")
Get activated records by object type.
setSearchFormValues(array $a_values)
static saveObjRecSelection($a_obj_id, $a_sub_type="", array $a_records=null, $a_delete_before=true)
Save repository object record selection.
getSelectedOnly()
Get selected only flag.
static getInstancesByRecordId($a_record_id, $a_only_searchable=false)
Get definitions by record id.
setInfoObject($info)
get info sections
__construct($a_mode, $a_obj_type='', $a_obj_id='', $a_sub_type='', $a_sub_id='')
Constructor.
static getInstance($a_field_id, $a_type=null)
Get definition instance by type.
This class represents a text property in a property form.
static _getSelectedRecordsByObject($a_obj_type, $a_obj_id, $a_sub_type="")
Get selected records by object.
setSearchValues($a_values)
Set values for search form.
static _lookupTitle($a_record_id)
Lookup title.
static getInstancesForObjectId($a_obj_id, $a_obj_type=null)
Get instances for given object id.
parseFilter()
Parse property for filter (table)
static stripSlashesArray($a_arr, $a_strip_html=true, $a_allow="")
Strip slashes from array.
showECSStart($def)
Show special form for ecs start.
setRowData($a_val)
Set row data.
parseEditor()
Parse property form in editor mode.
static _getInstance()
Get Singleton instance.
parseSearch()
Parse search.
saveSelection()
Save selection per object.
static getObjRecSelection($a_obj_id, $a_sub_type="")
Get repository object record selection.
importFilter()
Import filter (post) values.
setSelectedOnly($a_val)
Set selected only flag.