/** * Fill row * * @access public * @param * */ public function fillRow($a_set) { foreach (ilAdvancedMDRecord::_getAssignableObjectTypes(true) as $obj_type) { $this->tpl->setCurrentBlock('ass_obj_types'); $this->tpl->setVariable('VAL_OBJ_TYPE', $obj_type["text"]); $this->tpl->setVariable('ASS_ID', $a_set['id']); $this->tpl->setVariable('ASS_NAME', $obj_type["obj_type"] . ":" . $obj_type["sub_type"]); foreach ($a_set['obj_types'] as $t) { if ($obj_type["obj_type"] == $t["obj_type"] && $obj_type["sub_type"] == $t["sub_type"]) { $this->tpl->setVariable('ASS_CHECKED', 'checked="checked"'); } } $this->tpl->parseCurrentBlock(); } $this->tpl->setVariable('VAL_ID', $a_set['id']); $this->tpl->setVariable('VAL_TITLE', $a_set['title']); if (strlen($a_set['description'])) { $this->tpl->setVariable('VAL_DESCRIPTION', $a_set['description']); } $defs = ilAdvancedMDFieldDefinition::_getDefinitionsByRecordId($a_set['id']); if (!count($defs)) { $this->tpl->setVariable('TXT_FIELDS', $this->lng->txt('md_adv_no_fields')); } foreach ($defs as $definition_obj) { $this->tpl->setCurrentBlock('field_entry'); $this->tpl->setVariable('FIELD_NAME', $definition_obj->getTitle()); $this->tpl->parseCurrentBlock(); } $this->tpl->setVariable('ACTIVE_CHECKED', $a_set['active'] ? ' checked="checked" ' : ''); $this->tpl->setVariable('ACTIVE_ID', $a_set['id']); $this->ctrl->setParameter($this->parent_obj, 'record_id', $a_set['id']); $this->tpl->setVariable('EDIT_LINK', $this->ctrl->getLinkTarget($this->parent_obj, 'editRecord')); $this->tpl->setVariable('TXT_EDIT_RECORD', $this->lng->txt('edit')); }
/** * Get all advanced metadata fields */ function getAllFields() { $fields = array(); include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php'; $recs = ilAdvancedMDRecord::_getSelectedRecordsByObject("glo", $this->glo_id, "term"); foreach ($recs as $record_obj) { include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php'; foreach (ilAdvancedMDFieldDefinition::_getDefinitionsByRecordId($record_obj->getRecordId()) as $def) { $fields[$def->getFieldId()] = array("id" => $def->getFieldId(), "title" => $def->getTitle(), "type" => $def->getFieldType()); } } return $fields; }
/** * To Xml. * This method writes only the subset Record (including all fields) * Use class.ilAdvancedMDRecordXMLWriter to generate a complete xml presentation. * * @access public * @param object ilXmlWriter * */ public function toXML(ilXmlWriter $writer) { $writer->xmlStartTag('Record', array('active' => $this->isActive() ? 1 : 0, 'id' => $this->generateImportId())); $writer->xmlElement('Title', null, $this->getTitle()); $writer->xmlElement('Description', null, $this->getDescription()); foreach ($this->getAssignedObjectTypes() as $obj_type) { $writer->xmlElement('ObjectType', null, $obj_type); } include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php'; foreach (ilAdvancedMDFieldDefinition::_getDefinitionsByRecordId($this->getRecordId()) as $definition) { $definition->toXML($writer); } $writer->xmlEndTag('Record'); }
/** * Return an array of all meta data fields */ public static function getFields() { global $lng; $lng->loadLanguageModule('meta'); $fields['lom_content'] = $lng->txt('content'); include_once './Services/Search/classes/class.ilSearchSettings.php'; if (ilSearchSettings::getInstance()->enabledLucene()) { $fields['general_offline'] = $lng->txt('lucene_offline_filter'); } //'lom_type' = $lng->txt('type'); $fields['lom_language'] = $lng->txt('language'); $fields['lom_keyword'] = $lng->txt('meta_keyword'); $fields['lom_coverage'] = $lng->txt('meta_coverage'); $fields['lom_structure'] = $lng->txt('meta_structure'); $fields['lom_status'] = $lng->txt('meta_status'); $fields['lom_version'] = $lng->txt('meta_version'); $fields['lom_contribute'] = $lng->txt('meta_contribute'); $fields['lom_format'] = $lng->txt('meta_format'); $fields['lom_operating_system'] = $lng->txt('meta_operating_system'); $fields['lom_browser'] = $lng->txt('meta_browser'); $fields['lom_interactivity'] = $lng->txt('meta_interactivity_type'); $fields['lom_resource'] = $lng->txt('meta_learning_resource_type'); $fields['lom_level'] = $lng->txt('meta_interactivity_level'); $fields['lom_density'] = $lng->txt('meta_semantic_density'); $fields['lom_user_role'] = $lng->txt('meta_intended_end_user_role'); $fields['lom_context'] = $lng->txt('meta_context'); $fields['lom_difficulty'] = $lng->txt('meta_difficulty'); $fields['lom_costs'] = $lng->txt('meta_cost'); $fields['lom_copyright'] = $lng->txt('meta_copyright_and_other_restrictions'); $fields['lom_purpose'] = $lng->txt('meta_purpose'); $fields['lom_taxon'] = $lng->txt('meta_taxon'); // Append all advanced meta data fields include_once './Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php'; include_once './Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php'; foreach (ilAdvancedMDRecord::_getRecords() as $record) { foreach (ilAdvancedMDFieldDefinition::_getDefinitionsByRecordId($record->getRecordId()) as $def) { if ($def->isSearchable()) { $fields['adv_' . $def->getFieldId()] = $def->getTitle(); } } } return $fields; }
/** * Parse table cells */ private function parseTableCells() { global $ilUser; $data = $this->getRowData(); $html = ""; 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); } foreach ($recs as $record_obj) { include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php'; foreach (ilAdvancedMDFieldDefinition::_getDefinitionsByRecordId($record_obj->getRecordId()) as $def) { if ($this->handleECSDefinitions($def)) { continue; } $html .= "<td class='std'>" . $data['md_' . $def->getFieldId()] . "</td>"; } } return $html; }
private function parseInfoPage() { include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php'; foreach (ilAdvancedMDRecord::_getActivatedRecordsByObjectType($this->obj_type) as $record_obj) { $this->info->addSection($record_obj->getTitle()); include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php'; foreach (ilAdvancedMDFieldDefinition::_getDefinitionsByRecordId($record_obj->getRecordId()) as $def) { include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDValue.php'; $value = ilAdvancedMDValue::_getInstance($this->obj_id, $def->getFieldId()); switch ($def->getFieldType()) { case ilAdvancedMDFieldDefinition::TYPE_TEXT: if ($value->getValue()) { $this->info->addProperty($def->getTitle(), $value->getValue()); } break; case ilAdvancedMDFieldDefinition::TYPE_SELECT: if ($value->getValue()) { $this->info->addProperty($def->getTitle(), $value->getValue()); } break; case ilAdvancedMDFieldDefinition::TYPE_DATE: if ($value->getValue()) { $this->info->addProperty($def->getTitle(), ilDatePresentation::formatDate(new ilDate($value->getValue(), IL_CAL_UNIX))); } break; case ilAdvancedMDFieldDefinition::TYPE_DATETIME: if ($value->getValue()) { $this->info->addProperty($def->getTitle(), ilDatePresentation::formatDate(new ilDateTime($value->getValue(), IL_CAL_UNIX))); } break; } } } }
/** * Edit one record * * @access public * @param * */ public function editRecord() { // reset session $_SESSION['num_values'] = 5; $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.edit_record.html', 'Services/AdvancedMetaData'); $this->ctrl->saveParameter($this, 'record_id'); $this->initRecordObject(); $this->initForm('edit'); $this->tpl->setVariable('EDIT_RECORD_TABLE', $this->form->getHTML()); // show field table include_once './Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php'; $fields = ilAdvancedMDFieldDefinition::_getDefinitionsByRecordId($this->record->getRecordId()); include_once "./Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldTableGUI.php"; $table_gui = new ilAdvancedMDFieldTableGUI($this, "editRecord"); $table_gui->setTitle($this->lng->txt("md_adv_field_table")); $table_gui->parseDefinitions($fields); $table_gui->addCommandButton("updateFields", $this->lng->txt("save")); $table_gui->addCommandButton('createField', $this->lng->txt('add')); $table_gui->addCommandButton('showRecords', $this->lng->txt('cancel')); $table_gui->addMultiCommand("confirmDeleteFields", $this->lng->txt("delete")); $table_gui->setSelectAllCheckbox("field_id"); $this->tpl->setVariable('FIELDS_TABLE', $table_gui->getHTML()); }