/** * Init tag style editing form * * @param int $a_mode Form Edit Mode (IL_FORM_EDIT | IL_FORM_CREATE) */ public function initTagStyleForm($a_mode, $a_cur_tag) { global $lng, $ilCtrl; $ilCtrl->saveParameter($this, array("mq_id")); include_once "Services/Form/classes/class.ilPropertyFormGUI.php"; $this->form_gui = new ilPropertyFormGUI(); $avail_pars = $this->object->getAvailableParameters(); $groups = $this->object->getStyleParameterGroups(); // output select lists foreach ($groups as $k => $group) { // filter groups of properties that should only be // displayed with matching tag $filtered_groups = ilObjStyleSheet::_getFilteredGroups(); if (is_array($filtered_groups[$k]) && !in_array($a_cur_tag, $filtered_groups[$k])) { continue; } $sh = new ilFormSectionHeaderGUI(); $sh->setTitle($lng->txt("sty_" . $k)); $this->form_gui->addItem($sh); foreach ($group as $par) { $basepar = explode(".", $par); $basepar = $basepar[0]; $var = str_replace("-", "_", $basepar); $up_par = strtoupper($var); switch (ilObjStyleSheet::_getStyleParameterInputType($par)) { case "select": $sel_input = new ilSelectInputGUI($lng->txt("sty_" . $var), $basepar); $options = array("" => ""); foreach ($avail_pars[$par] as $p) { $options[$p] = $p; } $sel_input->setOptions($options); $this->form_gui->addItem($sel_input); break; case "text": $text_input = new ilTextInputGUI($lng->txt("sty_" . $var), $basepar); $text_input->setMaxLength(200); $text_input->setSize(20); $this->form_gui->addItem($text_input); break; case "fontsize": include_once "./Services/Style/classes/class.ilFontSizeInputGUI.php"; $fs_input = new ilFontSizeInputGUI($lng->txt("sty_" . $var), $basepar); $this->form_gui->addItem($fs_input); break; case "numeric_no_perc": case "numeric": include_once "./Services/Style/classes/class.ilNumericStyleValueInputGUI.php"; $num_input = new ilNumericStyleValueInputGUI($lng->txt("sty_" . $var), $basepar); if (ilObjStyleSheet::_getStyleParameterInputType($par) == "numeric_no_perc") { $num_input->setAllowPercentage(false); } $this->form_gui->addItem($num_input); break; case "percentage": $per_input = new ilNumberInputGUI($lng->txt("sty_" . $var), $basepar); $per_input->setMinValue(0); $per_input->setMaxValue(100); $per_input->setMaxLength(3); $per_input->setSize(3); $this->form_gui->addItem($per_input); break; case "color": //include_once("./Services/Style/classes/class.ilNumericStyleValueInputGUI.php"); $col_input = new ilColorPickerInputGUI($lng->txt("sty_" . $var), $basepar); $col_input->setDefaultColor(""); $col_input->setAcceptNamedColors(true); $this->form_gui->addItem($col_input); break; case "trbl_numeric": include_once "./Services/Style/classes/class.ilTRBLNumericStyleValueInputGUI.php"; $num_input = new ilTRBLNumericStyleValueInputGUI($lng->txt("sty_" . $var), $basepar); if (ilObjStyleSheet::_getStyleParameterInputType($par) == "trbl_numeric_no_perc") { $num_input->setAllowPercentage(false); } $this->form_gui->addItem($num_input); break; case "border_width": include_once "./Services/Style/classes/class.ilTRBLBorderWidthInputGUI.php"; $bw_input = new ilTRBLBorderWidthInputGUI($lng->txt("sty_" . $var), $basepar); $this->form_gui->addItem($bw_input); break; case "border_style": include_once "./Services/Style/classes/class.ilTRBLBorderStyleInputGUI.php"; $bw_input = new ilTRBLBorderStyleInputGUI($lng->txt("sty_" . $var), $basepar); $this->form_gui->addItem($bw_input); break; case "trbl_color": include_once "./Services/Style/classes/class.ilTRBLColorPickerInputGUI.php"; $col_input = new ilTRBLColorPickerInputGUI($lng->txt("sty_" . $var), $basepar); $col_input->setAcceptNamedColors(true); $this->form_gui->addItem($col_input); break; case "background_image": include_once "./Services/Style/classes/class.ilBackgroundImageInputGUI.php"; $im_input = new ilBackgroundImageInputGUI($lng->txt("sty_" . $var), $basepar); $imgs = array(); foreach ($this->object->getImages() as $entry) { $imgs[] = $entry["entry"]; } $im_input->setImages($imgs); $this->form_gui->addItem($im_input); break; case "background_position": include_once "./Services/Style/classes/class.ilBackgroundPositionInputGUI.php"; $im_input = new ilBackgroundPositionInputGUI($lng->txt("sty_" . $var), $basepar); $this->form_gui->addItem($im_input); break; } } } // custom parameters $sh = new ilFormSectionHeaderGUI(); $sh->setTitle($lng->txt("sty_custom")); $this->form_gui->addItem($sh); // custom parameters $ti = new ilTextInputGUI($this->lng->txt("sty_custom_par"), "custom_par"); $ti->setMaxLength(300); $ti->setSize(80); $ti->setMulti(true); $ti->setInfo($this->lng->txt("sty_custom_par_info")); $this->form_gui->addItem($ti); // save and cancel commands $this->form_gui->addCommandButton("updateTagStyle", $lng->txt("save_return")); $this->form_gui->addCommandButton("refreshTagStyle", $lng->txt("save_refresh")); // $this->form_gui->setTitle($lng->txt("edit")); $this->form_gui->setFormAction($this->ctrl->getFormAction($this)); }