/** * Constructor */ function __construct($a_parent_obj, $a_parent_cmd, $a_chars, $a_super_type, $a_style) { global $ilCtrl, $lng, $ilAccess, $lng, $rbacsystem; parent::__construct($a_parent_obj, $a_parent_cmd); $this->media_object = $a_media_object; $this->super_type = $a_super_type; $this->style = $a_style; $all_super_types = ilObjStyleSheet::_getStyleSuperTypes(); $this->types = $all_super_types[$this->super_type]; $this->core_styles = ilObjStyleSheet::_getCoreStyles(); $this->setData($a_chars); $this->setTitle($lng->txt("sty_" . $a_super_type . "_char")); $this->setLimit(9999); // check, whether any of the types is expandable $this->expandable = false; $this->hideable = false; foreach ($this->types as $t) { if (ilObjStyleSheet::_isExpandable($t)) { $this->expandable = true; } if (ilObjStyleSheet::_isHideable($t)) { $this->hideable = true; } } // if ($this->expandable) // { $this->addColumn("", "", "1"); // checkbox // } $this->addColumn($this->lng->txt("sty_name"), "", "1"); $this->addColumn($this->lng->txt("sty_type"), "", ""); $this->addColumn($this->lng->txt("sty_example"), "", ""); if ($this->hideable) { $this->addColumn($this->lng->txt("sty_hide"), "", ""); // hide checkbox } $this->addColumn($this->lng->txt("sty_commands"), "", "1"); $this->setEnableHeader(true); $this->setFormAction($ilCtrl->getFormAction($a_parent_obj)); $this->setRowTemplate("tpl.style_row.html", "Services/Style"); $this->disable("footer"); if ($rbacsystem->checkAccess("write", (int) $_GET["ref_id"])) { // action commands if ($this->hideable) { $this->addCommandButton("saveHideStatus", $lng->txt("sty_save_hide_status")); } $this->addMultiCommand("copyCharacteristics", $lng->txt("copy")); // action commands if ($this->expandable) { $this->addMultiCommand("deleteCharacteristicConfirmation", $lng->txt("delete")); //$this->addCommandButton("addCharacteristicForm", $lng->txt("sty_add_characteristic")); } } $this->setEnableTitle(true); }
/** * Init tag style editing form * * @param int $a_mode Form Edit Mode (IL_FORM_EDIT | IL_FORM_CREATE) */ public function initCharacteristicForm($a_mode) { global $lng, $ilCtrl; include_once "Services/Form/classes/class.ilPropertyFormGUI.php"; $this->form_gui = new ilPropertyFormGUI(); // title $txt_input = new ilRegExpInputGUI($lng->txt("title"), "new_characteristic"); $txt_input->setPattern("/^[a-zA-Z]+[a-zA-Z0-9]*\$/"); $txt_input->setNoMatchMessage($lng->txt("sty_msg_characteristic_must_only_include") . " A-Z, a-z, 1-9"); $txt_input->setRequired(true); $this->form_gui->addItem($txt_input); // type $all_super_types = ilObjStyleSheet::_getStyleSuperTypes(); $types = $all_super_types[$this->super_type]; $exp_types = array(); foreach ($types as $t) { if (ilObjStyleSheet::_isExpandable($t)) { $exp_types[$t] = $lng->txt("sty_type_" . $t); } } if (count($exp_types) > 1) { $type_input = new ilSelectInputGUI($lng->txt("sty_type"), "type"); $type_input->setOptions($exp_types); $type_input->setValue(key($exp_types)); $this->form_gui->addItem($type_input); } else { if (count($exp_types) == 1) { $hid_input = new ilHiddenInputGUI("type"); $hid_input->setValue(key($exp_types)); $this->form_gui->addItem($hid_input); } } $this->form_gui->setTitle($lng->txt("sty_add_characteristic")); $this->form_gui->addCommandButton("saveCharacteristic", $lng->txt("save")); $this->form_gui->addCommandButton("edit", $lng->txt("cancel")); $this->form_gui->setFormAction($ilCtrl->getFormAction($this)); }