ILIAS  Release_4_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilObjMediaObjectsSettingsGUI.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3 include_once("./classes/class.ilObjectGUI.php");
4 
5 
18 {
24  public function __construct($a_data, $a_id, $a_call_by_reference = true, $a_prepare_output = true)
25  {
26  $this->type = 'mobs';
27  parent::ilObjectGUI($a_data, $a_id, $a_call_by_reference, $a_prepare_output);
28 
29  $this->lng->loadLanguageModule('mob');
30  $this->lng->loadLanguageModule('mep');
31  $this->lng->loadLanguageModule('content');
32  }
33 
40  public function executeCommand()
41  {
42  global $rbacsystem,$ilErr,$ilAccess;
43 
44  $next_class = $this->ctrl->getNextClass($this);
45  $cmd = $this->ctrl->getCmd();
46 
47  $this->prepareOutput();
48 
49  if(!$ilAccess->checkAccess('read','',$this->object->getRefId()))
50  {
51  $ilErr->raiseError($this->lng->txt('no_permission'),$ilErr->WARNING);
52  }
53 
54  switch($next_class)
55  {
56  case 'ilpermissiongui':
57  $this->tabs_gui->setTabActive('perm_settings');
58  include_once("Services/AccessControl/classes/class.ilPermissionGUI.php");
59  $perm_gui =& new ilPermissionGUI($this);
60  $ret =& $this->ctrl->forwardCommand($perm_gui);
61  break;
62 
63  default:
64  if(!$cmd || $cmd == 'view')
65  {
66  $cmd = "editSettings";
67  }
68 
69  $this->$cmd();
70  break;
71  }
72  return true;
73  }
74 
81  public function getAdminTabs()
82  {
83  global $rbacsystem, $ilAccess, $ilTabs;
84 
85  if ($ilAccess->checkAccess("write", "", $this->object->getRefId()))
86  {
87  $ilTabs->addTarget("settings",
88  $this->ctrl->getLinkTarget($this, "editSettings"),
89  array("editSettings", "view"));
90  }
91 
92  if ($ilAccess->checkAccess('edit_permission', "", $this->object->getRefId()))
93  {
94  $ilTabs->addTarget("perm_settings",
95  $this->ctrl->getLinkTargetByClass('ilpermissiongui',"perm"),
96  array(),'ilpermissiongui');
97  }
98  }
99 
103  function editSettings($a_omit_init = false)
104  {
105  global $tpl;
106 
107  $this->checkPermission("write");
108 
109  if (!$a_omit_init)
110  {
112  $this->getSettingsValues();
113  }
114  $tpl->setContent($this->form->getHTML());
115  }
116 
120  public function saveSettings()
121  {
122  global $tpl, $lng, $ilCtrl;
123 
125  if ($this->form->checkInput())
126  {
127  // perform save
128  $mset = new ilSetting("mobs");
129  $mset->set("mep_activate_pages", $_POST["activate_pages"]);
130  $mset->set("file_manager_always", $_POST["file_manager_always"]);
131 
132  ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
133  $ilCtrl->redirect($this, "editSettings");
134  }
135 
136  $this->form->setValuesByPost();
137  $this->editSettings(true);
138  }
139 
144  {
145  global $lng, $ilCtrl;
146 
147 
148  include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
149  $this->form = new ilPropertyFormGUI();
150 
151  // activate page in media pool
152  $cb = new ilCheckboxInputGUI($lng->txt("mobs_activate_pages"), "activate_pages");
153  $cb->setInfo($lng->txt("mobs_activate_pages_info"));
154  $this->form->addItem($cb);
155 
156  // activate page in media pool
157  $cb = new ilCheckboxInputGUI($lng->txt("mobs_always_show_file_manager"), "file_manager_always");
158  $cb->setInfo($lng->txt("mobs_always_show_file_manager_info"));
159  $this->form->addItem($cb);
160 
161  $this->form->addCommandButton("saveSettings", $lng->txt("save"));
162 
163  $this->form->setTitle($lng->txt("settings"));
164  $this->form->setFormAction($ilCtrl->getFormAction($this));
165  }
166 
170  public function getSettingsValues()
171  {
172  $values = array();
173 
174  $mset = new ilSetting("mobs");
175  $values["activate_pages"] = $mset->get("mep_activate_pages");
176  $values["file_manager_always"] = $mset->get("file_manager_always");
177 
178  $this->form->setValuesByArray($values);
179  }
180 
181 }
182 ?>