ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
ilAdministrationGUI Class Reference

Class ilAdministratioGUI. More...

+ Collaboration diagram for ilAdministrationGUI:

Public Member Functions

 __construct ()
 Constructor public. More...
 
 executeCommand ()
 execute command More...
 
 forward ()
 Forward to class/command. More...
 
 showTree ()
 display tree view More...
 
 jumpToPluginSlot ()
 Special jump to plugin slot after ilCtrl has been reloaded. More...
 
 jump ()
 Jump to node. More...
 

Data Fields

 $lng
 
 $tpl
 
 $tree
 
 $rbacsystem
 
 $cur_ref_id
 
 $cmd
 
 $mode
 
 $ctrl
 

Protected Attributes

 $objDefinition
 
 $main_menu
 
 $help
 
 $error
 
 $db
 

Private Attributes

 $logger = null
 

Detailed Description

Class ilAdministratioGUI.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e

ilAdministrationGUI: ilObjGroupGUI, ilObjFolderGUI, ilObjFileGUI, ilObjCourseGUI, ilCourseObjectivesGUI ilAdministrationGUI: ilObjSAHSLearningModuleGUI, ilObjChatroomGUI, ilObjForumGUI ilAdministrationGUI: ilObjLearningModuleGUI, ilObjGlossaryGUI ilAdministrationGUI: ilObjQuestionPoolGUI, ilObjSurveyQuestionPoolGUI, ilObjTestGUI ilAdministrationGUI: ilObjSurveyGUI, ilObjExerciseGUI, ilObjMediaPoolGUI, ilObjFileBasedLMGUI ilAdministrationGUI: ilObjCategoryGUI, ilObjUserGUI, ilObjRoleGUI, ilObjUserFolderGUI ilAdministrationGUI: ilObjLinkResourceGUI ilAdministrationGUI: ilObjRoleTemplateGUI ilAdministrationGUI: ilObjRootFolderGUI, ilObjSessionGUI, ilObjPortfolioTemplateGUI ilAdministrationGUI: ilObjSystemFolderGUI, ilObjRoleFolderGUI, ilObjAuthSettingsGUI ilAdministrationGUI: ilObjChatServerGUI, ilObjLanguageFolderGUI, ilObjMailGUI ilAdministrationGUI: ilObjObjectFolderGUI, ilObjRecoveryFolderGUI ilAdministrationGUI: ilObjSearchSettingsGUI, ilObjStyleSettingsGUI ilAdministrationGUI: ilObjAssessmentFolderGUI, ilObjExternalToolsSettingsGUI, ilObjUserTrackingGUI ilAdministrationGUI: ilObjAdvancedEditingGUI, ilObjPrivacySecurityGUI, ilObjNewsSettingsGUI ilAdministrationGUI: ilObjMediaCastGUI ilAdministrationGUI: ilObjLanguageExtGUI, ilObjMDSettingsGUI, ilObjComponentSettingsGUI ilAdministrationGUI: ilObjCalendarSettingsGUI, ilObjSurveyAdministrationGUI ilAdministrationGUI: ilObjCategoryReferenceGUI, ilObjCourseReferenceGUI, ilObjRemoteCourseGUI, ilObjGroupReferenceGUI ilAdministrationGUI: ilObjForumAdministrationGUI, ilObjBlogGUI, ilObjPollGUI, ilObjDataCollectionGUI ilAdministrationGUI: ilObjRemoteCategoryGUI, ilObjRemoteWikiGUI, ilObjRemoteLearningModuleGUI ilAdministrationGUI: ilObjRemoteGlossaryGUI, ilObjRemoteFileGUI, ilObjRemoteGroupGUI, ilObjECSSettingsGUI ilAdministrationGUI: ilObjCloudGUI, ilObjRepositorySettingsGUI, ilObjWebResourceAdministrationGUI ilAdministrationGUI: ilObjCourseAdministrationGUI, ilObjGroupAdministrationGUI, ilObjExerciseAdministrationGUI ilAdministrationGUI: ilObjTaxonomyAdministrationGUI, ilObjLoggingSettingsGUI ilAdministrationGUI: ilObjBibliographicAdminGUI, ilObjBibliographicGUI ilAdministrationGUI: ilObjStudyProgrammeAdminGUI, ilObjStudyProgrammeGUI ilAdministrationGUI: ilObjBadgeAdministrationGUI, ilMemberExportSettingsGUI ilAdministrationGUI: ilObjFileAccessSettingsGUI, ilPermissionGUI, ilObjRemoteTestGUI, ilPropertyFormGUI ilAdministrationGUI: ilObjCmiXapiAdministrationGUI, ilObjCmiXapiGUI, ilObjLTIConsumerGUI ilAdministrationGUI: ilObjLearningSequenceAdminGUI, ilObjContentPageAdministrationGUI

Definition at line 43 of file class.ilAdministrationGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilAdministrationGUI::__construct ( )

Constructor public.

Definition at line 88 of file class.ilAdministrationGUI.php.

References $_GET, $_POST, $context, $DIC, $lng, $objDefinition, $rbacsystem, $tpl, $tree, help(), and ilUtil\isAPICall().

89  {
90  global $DIC;
91 
92  $this->main_menu = $DIC["ilMainMenu"];
93  $this->help = $DIC["ilHelp"];
94  $this->error = $DIC["ilErr"];
95  $this->db = $DIC->database();
96  $lng = $DIC->language();
97  $tpl = $DIC["tpl"];
98  $tree = $DIC->repositoryTree();
99  $rbacsystem = $DIC->rbac()->system();
100  $objDefinition = $DIC["objDefinition"];
101  $ilCtrl = $DIC->ctrl();
102  $ilMainMenu = $DIC["ilMainMenu"];
103 
104  $this->lng = $lng;
105  $this->lng->loadLanguageModule('administration');
106  $this->tpl = $tpl;
107  $this->tree = $tree;
108  $this->rbacsystem = $rbacsystem;
109  $this->objDefinition = $objDefinition;
110  $this->ctrl = $ilCtrl;
111 
112  $this->logger = $DIC->logger()->adm();
113 
114  $context = $DIC->globalScreen()->tool()->context();
115  $context->claim()->administration();
116 
117  $ilMainMenu->setActive("administration");
118 
119  $this->ctrl->saveParameter($this, array("ref_id", "admin_mode"));
120 
121  if ($_GET["admin_mode"] != "repository") {
122  $_GET["admin_mode"] = "settings";
123  }
124 
125  if (!ilUtil::isAPICall()) {
126  $this->ctrl->setReturn($this, "");
127  }
128 
129  // determine current ref id and mode
130  if (!empty($_GET["ref_id"]) && $tree->isInTree($_GET["ref_id"])) {
131  $this->cur_ref_id = $_GET["ref_id"];
132  } else {
133  //$this->cur_ref_id = $this->tree->getRootId();
134  $_POST = array();
135  if ($_GET["cmd"] != "getDropDown") {
136  $_GET["cmd"] = "";
137  }
138  }
139  }
$context
Definition: webdav.php:26
$_GET["client_id"]
help()
Definition: help.php:2
global $DIC
Definition: goto.php:24
$_POST["username"]
static isAPICall()
+ Here is the call graph for this function:

Member Function Documentation

◆ executeCommand()

ilAdministrationGUI::executeCommand ( )

execute command

Definition at line 145 of file class.ilAdministrationGUI.php.

References $_GET, $cmd, $db, $error, $help, $ilDB, $ilErr, $objDefinition, $rbacsystem, $ret, ilObject\_lookupType(), ilObject2GUI\REPOSITORY_NODE_ID, ilUtil\sendFailure(), showTree(), and SYSTEM_FOLDER_ID.

146  {
149  $ilHelp = $this->help;
151  $ilDB = $this->db;
152 
153  // permission checks
154  if (!$rbacsystem->checkAccess("visible", SYSTEM_FOLDER_ID) &&
155  !$rbacsystem->checkAccess("read", SYSTEM_FOLDER_ID)) {
156  $ilErr->raiseError($this->lng->txt('permission_denied'), $ilErr->WARNING);
157  }
158 
159  // check creation mode
160  // determined by "new_type" parameter
161  $new_type = empty($_REQUEST['new_type']) ? '' : $_REQUEST['new_type'];
162  if ($new_type) {
163  $this->creation_mode = true;
164  }
165  // determine next class
166  if ($this->creation_mode) {
167  $obj_type = $new_type;
168  $class_name = $this->objDefinition->getClassName($obj_type);
169  $next_class = strtolower("ilObj" . $class_name . "GUI");
170  $this->ctrl->setCmdClass($next_class);
171  }
172 
173  // set next_class directly for page translations
174  // (no cmdNode is given in translation link)
175  if ($this->ctrl->getCmdClass() == "ilobjlanguageextgui") {
176  $next_class = "ilobjlanguageextgui";
177  } else {
178  $next_class = $this->ctrl->getNextClass($this);
179  }
180 
181  if ((
182  $next_class == "iladministrationgui" || $next_class == ""
183  ) && ($this->ctrl->getCmd() == "return")) {
184  // get GUI of current object
185  $obj_type = ilObject::_lookupType($this->cur_ref_id, true);
186  $class_name = $this->objDefinition->getClassName($obj_type);
187  $next_class = strtolower("ilObj" . $class_name . "GUI");
188  $this->ctrl->setCmdClass($next_class);
189  $this->ctrl->setCmd("view");
190  }
191 
192  $cmd = $this->ctrl->getCmd("forward");
193 
194  //echo "<br>cmd:$cmd:nextclass:$next_class:-".$_GET["cmdClass"]."-".$_GET["cmd"]."-";
195  switch ($next_class) {
196  default:
197 
198  // forward all other classes to gui commands
199  if ($next_class != "" && $next_class != "iladministrationgui") {
200  // check db update
201  $dbupdate = new ilDBUpdate($ilDB);
202  if (!$dbupdate->getDBVersionStatus()) {
203  ilUtil::sendFailure($this->lng->txt("db_need_update"));
204  } elseif ($dbupdate->hotfixAvailable()) {
205  ilUtil::sendFailure($this->lng->txt("db_need_hotfix"));
206  }
207 
208  $class_path = $this->ctrl->lookupClassPath($next_class);
209  require_once $class_path;
210  // get gui class instance
211  $class_name = $this->ctrl->getClassForClasspath($class_path);
212  if (($next_class == "ilobjrolegui" || $next_class == "ilobjusergui"
213  || $next_class == "ilobjroletemplategui")) {
214  if ($_GET["obj_id"] != "") {
215  $this->gui_obj = new $class_name("", $_GET["obj_id"], false, false);
216  $this->gui_obj->setCreationMode(false);
217  } else {
218  $this->gui_obj = new $class_name("", $this->cur_ref_id, true, false);
219  $this->gui_obj->setCreationMode(true);
220  }
221  } else {
222  if ($objDefinition->isPlugin(ilObject::_lookupType($this->cur_ref_id, true))) {
223  $this->gui_obj = new $class_name($this->cur_ref_id);
224  } else {
225  if (!$this->creation_mode) {
226  if (is_subclass_of($class_name, "ilObject2GUI")) {
227  $this->gui_obj = new $class_name($this->cur_ref_id, ilObject2GUI::REPOSITORY_NODE_ID);
228  } else {
229  $this->gui_obj = new $class_name("", $this->cur_ref_id, true, false);
230  }
231  } else {
232  if (is_subclass_of($class_name, "ilObject2GUI")) {
233  $this->gui_obj = new $class_name(null, ilObject2GUI::REPOSITORY_NODE_ID, $this->cur_ref_id);
234  } else {
235  $this->gui_obj = new $class_name("", 0, true, false);
236  }
237  }
238  }
239  $this->gui_obj->setCreationMode($this->creation_mode);
240  }
241  $tabs_out = true;
242  $ilHelp->setScreenIdComponent(ilObject::_lookupType($this->cur_ref_id, true));
243  $this->showTree();
244 
245  $this->ctrl->setReturn($this, "return");
246  $ret = $this->ctrl->forwardCommand($this->gui_obj);
247  $html = $this->gui_obj->getHTML();
248 
249  if ($html != "") {
250  $this->tpl->setVariable("OBJECTS", $html);
251  }
252  $this->tpl->printToStdout();
253  } else { //
254  $cmd = $this->ctrl->getCmd("forward");
255  $this->$cmd();
256  }
257  break;
258  }
259  }
$_GET["client_id"]
const SYSTEM_FOLDER_ID
Definition: constants.php:33
$ilErr
Definition: raiseError.php:18
Database Update class.
static _lookupType($a_id, $a_reference=false)
lookup object type
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
global $ilDB
$ret
Definition: parser.php:6
+ Here is the call graph for this function:

◆ forward()

ilAdministrationGUI::forward ( )

Forward to class/command.

Definition at line 264 of file class.ilAdministrationGUI.php.

References $_GET, $error, $ilErr, ilObject\_lookupType(), ilUtil\redirect(), ROOT_FOLDER_ID, SYSTEM_FOLDER_ID, and USER_FOLDER_ID.

265  {
267 
268  if ($_GET["admin_mode"] != "repository") { // settings
269  if ($_GET["ref_id"] == USER_FOLDER_ID) {
270  $this->ctrl->setParameter($this, "ref_id", USER_FOLDER_ID);
271  $this->ctrl->setParameterByClass("iladministrationgui", "admin_mode", "settings");
272  if (((int) $_GET["jmpToUser"]) > 0 && ilObject::_lookupType((int) $_GET["jmpToUser"]) == "usr") {
273  $this->ctrl->setParameterByClass(
274  "ilobjuserfoldergui",
275  "jmpToUser",
276  (int) $_GET["jmpToUser"]
277  );
278  $this->ctrl->redirectByClass("ilobjuserfoldergui", "jumpToUser");
279  } else {
280  $this->ctrl->redirectByClass("ilobjuserfoldergui", "view");
281  }
282  } else {
283  $this->ctrl->setParameter($this, "ref_id", SYSTEM_FOLDER_ID);
284  $this->ctrl->setParameterByClass("iladministrationgui", "admin_mode", "settings");
285 
286  if ($_GET['fr']) {
287  // Security check: We do only allow relative urls
288  $url_parts = parse_url(base64_decode(rawurldecode($_GET['fr'])));
289  if ($url_parts['http'] || $url_parts['host']) {
290  $ilErr->raiseError($this->lng->txt('permission_denied'), $ilErr->MESSAGE);
291  }
292 
293  $fs_gui->setMainFrameSource(
294  base64_decode(rawurldecode($_GET['fr']))
295  );
296  ilUtil::redirect(ILIAS_HTTP_PATH . '/' . base64_decode(rawurldecode($_GET['fr'])));
297  } else {
298  $fs_gui->setMainFrameSource(
299  $this->ctrl->getLinkTargetByClass("ilobjsystemfoldergui", "view")
300  );
301  $this->ctrl->redirectByClass("ilobjsystemfoldergui", "view");
302  }
303  }
304  } else {
305  $this->ctrl->setParameter($this, "ref_id", ROOT_FOLDER_ID);
306  $this->ctrl->setParameterByClass("iladministrationgui", "admin_mode", "repository");
307  $this->ctrl->redirectByClass("ilobjrootfoldergui", "view");
308  }
309  }
const USER_FOLDER_ID
Definition: constants.php:31
const ROOT_FOLDER_ID
Definition: constants.php:30
$_GET["client_id"]
const SYSTEM_FOLDER_ID
Definition: constants.php:33
$ilErr
Definition: raiseError.php:18
static _lookupType($a_id, $a_reference=false)
lookup object type
static redirect($a_script)
+ Here is the call graph for this function:

◆ jump()

ilAdministrationGUI::jump ( )

Jump to node.

Definition at line 351 of file class.ilAdministrationGUI.php.

References $_GET, $ctrl, $objDefinition, ilObject\_lookupObjId(), and ilObject\_lookupType().

352  {
353  $ilCtrl = $this->ctrl;
355 
356  $ref_id = (int) $_GET["ref_id"];
357  $obj_id = ilObject::_lookupObjId($ref_id);
358  $obj_type = ilObject::_lookupType($obj_id);
359  $class_name = $objDefinition->getClassName($obj_type);
360  $class = strtolower("ilObj" . $class_name . "GUI");
361  $ilCtrl->setParameterByClass($class, "ref_id", $ref_id);
362  $ilCtrl->redirectByClass($class, "view");
363  }
$_GET["client_id"]
static _lookupObjId($a_id)
static _lookupType($a_id, $a_reference=false)
lookup object type
+ Here is the call graph for this function:

◆ jumpToPluginSlot()

ilAdministrationGUI::jumpToPluginSlot ( )

Special jump to plugin slot after ilCtrl has been reloaded.

Definition at line 331 of file class.ilAdministrationGUI.php.

References $_GET, and $ctrl.

332  {
333  $ilCtrl = $this->ctrl;
334 
335  $ilCtrl->setParameterByClass("ilobjcomponentsettingsgui", "ctype", $_GET["ctype"]);
336  $ilCtrl->setParameterByClass("ilobjcomponentsettingsgui", "cname", $_GET["cname"]);
337  $ilCtrl->setParameterByClass("ilobjcomponentsettingsgui", "slot_id", $_GET["slot_id"]);
338 
339  if ($_GET["plugin_id"]) {
340  $ilCtrl->setParameter($this, "plugin_id", $_GET["plugin_id"]);
341  $ilCtrl->redirectByClass("ilobjcomponentsettingsgui", "showPlugin");
342  } else {
343  $ilCtrl->redirectByClass("ilobjcomponentsettingsgui", "listPlugins");
344  }
345  }
$_GET["client_id"]

◆ showTree()

ilAdministrationGUI::showTree ( )

display tree view

Definition at line 314 of file class.ilAdministrationGUI.php.

References $_GET, $DIC, and ilAdminGSToolProvider\SHOW_ADMIN_TREE.

Referenced by executeCommand().

315  {
316  global $DIC;
317 
318  if ($_GET["admin_mode"] != "repository") {
319  return;
320  }
321 
322  $DIC->globalScreen()->tool()->context()->current()->addAdditionalData(ilAdminGSToolProvider::SHOW_ADMIN_TREE, true);
323 
324  $exp = new ilAdministrationExplorerGUI($this, "showTree");
325  $exp->handleCommand();
326  }
$_GET["client_id"]
global $DIC
Definition: goto.php:24
Administration explorer GUI class.
+ Here is the caller graph for this function:

Field Documentation

◆ $cmd

ilAdministrationGUI::$cmd

Definition at line 75 of file class.ilAdministrationGUI.php.

Referenced by executeCommand().

◆ $ctrl

ilAdministrationGUI::$ctrl

Definition at line 77 of file class.ilAdministrationGUI.php.

Referenced by jump(), and jumpToPluginSlot().

◆ $cur_ref_id

ilAdministrationGUI::$cur_ref_id

Definition at line 74 of file class.ilAdministrationGUI.php.

◆ $db

ilAdministrationGUI::$db
protected

Definition at line 68 of file class.ilAdministrationGUI.php.

Referenced by executeCommand().

◆ $error

ilAdministrationGUI::$error
protected

Definition at line 63 of file class.ilAdministrationGUI.php.

Referenced by executeCommand(), and forward().

◆ $help

ilAdministrationGUI::$help
protected

Definition at line 58 of file class.ilAdministrationGUI.php.

Referenced by executeCommand().

◆ $lng

ilAdministrationGUI::$lng

Definition at line 70 of file class.ilAdministrationGUI.php.

Referenced by __construct().

◆ $logger

ilAdministrationGUI::$logger = null
private

Definition at line 82 of file class.ilAdministrationGUI.php.

◆ $main_menu

ilAdministrationGUI::$main_menu
protected

Definition at line 53 of file class.ilAdministrationGUI.php.

◆ $mode

ilAdministrationGUI::$mode

Definition at line 76 of file class.ilAdministrationGUI.php.

◆ $objDefinition

ilAdministrationGUI::$objDefinition
protected

Definition at line 48 of file class.ilAdministrationGUI.php.

Referenced by __construct(), executeCommand(), and jump().

◆ $rbacsystem

ilAdministrationGUI::$rbacsystem

Definition at line 73 of file class.ilAdministrationGUI.php.

Referenced by __construct(), and executeCommand().

◆ $tpl

ilAdministrationGUI::$tpl

Definition at line 71 of file class.ilAdministrationGUI.php.

Referenced by __construct().

◆ $tree

ilAdministrationGUI::$tree

Definition at line 72 of file class.ilAdministrationGUI.php.

Referenced by __construct().


The documentation for this class was generated from the following file: