ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
class.ilObjWebResourceAdministrationGUI.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2010 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
4 include_once "./Services/Object/classes/class.ilObjectGUI.php" ;
5 
17 {
18  public function __construct($a_data, $a_id, $a_call_by_reference = true, $a_prepare_output = true)
19  {
20  $this->type = "wbrs";
21  parent::__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output);
22 
23  $this->lng->loadLanguageModule("webr");
24  }
25 
26  public function executeCommand()
27  {
28  global $DIC;
29 
30  $ilAccess = $DIC['ilAccess'];
31  $ilErr = $DIC['ilErr'];
32 
33  $next_class = $this->ctrl->getNextClass($this);
34  $cmd = $this->ctrl->getCmd();
35 
36  $this->prepareOutput();
37 
38  if (!$ilAccess->checkAccess("read", "", $this->object->getRefId())) {
39  $ilErr->raiseError($this->lng->txt("no_permission"), $ilErr->WARNING);
40  }
41 
42  switch ($next_class) {
43  case 'ilpermissiongui':
44  $this->tabs_gui->setTabActive("perm_settings");
45  include_once "Services/AccessControl/classes/class.ilPermissionGUI.php";
46  $perm_gui = new ilPermissionGUI($this);
47  $this->ctrl->forwardCommand($perm_gui);
48  break;
49 
50  default:
51  if (!$cmd || $cmd == "view") {
52  $cmd = "editSettings";
53  }
54  $this->$cmd();
55  break;
56  }
57  return true;
58  }
59 
60  public function getAdminTabs()
61  {
62  global $DIC;
63 
64  $rbacsystem = $DIC['rbacsystem'];
65 
66  if ($rbacsystem->checkAccess("visible,read", $this->object->getRefId())) {
67  $this->tabs_gui->addTarget(
68  "settings",
69  $this->ctrl->getLinkTarget($this, "editSettings"),
70  array("editSettings", "view")
71  );
72  }
73 
74  if ($rbacsystem->checkAccess("edit_permission", $this->object->getRefId())) {
75  $this->tabs_gui->addTarget(
76  "perm_settings",
77  $this->ctrl->getLinkTargetByClass("ilpermissiongui", "perm"),
78  array(),
79  "ilpermissiongui"
80  );
81  }
82  }
83 
84  public function editSettings(ilObjPropertyFormGUI $a_form = null)
85  {
86  $this->tabs_gui->setTabActive('settings');
87 
88  if (!$a_form) {
89  $a_form = $this->initFormSettings();
90  }
91  $this->tpl->setContent($a_form->getHTML());
92  return true;
93  }
94 
95  public function saveSettings()
96  {
97  global $DIC;
98 
99  $ilSetting = $DIC['ilSetting'];
100 
101  $this->checkPermission("write");
102 
103  $form = $this->initFormSettings();
104  if ($form->checkInput()) {
105  $ilSetting->set("links_dynamic", $form->getInput("links_dynamic"));
106 
107  ilUtil::sendSuccess($this->lng->txt("settings_saved"), true);
108  $this->ctrl->redirect($this, "editSettings");
109  }
110 
111  $form->setValuesByPost();
112  $this->editSettings($form);
113  }
114 
115  protected function initFormSettings()
116  {
117  global $DIC;
118 
119  $ilSetting = $DIC['ilSetting'];
120  $ilAccess = $DIC['ilAccess'];
121 
122  include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
123  $form = new ilPropertyFormGUI();
124  $form->setFormAction($this->ctrl->getFormAction($this, "saveSettings"));
125  $form->setTitle($this->lng->txt("settings"));
126 
127  // dynamic web links
128  $cb = new ilCheckboxInputGUI($this->lng->txt("links_dynamic"), "links_dynamic");
129  $cb->setInfo($this->lng->txt("links_dynamic_info"));
130  $cb->setChecked($ilSetting->get("links_dynamic"));
131  $form->addItem($cb);
132 
133  if ($ilAccess->checkAccess("write", '', $this->object->getRefId())) {
134  $form->addCommandButton("saveSettings", $this->lng->txt("save"));
135  $form->addCommandButton("view", $this->lng->txt("cancel"));
136  }
137 
138  return $form;
139  }
140 }
This class represents a property form user interface.
global $DIC
Definition: saml.php:7
This class represents a checkbox property in a property form.
__construct($a_data, $a_id, $a_call_by_reference=true, $a_prepare_output=true)
setInfo($a_info)
Set Information Text.
prepareOutput($a_show_subobjects=true)
prepare output
if(isset($_POST['submit'])) $form
Class ilObjectGUI Basic methods of all Output classes.
global $ilSetting
Definition: privfeed.php:17
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.