/** * Parse property form in editor mode */ protected function parseEditor() { include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php'; if ($this->getSelectedOnly()) { $recs = ilAdvancedMDRecord::_getSelectedRecordsByObject($this->obj_type, $this->obj_id, $this->sub_type); } else { $recs = ilAdvancedMDRecord::_getActivatedRecordsByObjectType($this->obj_type, $this->sub_type); } include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDValues.php'; $this->editor_form = array(); foreach ($recs as $record_obj) { /* :TODO: if($this->handleECSDefinitions($def)) { continue; } */ $record_id = $record_obj->getRecordId(); $values = new ilAdvancedMDValues($record_id, $this->obj_id, $this->sub_type, $this->sub_id); $values->read(); $adt_group_form = ilADTFactory::getInstance()->getFormBridgeForInstance($values->getADTGroup()); $adt_group_form->setForm($this->form); $adt_group_form->setTitle($record_obj->getTitle()); $adt_group_form->setInfo($record_obj->getDescription()); foreach ($values->getDefinitions() as $def) { $element = $adt_group_form->getElement($def->getFieldId()); $element->setTitle($def->getTitle()); $element->setInfo($def->getDescription()); // definition may customize ADT form element $def->prepareElementForEditor($element); if ($values->isDisabled($def->getFieldId())) { $element->setDisabled(true); } } $adt_group_form->addToForm(); $this->editor_form[$record_id] = array("values" => $values, "form" => $adt_group_form); } }