5 include_once(
"./Services/Table/classes/class.ilTableGUI.php");
63 $this->lng->loadLanguageModule(
'administration');
68 $this->objDefinition = $objDefinition;
71 $ilMainMenu->setActive(
"administration");
73 $this->creation_mode =
false;
75 $this->ctrl->saveParameter($this, array(
"ref_id",
"admin_mode"));
77 if ($_GET[
"admin_mode"] !=
"repository")
79 $_GET[
"admin_mode"] =
"settings";
83 $this->ctrl->setReturn($this,
"");
86 if (!empty($_GET[
"ref_id"]) && $tree->isInTree($_GET[
"ref_id"]))
88 $this->cur_ref_id = $_GET[
"ref_id"];
94 if ($_GET[
"cmd"] !=
"getDropDown")
110 include_once
'./Services/MainMenu/classes/class.ilMainMenuGUI.php';
113 $ilias->raiseError($this->lng->txt(
'permission_denied'),$ilias->error_obj->WARNING);
118 $new_type =
$_POST[
"new_type"]
121 if ($new_type !=
"" && $this->ctrl->getCmd() ==
"create")
123 $this->creation_mode =
true;
127 if ($this->creation_mode)
129 $obj_type = $new_type;
130 $class_name = $this->objDefinition->getClassName($obj_type);
131 $next_class = strtolower(
"ilObj".$class_name.
"GUI");
132 $this->ctrl->setCmdClass($next_class);
136 elseif ($this->ctrl->getCmdClass() ==
"ilobjlanguageextgui")
138 $next_class =
"ilobjlanguageextgui";
142 $next_class = $this->ctrl->getNextClass($this);
146 if (($next_class ==
"iladministrationgui" || $next_class ==
""
147 ) && ($this->ctrl->getCmd() ==
"return"))
151 $class_name = $this->objDefinition->getClassName($obj_type);
152 $next_class = strtolower(
"ilObj".$class_name.
"GUI");
153 $this->ctrl->setCmdClass($next_class);
154 $this->ctrl->setCmd(
"view");
157 $cmd = $this->ctrl->getCmd(
"forward");
165 if ($next_class !=
"" && $next_class !=
"iladministrationgui")
168 include_once (
"./Services/Database/classes/class.ilDBUpdate.php");
169 $dbupdate =
new ilDBUpdate($this->ilias->db,
true);
170 if (!$dbupdate->getDBVersionStatus())
174 else if ($dbupdate->hotfixAvailable())
179 $class_path = $this->ctrl->lookupClassPath($next_class);
181 include_once($class_path);
182 $class_name = $this->ctrl->getClassForClasspath($class_path);
183 if (($next_class ==
"ilobjrolegui" || $next_class ==
"ilobjusergui"
184 || $next_class ==
"ilobjroletemplategui"
185 || $next_class ==
"ilobjstylesheetgui"))
187 if (
$_GET[
"obj_id"] !=
"")
189 $this->gui_obj =
new $class_name(
"",
$_GET[
"obj_id"],
false,
false);
190 $this->gui_obj->setCreationMode(
false);
194 $this->gui_obj =
new $class_name(
"", $this->cur_ref_id,
true,
false);
195 $this->gui_obj->setCreationMode(
true);
202 $this->gui_obj =
new $class_name($this->cur_ref_id);
206 if(is_subclass_of($class_name,
"ilObject2GUI"))
212 $this->gui_obj =
new $class_name(
"", $this->cur_ref_id,
true,
false);
215 $this->gui_obj->setCreationMode($this->creation_mode);
217 $tabs_out = ($new_type ==
"")
229 $this->ctrl->setReturn($this,
"return");
230 $ret = $this->ctrl->forwardCommand($this->gui_obj);
231 $html = $this->gui_obj->getHTML();
235 $this->tpl->setVariable(
"OBJECTS", $html);
241 $cmd = $this->ctrl->getCmd(
"forward");
255 if (
$_GET[
"admin_mode"] !=
"repository")
260 $this->ctrl->setParameterByClass(
"iladministrationgui",
"admin_mode",
"settings");
263 $this->ctrl->setParameterByClass(
"ilobjuserfoldergui",
"jmpToUser",
264 (
int)$_GET[
"jmpToUser"]);
265 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"jumpToUser");
269 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"view");
274 $this->ctrl->setParameter($this,
"ref_id", SYSTEM_FOLDER_ID);
275 $this->ctrl->setParameterByClass(
"iladministrationgui",
"admin_mode",
"settings");
280 $url_parts = parse_url(base64_decode(rawurldecode(
$_GET[
'fr'])));
281 if($url_parts[
'http'] || $url_parts[
'host'])
285 $ilias->raiseError($this->lng->txt(
'permission_denied'), $ilias->error_obj->MESSAGE);
288 $fs_gui->setMainFrameSource(
289 base64_decode(rawurldecode(
$_GET[
'fr'])));
294 $fs_gui->setMainFrameSource(
295 $this->ctrl->getLinkTargetByClass(
"ilobjsystemfoldergui",
"view"));
296 $this->ctrl->redirectByClass(
"ilobjsystemfoldergui",
"view");
302 $this->ctrl->setParameter($this,
"ref_id", ROOT_FOLDER_ID);
303 $this->ctrl->setParameterByClass(
"iladministrationgui",
"admin_mode",
"repository");
304 $this->ctrl->redirectByClass(
"ilobjrootfoldergui",
"view");
315 if (
$_GET[
"admin_mode"] !=
"repository")
320 include_once(
"./Services/Administration/classes/class.ilAdministrationExplorerGUI.php");
322 if (!$exp->handleCommand())
324 $tpl->setLeftNavContent($exp->getHTML());
335 $ilCtrl->setParameterByClass(
"ilobjcomponentsettingsgui",
"ctype",
$_GET[
"ctype"]);
336 $ilCtrl->setParameterByClass(
"ilobjcomponentsettingsgui",
"cname",
$_GET[
"cname"]);
337 $ilCtrl->setParameterByClass(
"ilobjcomponentsettingsgui",
"slot_id",
$_GET[
"slot_id"]);
339 if(
$_GET[
"plugin_id"])
341 $ilCtrl->setParameter($this,
"plugin_id",
$_GET[
"plugin_id"]);
342 $ilCtrl->redirectByClass(
"ilobjcomponentsettingsgui",
"showPlugin");
346 $ilCtrl->redirectByClass(
"ilobjcomponentsettingsgui",
"listPlugins");
357 $tpl =
new ilTemplate(
"tpl.admin_drop_down.html",
true,
true,
"Services/Administration");
359 $objects = $tree->getChilds(SYSTEM_FOLDER_ID);
361 foreach($objects as $object)
363 $new_objects[$object[
"title"].
":".$object[
"child"]]
366 if($object[
"type"] ==
"orgu")
367 $new_objects[$object[
"title"].
":".$object[
"child"]][
"title"] = $lng->txt(
"obj_orgu");
372 $new_objects[$lng->txt(
"repository_admin").
":".ROOT_FOLDER_ID] =
375 "child" => ROOT_FOLDER_ID,
376 "ref_id" => ROOT_FOLDER_ID,
379 "title" => $lng->txt(
"repository_admin"),
380 "description" => $lng->txt(
"repository_admin_desc"),
381 "desc" => $lng->txt(
"repository_admin_desc"),
386 $new_objects[$lng->txt(
"general_settings").
":".SYSTEM_FOLDER_ID] =
389 "child" => SYSTEM_FOLDER_ID,
390 "ref_id" => SYSTEM_FOLDER_ID,
393 "title" => $lng->txt(
"general_settings"),
399 foreach ($new_objects as $c)
402 if ($tree->getParentId($c[
"ref_id"]) == ROOT_FOLDER_ID && $c[
"type"] !=
"adm" &&
403 $_GET[
"admin_mode"] !=
"repository")
409 if ($c[
"type"] ==
"" || $c[
"type"] ==
"objf" ||
414 $accessible = $rbacsystem->checkAccess(
'visible,read', $c[
"ref_id"]);
419 if ($c[
"ref_id"] == ROOT_FOLDER_ID &&
420 !$rbacsystem->checkAccess(
'write', $c[
"ref_id"]))
424 if ($c[
"type"] ==
"rolf" && $c[
"ref_id"] != ROLE_FOLDER_ID)
433 foreach ($items as $i)
435 $titems[$i[
"type"]] = $i;
442 array(
"adm",
"stys",
"adve",
"lngf",
"cmps",
"accs",
"hlps",
"trac"),
444 array(
"usrf",
'tos',
"rolf",
"auth",
"ps",
"orgu")
448 array(
"pdts",
"nwss",
"tags",
"prfa",
"skmg",
"cals",
"mail",
449 "---",
"seas",
"mds",
"cert",
'ecss',
"pays",
"extt")
453 array(
"reps",
"---",
"blga",
"chta",
"crss",
"facs",
"frma",
454 "grps",
"lrss",
"mcts",
"mobs",
"svyf",
"assf",
"wbrs",
"wiks",
455 "---",
'otpl',
"root",
"recf")
461 for ($i = 1; $i <= 3; $i++)
463 $groups[$i] = array();
464 foreach ($layout[$i] as $group => $entries)
466 $groups[$i][$group] = array();
467 $entries_since_last_sep =
false;
468 foreach ($entries as $e)
470 if ($e ==
"---" || $titems[$e][
"type"] !=
"")
472 if ($e ==
"---" && $entries_since_last_sep)
474 $groups[$i][$group][] = $e;
475 $entries_since_last_sep =
false;
477 else if ($e !=
"---")
479 $groups[$i][$group][] = $e;
480 $entries_since_last_sep =
true;
487 include_once(
"./Services/UIComponent/GroupedList/classes/class.ilGroupedListGUI.php");
490 for ($i = 1; $i <= 3; $i++)
496 foreach ($groups[$i] as $group => $entries)
498 if (count($entries) > 0)
500 $gl->addGroupHeader($lng->txt(
"adm_".$group));
502 foreach ($entries as $e)
511 $icon = (
$path !=
"")
515 if (
$_GET[
"admin_mode"] ==
"settings" && $titems[$e][
"ref_id"] == ROOT_FOLDER_ID)
517 $gl->addEntry($icon.$titems[$e][
"title"],
518 "ilias.php?baseClass=ilAdministrationGUI&ref_id=".
519 $titems[$e][
"ref_id"].
"&admin_mode=repository",
520 "_top",
"",
"",
"mm_adm_rep",
522 "bottom center",
"top center",
false);
526 $gl->addEntry($icon.$titems[$e][
"title"],
527 "ilias.php?baseClass=ilAdministrationGUI&ref_id=".
528 $titems[$e][
"ref_id"].
"&cmd=jump",
529 "_top",
"",
"",
"mm_adm_".$titems[$e][
"type"],
531 "bottom center",
"top center",
false);
550 global
$ilCtrl, $objDefinition;
555 $class_name = $objDefinition->getClassName($obj_type);
556 $class = strtolower(
"ilObj".$class_name.
"GUI");
557 $ilCtrl->setParameterByClass($class,
"ref_id",
$ref_id);
558 $ilCtrl->redirectByClass($class,
"view");