ILIAS  Release_4_2_x_branch Revision 61807
 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  $mset->set("restricted_file_types", $_POST["restricted_file_types"]);
132  $mset->set("upload_dir", $_POST["mob_upload_dir"]);
133 
134  ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
135  $ilCtrl->redirect($this, "editSettings");
136  }
137 
138  $this->form->setValuesByPost();
139  $this->editSettings(true);
140  }
141 
146  {
147  global $lng, $ilCtrl;
148 
149 
150  include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
151  $this->form = new ilPropertyFormGUI();
152 
153  // activate page in media pool
154  $cb = new ilCheckboxInputGUI($lng->txt("mobs_activate_pages"), "activate_pages");
155  $cb->setInfo($lng->txt("mobs_activate_pages_info"));
156  $this->form->addItem($cb);
157 
158  // activate page in media pool
159  $cb = new ilCheckboxInputGUI($lng->txt("mobs_always_show_file_manager"), "file_manager_always");
160  $cb->setInfo($lng->txt("mobs_always_show_file_manager_info"));
161  $this->form->addItem($cb);
162 
163  // allowed file types
164  $ta = new ilTextAreaInputGUI($this->lng->txt("mobs_restrict_file_types"), "restricted_file_types");
165  //$ta->setCols();
166  //$ta->setRows();
167  $ta->setInfo($this->lng->txt("mobs_restrict_file_types_info"));
168  $this->form->addItem($ta);
169 
170 
171  // Upload dir for learning resources
172  $tx_prop = new ilTextInputGUI($lng->txt("mob_upload_dir"),
173  "mob_upload_dir");
174  $tx_prop->setInfo($lng->txt("mob_upload_dir_info"));
175  $this->form->addItem($tx_prop);
176 
177  $this->form->addCommandButton("saveSettings", $lng->txt("save"));
178 
179  $this->form->setTitle($lng->txt("settings"));
180  $this->form->setFormAction($ilCtrl->getFormAction($this));
181  }
182 
186  public function getSettingsValues()
187  {
188  $values = array();
189 
190  $mset = new ilSetting("mobs");
191  $values["activate_pages"] = $mset->get("mep_activate_pages");
192  $values["file_manager_always"] = $mset->get("file_manager_always");
193  $values["restricted_file_types"] = $mset->get("restricted_file_types");
194  $values["mob_upload_dir"] = $mset->get("upload_dir");
195 
196  $this->form->setValuesByArray($values);
197  }
198 
199 }
200 ?>