/** * Update substitution * * @access public * */ public function updateSubstitutions() { foreach (ilAdvancedMDRecord::_getActivatedObjTypes() as $obj_type) { $perm = null; // :TODO: hardwired? if (in_array($obj_type, array("crs", "cat"))) { $perm = $this->getPermissions()->hasPermissions(ilAdvancedMDPermissionHelper::CONTEXT_SUBSTITUTION, $obj_type, array(ilAdvancedMDPermissionHelper::ACTION_SUBSTITUTION_SHOW_DESCRIPTION, ilAdvancedMDPermissionHelper::ACTION_SUBSTITUTION_SHOW_FIELDNAMES, ilAdvancedMDPermissionHelper::ACTION_SUBSTITUTION_FIELD_POSITIONS)); } include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDSubstitution.php'; $sub = ilAdvancedMDSubstitution::_getInstanceByObjectType($obj_type); if ($perm && $perm[ilAdvancedMDPermissionHelper::ACTION_SUBSTITUTION_SHOW_DESCRIPTION]) { $sub->enableDescription($_POST['enabled_desc_' . $obj_type]); } if ($perm && $perm[ilAdvancedMDPermissionHelper::ACTION_SUBSTITUTION_SHOW_FIELDNAMES]) { $sub->enableFieldNames((int) $_POST['enabled_field_names_' . $obj_type]); } $definitions = ilAdvancedMDFieldDefinition::getInstancesByObjType($obj_type); $definitions = $sub->sortDefinitions($definitions); // gather existing data $counter = 1; $old_sub = array(); foreach ($definitions as $def) { $field_id = $def->getFieldId(); $old_sub[$field_id] = array("active" => $sub->isSubstituted($field_id), "pos" => $counter++, "bold" => $sub->isBold($field_id), "newline" => $sub->hasNewline($field_id)); } $sub->resetSubstitutions(array()); $new_sub = array(); foreach ($definitions as $def) { $field_id = $def->getFieldId(); $old = $old_sub[$field_id]; $perm_def = $this->getSubstitutionFieldPermissions($obj_type, $field_id); if ($perm_def["show"]) { $active = isset($_POST['show'][$obj_type][$field_id]) && $_POST['show'][$obj_type][$field_id]; } else { $active = $old["active"]; } if ($active) { $new_sub[$field_id] = $old; if ($perm[ilAdvancedMDPermissionHelper::ACTION_SUBSTITUTION_FIELD_POSITIONS]) { $new_sub[$field_id]["pos"] = (int) $_POST['position'][$obj_type][$field_id]; } if ($perm_def["bold"]) { $new_sub[$field_id]["bold"] = isset($_POST['bold'][$obj_type][$field_id]) && $_POST['bold'][$obj_type][$field_id]; } if ($perm_def["newline"]) { $new_sub[$field_id]["newline"] = isset($_POST['newline'][$obj_type][$field_id]) && $_POST['newline'][$obj_type][$field_id]; } } } if (sizeof($new_sub)) { $new_sub = ilUtil::sortArray($new_sub, "pos", "asc", true, true); foreach ($new_sub as $field_id => $field) { $sub->appendSubstitution($field_id, $field["bold"], $field["newline"]); } } $sub->update(); } ilUtil::sendSuccess($this->lng->txt('settings_saved'), true); $this->ctrl->redirect($this, "showPresentation"); }
protected function setEditTabs($active_tab = "settings_misc") { $this->tabs_gui->addSubTab("settings_misc", $this->lng->txt("settings"), $this->ctrl->getLinkTarget($this, "edit")); $this->tabs_gui->addSubTab("settings_trans", $this->lng->txt("title_and_translations"), $this->ctrl->getLinkTarget($this, "editTranslations")); $this->tabs_gui->activateTab("settings"); $this->tabs_gui->activateSubTab($active_tab); include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php'; if (in_array('cat', ilAdvancedMDRecord::_getActivatedObjTypes())) { $this->tabs_gui->addSubTabTarget("edit_cat_settings", $this->ctrl->getLinkTarget($this, 'editInfo'), "editInfo", get_class($this)); } }
function __setSearchOptions(&$post_vars) { if (isset($_POST['cmd']['performSearch'])) { $this->options = $_SESSION['search_adv'] = $_POST['query']; } elseif (isset($_POST['cmd']['performAdvMDSearch'])) { $this->options = $_SESSION['search_adv_md'] = $_POST; } else { $this->options = $_SESSION['search_adv']; } $_POST['result'] = $_POST['id']; $this->filter = array(); $this->options['type'] = 'all'; switch ($this->options['type']) { case 'cat': $this->filter[] = 'cat'; break; case 'webr': $this->filter[] = 'webr'; break; case 'lms': $this->filter[] = 'lm'; $this->filter[] = 'dbk'; $this->filter[] = 'pg'; $this->filter[] = 'st'; $this->filter[] = 'sahs'; $this->filter[] = 'htlm'; break; case 'glo': $this->filter[] = 'glo'; break; case 'tst': $this->filter[] = 'tst'; $this->filter[] = 'svy'; $this->filter[] = 'qpl'; $this->filter[] = 'spl'; break; case 'mep': $this->filter[] = 'mep'; break; case 'crs': $this->filter[] = 'crs'; break; case 'file': $this->filter[] = 'file'; break; case 'adv_all': include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php'; $this->filter = ilAdvancedMDRecord::_getActivatedObjTypes(); break; case 'all': default: $this->filter[] = 'webr'; $this->filter[] = 'crs'; $this->filter[] = 'mep'; $this->filter[] = 'tst'; $this->filter[] = 'svy'; $this->filter[] = 'qpl'; $this->filter[] = 'spl'; $this->filter[] = 'glo'; $this->filter[] = 'lm'; $this->filter[] = 'dbk'; $this->filter[] = 'pg'; $this->filter[] = 'st'; $this->filter[] = 'sahs'; $this->filter[] = 'htlm'; $this->filter[] = 'file'; } return true; }
protected function setEditTabs($active_tab = "settings_misc") { global $ilSetting, $ilTabs; $this->tabs_gui->addSubTab("settings_misc", $this->lng->txt("settings"), $this->ctrl->getLinkTarget($this, "edit")); /*$this->tabs_gui->addSubTab("settings_trans", $this->lng->txt("title_and_translations"), $this->ctrl->getLinkTarget($this, "editTranslations"));*/ $this->tabs_gui->addSubTab("settings_trans", $this->lng->txt("obj_multilinguality"), $this->ctrl->getLinkTargetByClass("ilobjecttranslationgui", "")); // custom icon if ($ilSetting->get("custom_icons")) { $this->tabs_gui->addSubTab("icons", $this->lng->txt("icon_settings"), $this->ctrl->getLinkTarget($this, 'editIcons')); } $this->tabs_gui->activateTab("settings"); $this->tabs_gui->activateSubTab($active_tab); include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php'; if (in_array('cat', ilAdvancedMDRecord::_getActivatedObjTypes())) { $this->tabs_gui->addSubTabTarget("edit_cat_settings", $this->ctrl->getLinkTarget($this, 'editInfo'), "editInfo", get_class($this)); } }
/** * Update substitution * * @access public * */ public function updateSubstitutions() { foreach (ilAdvancedMDRecord::_getActivatedObjTypes() as $obj_type) { include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDSubstitution.php'; $sub = ilAdvancedMDSubstitution::_getInstanceByObjectType($obj_type); $sub->resetSubstitutions(array()); $sub->enableDescription($_POST['enabled_desc_' . $obj_type]); $sub->enableFieldNames((int) $_POST['enabled_field_names_' . $obj_type]); if (isset($_POST['position'][$obj_type])) { asort($_POST['position'][$obj_type], SORT_NUMERIC); foreach ($_POST['position'][$obj_type] as $field_id => $pos) { if (isset($_POST['show'][$obj_type][$field_id]) and $_POST['show'][$obj_type][$field_id]) { $newline = $bold = false; if (isset($_POST['bold'][$obj_type][$field_id]) and $_POST['bold'][$obj_type][$field_id]) { $bold = true; } if (isset($_POST['newline'][$obj_type][$field_id]) and $_POST['newline'][$obj_type][$field_id]) { $newline = true; } $sub->appendSubstitution($field_id, $bold, $newline); } } } $sub->update(); } ilUtil::sendSuccess($this->lng->txt('settings_saved')); $this->showRecords(); return true; }