Ejemplo n.º 1
0
 /**
  * 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));
 }