5 include_once(
"./Services/Table/classes/class.ilTableGUI.php");
65 $this->lng->loadLanguageModule(
'administration');
70 $this->objDefinition = $objDefinition;
73 $ilMainMenu->setActive(
"administration");
75 $this->creation_mode =
false;
77 $this->ctrl->saveParameter($this, array(
"ref_id",
"admin_mode"));
79 if ($_GET[
"admin_mode"] !=
"repository")
81 $_GET[
"admin_mode"] =
"settings";
85 $this->ctrl->setReturn($this,
"");
88 if (!empty($_GET[
"ref_id"]) && $tree->isInTree($_GET[
"ref_id"]))
90 $this->cur_ref_id = $_GET[
"ref_id"];
96 if ($_GET[
"cmd"] !=
"getDropDown")
112 include_once
'./Services/MainMenu/classes/class.ilMainMenuGUI.php';
115 $ilias->raiseError($this->lng->txt(
'permission_denied'),$ilias->error_obj->WARNING);
120 $new_type =
$_POST[
"new_type"]
123 if ($new_type !=
"" && $this->ctrl->getCmd() ==
"create")
125 $this->creation_mode =
true;
129 if ($this->creation_mode)
131 $obj_type = $new_type;
132 $class_name = $this->objDefinition->getClassName($obj_type);
133 $next_class = strtolower(
"ilObj".$class_name.
"GUI");
134 $this->ctrl->setCmdClass($next_class);
138 elseif ($this->ctrl->getCmdClass() ==
"ilobjlanguageextgui")
140 $next_class =
"ilobjlanguageextgui";
144 $next_class = $this->ctrl->getNextClass($this);
148 if (($next_class ==
"iladministrationgui" || $next_class ==
""
149 ) && ($this->ctrl->getCmd() ==
"return"))
153 $class_name = $this->objDefinition->getClassName($obj_type);
154 $next_class = strtolower(
"ilObj".$class_name.
"GUI");
155 $this->ctrl->setCmdClass($next_class);
156 $this->ctrl->setCmd(
"view");
159 $cmd = $this->ctrl->getCmd(
"forward");
167 if ($next_class !=
"" && $next_class !=
"iladministrationgui")
170 include_once (
"./Services/Database/classes/class.ilDBUpdate.php");
171 $dbupdate =
new ilDBUpdate($this->ilias->db,
true);
172 if (!$dbupdate->getDBVersionStatus())
176 else if ($dbupdate->hotfixAvailable())
181 $class_path = $this->ctrl->lookupClassPath($next_class);
183 include_once($class_path);
184 $class_name = $this->ctrl->getClassForClasspath($class_path);
185 if (($next_class ==
"ilobjrolegui" || $next_class ==
"ilobjusergui"
186 || $next_class ==
"ilobjroletemplategui"
187 || $next_class ==
"ilobjstylesheetgui"))
189 if (
$_GET[
"obj_id"] !=
"")
191 $this->gui_obj =
new $class_name(
"",
$_GET[
"obj_id"],
false,
false);
192 $this->gui_obj->setCreationMode(
false);
196 $this->gui_obj =
new $class_name(
"", $this->cur_ref_id,
true,
false);
197 $this->gui_obj->setCreationMode(
true);
204 $this->gui_obj =
new $class_name($this->cur_ref_id);
208 if(is_subclass_of($class_name,
"ilObject2GUI"))
214 $this->gui_obj =
new $class_name(
"", $this->cur_ref_id,
true,
false);
217 $this->gui_obj->setCreationMode($this->creation_mode);
219 $tabs_out = ($new_type ==
"")
231 $this->ctrl->setReturn($this,
"return");
232 $ret = $this->ctrl->forwardCommand($this->gui_obj);
233 $html = $this->gui_obj->getHTML();
237 $this->tpl->setVariable(
"OBJECTS", $html);
243 $cmd = $this->ctrl->getCmd(
"forward");
257 if (
$_GET[
"admin_mode"] !=
"repository")
262 $this->ctrl->setParameterByClass(
"iladministrationgui",
"admin_mode",
"settings");
265 $this->ctrl->setParameterByClass(
"ilobjuserfoldergui",
"jmpToUser",
266 (
int)$_GET[
"jmpToUser"]);
267 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"jumpToUser");
271 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"view");
276 $this->ctrl->setParameter($this,
"ref_id", SYSTEM_FOLDER_ID);
277 $this->ctrl->setParameterByClass(
"iladministrationgui",
"admin_mode",
"settings");
282 $url_parts = parse_url(base64_decode(rawurldecode(
$_GET[
'fr'])));
283 if($url_parts[
'http'] || $url_parts[
'host'])
287 $ilias->raiseError($this->lng->txt(
'permission_denied'), $ilias->error_obj->MESSAGE);
290 $fs_gui->setMainFrameSource(
291 base64_decode(rawurldecode(
$_GET[
'fr'])));
296 $fs_gui->setMainFrameSource(
297 $this->ctrl->getLinkTargetByClass(
"ilobjsystemfoldergui",
"view"));
298 $this->ctrl->redirectByClass(
"ilobjsystemfoldergui",
"view");
304 $this->ctrl->setParameter($this,
"ref_id", ROOT_FOLDER_ID);
305 $this->ctrl->setParameterByClass(
"iladministrationgui",
"admin_mode",
"repository");
306 $this->ctrl->redirectByClass(
"ilobjrootfoldergui",
"view");
317 if (
$_GET[
"admin_mode"] !=
"repository")
322 include_once(
"./Services/Administration/classes/class.ilAdministrationExplorerGUI.php");
324 if (!$exp->handleCommand())
326 $tpl->setLeftNavContent($exp->getHTML());
337 $ilCtrl->setParameterByClass(
"ilobjcomponentsettingsgui",
"ctype",
$_GET[
"ctype"]);
338 $ilCtrl->setParameterByClass(
"ilobjcomponentsettingsgui",
"cname",
$_GET[
"cname"]);
339 $ilCtrl->setParameterByClass(
"ilobjcomponentsettingsgui",
"slot_id",
$_GET[
"slot_id"]);
341 if(
$_GET[
"plugin_id"])
343 $ilCtrl->setParameter($this,
"plugin_id",
$_GET[
"plugin_id"]);
344 $ilCtrl->redirectByClass(
"ilobjcomponentsettingsgui",
"showPlugin");
348 $ilCtrl->redirectByClass(
"ilobjcomponentsettingsgui",
"listPlugins");
359 $tpl =
new ilTemplate(
"tpl.admin_drop_down.html",
true,
true,
"Services/Administration");
361 $objects = $tree->getChilds(SYSTEM_FOLDER_ID);
363 foreach($objects as $object)
365 $new_objects[$object[
"title"].
":".$object[
"child"]]
368 if($object[
"type"] ==
"orgu")
369 $new_objects[$object[
"title"].
":".$object[
"child"]][
"title"] = $lng->txt(
"obj_orgu");
374 $new_objects[$lng->txt(
"repository_admin").
":".ROOT_FOLDER_ID] =
377 "child" => ROOT_FOLDER_ID,
378 "ref_id" => ROOT_FOLDER_ID,
381 "title" => $lng->txt(
"repository_admin"),
382 "description" => $lng->txt(
"repository_admin_desc"),
383 "desc" => $lng->txt(
"repository_admin_desc"),
388 $new_objects[$lng->txt(
"general_settings").
":".SYSTEM_FOLDER_ID] =
391 "child" => SYSTEM_FOLDER_ID,
392 "ref_id" => SYSTEM_FOLDER_ID,
395 "title" => $lng->txt(
"general_settings"),
401 foreach ($new_objects as $c)
404 if ($tree->getParentId($c[
"ref_id"]) == ROOT_FOLDER_ID && $c[
"type"] !=
"adm" &&
405 $_GET[
"admin_mode"] !=
"repository")
411 if ($c[
"type"] ==
"" || $c[
"type"] ==
"objf" ||
416 $accessible = $rbacsystem->checkAccess(
'visible,read', $c[
"ref_id"]);
421 if ($c[
"ref_id"] == ROOT_FOLDER_ID &&
422 !$rbacsystem->checkAccess(
'write', $c[
"ref_id"]))
426 if ($c[
"type"] ==
"rolf" && $c[
"ref_id"] != ROLE_FOLDER_ID)
435 foreach ($items as $i)
437 $titems[$i[
"type"]] = $i;
444 array(
"adm",
"stys",
"adve",
"lngf",
"cmps",
"accs",
"hlps",
"trac"),
446 array(
"usrf",
'tos',
"rolf",
"auth",
"ps",
"orgu")
450 array(
"pdts",
"nwss",
"tags",
"prfa",
"skmg",
"cals",
"mail",
451 "---",
"seas",
"mds",
"taxs",
"cert",
'ecss',
"pays",
"extt")
455 array(
"reps",
"---",
"bibs",
"blga",
"chta",
"crss",
"excs",
"facs",
"frma",
456 "grps",
"lrss",
"mcts",
"mobs",
"svyf",
"assf",
"wbrs",
"wiks",
457 "---",
'otpl',
"root",
"recf")
463 for ($i = 1; $i <= 3; $i++)
465 $groups[$i] = array();
466 foreach ($layout[$i] as $group => $entries)
468 $groups[$i][$group] = array();
469 $entries_since_last_sep =
false;
470 foreach ($entries as $e)
472 if ($e ==
"---" || $titems[$e][
"type"] !=
"")
474 if ($e ==
"---" && $entries_since_last_sep)
476 $groups[$i][$group][] = $e;
477 $entries_since_last_sep =
false;
479 else if ($e !=
"---")
481 $groups[$i][$group][] = $e;
482 $entries_since_last_sep =
true;
489 include_once(
"./Services/UIComponent/GroupedList/classes/class.ilGroupedListGUI.php");
491 $gl->setAsDropDown(
true);
493 for ($i = 1; $i <= 3; $i++)
499 foreach ($groups[$i] as $group => $entries)
501 if (count($entries) > 0)
503 $gl->addGroupHeader($lng->txt(
"adm_".$group));
505 foreach ($entries as $e)
514 $icon = (
$path !=
"")
518 if (
$_GET[
"admin_mode"] ==
"settings" && $titems[$e][
"ref_id"] == ROOT_FOLDER_ID)
520 $gl->addEntry($icon.$titems[$e][
"title"],
521 "ilias.php?baseClass=ilAdministrationGUI&ref_id=".
522 $titems[$e][
"ref_id"].
"&admin_mode=repository",
523 "_top",
"",
"",
"mm_adm_rep",
525 "bottom center",
"top center",
false);
529 $gl->addEntry($icon.$titems[$e][
"title"],
530 "ilias.php?baseClass=ilAdministrationGUI&ref_id=".
531 $titems[$e][
"ref_id"].
"&cmd=jump",
532 "_top",
"",
"",
"mm_adm_".$titems[$e][
"type"],
534 "bottom center",
"top center",
false);
553 global
$ilCtrl, $objDefinition;
558 $class_name = $objDefinition->getClassName($obj_type);
559 $class = strtolower(
"ilObj".$class_name.
"GUI");
560 $ilCtrl->setParameterByClass($class,
"ref_id",
$ref_id);
561 $ilCtrl->redirectByClass($class,
"view");