4 include_once(
"./Services/Administration/classes/class.ilSettingsTemplate.php");
 
   27                 $ilCtrl->saveParameter($this, array(
"templ_id"));
 
   41                 $cmd = $ilCtrl->getCmd(
"listSettingsTemplates");
 
   52                 $this->config = $a_val;
 
   91                 $ilToolbar->addButton($lng->txt(
"adm_add_settings_template"),
 
   92                 $ilCtrl->getLinkTarget($this, 
"addSettingsTemplate"));
 
   94                 include_once(
"./Services/Administration/classes/class.ilSettingsTemplateTableGUI.php");
 
   98                 $tpl->setContent($table->getHTML());
 
  109                 $tpl->setContent($this->form->getHTML());
 
  121                 $tpl->setContent($this->form->getHTML());
 
  133                 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
  139                 $ti->setRequired(
true);
 
  140                 $this->form->addItem($ti);
 
  144                 $this->form->addItem($ti);
 
  147                 $tabs = $this->
getConfig()->getHidableTabs();
 
  148                 if (is_array($tabs) && count($tabs) > 0)
 
  151                         $sec->setTitle($lng->txt(
"adm_hide_tabs"));
 
  152                         $this->form->addItem($sec);
 
  158                                 $this->form->addItem($cb);
 
  163                 $settings = $this->
getConfig()->getSettings();
 
  164                 if (is_array($settings) && count($settings) > 0)
 
  167                         $sec->setTitle($lng->txt(
"adm_predefined_settings"));
 
  168                         $this->form->addItem($sec);
 
  170                         foreach($settings as $s)
 
  174                                 $this->form->addItem($cb);
 
  180                                                 $ti = 
new ilTextInputGUI($lng->txt(
"adm_value"), 
"value_".$s[
"id"]);
 
  193                                                 $si->setOptions($s[
"options"]);
 
  194                                                 $cb->addSubItem(
$si);
 
  199                                                 foreach($s[
'options'] as $key => $value) {
 
  203                                                 $cb->addSubItem($chbs);
 
  216                 if ($a_mode == 
"create")
 
  218                         $this->form->addCommandButton(
"saveSettingsTemplate", $lng->txt(
"save"));
 
  219                         $this->form->addCommandButton(
"listSettingsTemplates", $lng->txt(
"cancel"));
 
  220                         $this->form->setTitle($lng->txt(
"adm_add_settings_template"));
 
  224                         $this->form->addCommandButton(
"updateSettingsTemplate", $lng->txt(
"save"));
 
  225                         $this->form->addCommandButton(
"listSettingsTemplates", $lng->txt(
"cancel"));
 
  226                         $this->form->setTitle($lng->txt(
"adm_edit_settings_template"));
 
  229                 $this->form->setFormAction($ilCtrl->getFormAction($this));
 
  239                 $values[
"title"] = $this->settings_template->getTitle();
 
  240                 $values[
"description"] = $this->settings_template->getDescription();
 
  243                 $tabs = $this->settings_template->getHiddenTabs();
 
  244                 foreach ($tabs as 
$t)
 
  246                         $values[
"tab_".$t] = 
true;
 
  250                 $set = $this->settings_template->getSettings();
 
  251                 foreach($this->
getConfig()->getSettings() as $s)
 
  253                         if (isset($set[$s[
"id"]]))
 
  255                                 $values[
"set_".$s[
"id"]] = 
true;
 
  258                                     if (!is_array($set[$s[
"id"]][
"value"]))
 
  259                                         $ar = @unserialize($set[$s[
"id"]][
"value"]);
 
  261                                         $ar = $set[$s[
"id"]][
"value"];
 
  262                                     $values[
"value_".$s[
"id"]] = is_array($ar) ? $ar : array();
 
  265                                     $values[
"value_".$s[
"id"]] = $set[$s[
"id"]][
"value"];
 
  268                                 $values[
"hide_".$s[
"id"]] = $set[$s[
"id"]][
"hide"];
 
  271                 $this->form->setValuesByArray($values);
 
  282                 if ($this->form->checkInput())
 
  285                         $settings_template->setType($this->
getConfig()->getType());
 
  288                         $settings_template->create();
 
  291                         $ilCtrl->redirect($this, 
"listSettingsTemplates");
 
  294                 $this->form->setValuesByPost();
 
  295                 $tpl->setContent($this->form->getHtml());
 
  306                 if ($this->form->checkInput())
 
  309                         $this->settings_template->update();
 
  312                         $ilCtrl->redirect($this, 
"listSettingsTemplates");
 
  315                 $this->form->setValuesByPost();
 
  316                 $tpl->setContent($this->form->getHtml());
 
  328                 $a_set_templ->setTitle(
$_POST[
"title"]);
 
  329                 $a_set_templ->setDescription(
$_POST[
"description"]);
 
  332                 $a_set_templ->removeAllHiddenTabs();
 
  333                 foreach ($this->
getConfig()->getHidableTabs() as 
$t)
 
  335                         if (
$_POST[
"tab_".$t[
"id"]])
 
  337                                 $a_set_templ->addHiddenTab($t[
"id"]);
 
  342                 $a_set_templ->removeAllSettings();
 
  343                 foreach($this->
getConfig()->getSettings() as $s)
 
  345                         if (
$_POST[
"set_".$s[
"id"]])
 
  347                            $a_set_templ->setSetting(
 
  348                                         $s[
"id"], 
$_POST[
"value_".$s[
"id"]],
 
  349                                     $_POST[
"hide_".$s[
"id"]]);
 
  361                 if (!is_array(
$_POST[
"tid"]) || count(
$_POST[
"tid"]) == 0)
 
  364                         $ilCtrl->redirect($this, 
"listSettingsTemplates");
 
  368                         include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
 
  370                         $cgui->setFormAction($ilCtrl->getFormAction($this));
 
  371                         $cgui->setHeaderText($lng->txt(
"adm_sure_delete_settings_template"));
 
  372                         $cgui->setCancel($lng->txt(
"cancel"), 
"listSettingsTemplates");
 
  373                         $cgui->setConfirm($lng->txt(
"delete"), 
"deleteSettingsTemplate");
 
  375                         foreach (
$_POST[
"tid"] as $i)
 
  380                         $tpl->setContent($cgui->getHTML());
 
  394                 if (is_array(
$_POST[
"tid"]))
 
  396                         foreach (
$_POST[
"tid"] as $i)
 
  403                 $ilCtrl->redirect($this, 
"listSettingsTemplates");