ILIAS  trunk Revision v11.0_alpha-2638-g80c1d007f79
ilAdministrationGUI Class Reference

Class ilAdministratioGUI. More...

+ Inheritance diagram for ilAdministrationGUI:
+ Collaboration diagram for ilAdministrationGUI:

Public Member Functions

 executeCommand ()
 
 forward ()
 Forward to class/command. More...
 
 showTree ()
 
 jumpToPluginSlot ()
 
 jump ()
 

Data Fields

ilLanguage $lng
 
ilGlobalTemplateInterface $tpl
 
ilTree $tree
 
ilRbacSystem $rbacsystem
 
int $cur_ref_id
 
string $cmd
 
ilCtrl $ctrl
 

Protected Attributes

ilObjectDefinition $objDefinition
 
ilHelpGUI $help
 
ilDBInterface $db
 
string $admin_mode = ""
 
bool $creation_mode = false
 
int $requested_obj_id = 0
 
AdminGUIRequest $request
 
ilObjectGUI $gui_obj
 

Private Attributes

readonly ilLogger $logger
 

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: ilObjLanguageFolderGUI, ilObjMailGUI ilAdministrationGUI: ilObjObjectFolderGUI, ilObjRecoveryFolderGUI ilAdministrationGUI: ilObjSearchSettingsGUI, ilObjStyleSettingsGUI ilAdministrationGUI: ilObjTestFolderGUI, 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 ilAdministrationGUI: ilObjIndividualAssessmentGUI ilAdministrationGUI: ilLPProgressTableGUI

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

Member Function Documentation

◆ executeCommand()

ilAdministrationGUI::executeCommand ( )
Exceptions
ilCtrlException
ilPermissionException

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

References $cmd, $help, $objDefinition, $rbacsystem, ilObject\_lookupType(), ilRbacSystem\checkAccess(), ILIAS\Repository\ctrl(), ilObjectDefinition\isPlugin(), ILIAS\Repository\lng(), ILIAS\Repository\logger(), null, ilObject2GUI\REPOSITORY_NODE_ID, showTree(), and SYSTEM_FOLDER_ID.

137  : void
138  {
141  $ilHelp = $this->help;
142 
143  // permission checks
144  if (!$rbacsystem->checkAccess("visible", SYSTEM_FOLDER_ID) &&
146  $this->logger->log($this->lng->txt('permission_denied'));
147  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('permission_denied'), true);
148  $this->ctrl->redirectToURL(
149  ilUserUtil::getStartingPointAsUrl()
150  );
151  }
152 
153  // check creation mode
154  // determined by "new_type" parameter
155  // e.g. creation of a new role, user org unit, talk template
156  $new_type = $this->request->getNewType();
157  if ($new_type) {
158  $this->creation_mode = true;
159  }
160  // determine next class
161  if ($this->creation_mode) {
162  $obj_type = $new_type;
163  $class_name = $this->objDefinition->getClassName($obj_type);
164  $next_class = strtolower("ilObj" . $class_name . "GUI");
165  }
166 
167  // set next_class directly for page translations
168  // (no cmdNode is given in translation link)
169  if ($this->ctrl->getCmdClass() === "ilobjlanguageextgui") {
170  $next_class = "ilobjlanguageextgui";
171  } else {
172  $next_class = $this->ctrl->getNextClass($this);
173  }
174 
175  if ((
176  $next_class === "iladministrationgui" || $next_class == ""
177  ) && ($this->ctrl->getCmd() === "return")) {
178  // get GUI of current object
179  $obj_type = ilObject::_lookupType($this->cur_ref_id, true);
180  $class_name = $this->objDefinition->getClassName($obj_type);
181  $next_class = strtolower("ilObj" . $class_name . "GUI");
182  }
183 
184  $cmd = $this->ctrl->getCmd("forward");
185 
186  //echo "<br>cmd:$cmd:nextclass:$next_class:-".$_GET["cmdClass"]."-".$_GET["cmd"]."-";
187  switch ($next_class) {
188  default:
189 
190  // forward all other classes to gui commands
191  if ($next_class != "" && $next_class !== "iladministrationgui") {
192  $class_path = $this->ctrl->lookupClassPath($next_class);
193  if (is_file($class_path)) {
194  require_once $class_path; // note: org unit plugins still need the require
195  }
196  // get gui class instance
197  $class_name = $this->ctrl->getClassForClasspath($class_path);
198  if (($next_class === "ilobjrolegui" || $next_class === "ilobjusergui"
199  || $next_class === "ilobjroletemplategui")) {
200  if ($this->requested_obj_id > 0) {
201  $this->gui_obj = new $class_name(null, $this->requested_obj_id, false, false);
202  $this->gui_obj->setCreationMode(false);
203  } else {
204  $this->gui_obj = new $class_name(null, $this->cur_ref_id, true, false);
205  $this->gui_obj->setCreationMode(true);
206  }
207  } else {
208  if ($objDefinition->isPlugin(ilObject::_lookupType($this->cur_ref_id, true))) {
209  $this->gui_obj = new $class_name($this->cur_ref_id);
210  } else {
211  if (!$this->creation_mode) {
212  if (is_subclass_of($class_name, "ilObject2GUI")) {
213  $this->gui_obj = new $class_name($this->cur_ref_id, ilObject2GUI::REPOSITORY_NODE_ID);
214  } else {
215  $this->gui_obj = new $class_name(null, $this->cur_ref_id, true, false);
216  }
217  } else {
218  if (is_subclass_of($class_name, "ilObject2GUI")) {
219  $this->gui_obj = new $class_name(null, ilObject2GUI::REPOSITORY_NODE_ID, $this->cur_ref_id);
220  } else {
221  $this->gui_obj = new $class_name("", 0, true, false);
222  }
223  }
224  }
225  $this->gui_obj->setCreationMode($this->creation_mode);
226  }
227  $this->gui_obj->setAdminMode($this->admin_mode);
228  $tabs_out = true;
229  $ilHelp->setScreenIdComponent(ilObject::_lookupType($this->cur_ref_id, true));
230  $this->showTree();
231 
232  $this->ctrl->setReturn($this, "return");
233  $ret = $this->ctrl->forwardCommand($this->gui_obj);
234  $html = $this->gui_obj->getHTML();
235 
236  if ($html != "") {
237  $this->tpl->setVariable("OBJECTS", $html);
238  }
239  $this->tpl->printToStdout();
240  } else { //
241  $cmd = $this->ctrl->getCmd("forward");
242  $this->$cmd();
243  }
244  break;
245  }
246  }
const SYSTEM_FOLDER_ID
Definition: constants.php:35
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
checkAccess(string $a_operations, int $a_ref_id, string $a_type="")
checkAccess represents the main method of the RBAC-system in ILIAS3 developers want to use With this ...
ilObjectDefinition $objDefinition
isPlugin(string $obj_name)
get RBAC status by type returns true if object type is an (activated) plugin type ...
static _lookupType(int $id, bool $reference=false)
+ Here is the call graph for this function:

◆ forward()

ilAdministrationGUI::forward ( )

Forward to class/command.

Exceptions
ilCtrlException
ilPermissionException

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

References ilObject\_lookupType(), ILIAS\Repository\ctrl(), ROOT_FOLDER_ID, and USER_FOLDER_ID.

253  : void
254  {
255  if ($this->admin_mode !== "repository") { // settings
256  if ($this->request->getRefId() == USER_FOLDER_ID) {
257  $this->ctrl->setParameter($this, "ref_id", USER_FOLDER_ID);
258  $this->ctrl->setParameterByClass("iladministrationgui", "admin_mode", "settings");
259  if (ilObject::_lookupType($this->request->getJumpToUserId()) === "usr") {
260  $this->ctrl->setParameterByClass(
261  "ilobjuserfoldergui",
262  "jmpToUser",
263  $this->request->getJumpToUserId()
264  );
265  $this->ctrl->redirectByClass("ilobjuserfoldergui", "jumpToUser");
266  } else {
267  $this->ctrl->redirectByClass("ilobjuserfoldergui", "view");
268  }
269  } else {
270  // this code should not be necessary anymore...
271  throw new ilPermissionException("Missing AdmiGUI parameter.");
272 
273  /*
274  $this->ctrl->setParameter($this, "ref_id", SYSTEM_FOLDER_ID);
275  $this->ctrl->setParameterByClass("iladministrationgui", "admin_mode", "settings");
276 
277 
278  if ($_GET['fr']) {
279  // Security check: We do only allow relative urls
280  $url_parts = parse_url(base64_decode(rawurldecode($_GET['fr'])));
281  if ($url_parts['http'] || $url_parts['host']) {
282  throw new ilPermissionException($this->lng->txt('permission_denied'));
283  }
284 
285  $fs_gui->setMainFrameSource(
286  base64_decode(rawurldecode($_GET['fr']))
287  );
288  ilUtil::redirect(ILIAS_HTTP_PATH . '/' . base64_decode(rawurldecode($_GET['fr'])));
289  } else {
290  $fs_gui->setMainFrameSource(
291  $this->ctrl->getLinkTargetByClass("ilobjsystemfoldergui", "view")
292  );
293  $this->ctrl->redirectByClass("ilobjsystemfoldergui", "view");
294  }*/
295  }
296  } else {
297  $this->ctrl->setParameter($this, "ref_id", ROOT_FOLDER_ID);
298  $this->ctrl->setParameterByClass("iladministrationgui", "admin_mode", "repository");
299  $this->ctrl->redirectByClass("ilobjrootfoldergui", "view");
300  }
301  }
const USER_FOLDER_ID
Definition: constants.php:33
const ROOT_FOLDER_ID
Definition: constants.php:32
static _lookupType(int $id, bool $reference=false)
+ Here is the call graph for this function:

◆ jump()

ilAdministrationGUI::jump ( )

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

References $ctrl, $objDefinition, $ref_id, ilObject\_lookupObjId(), ilObject\_lookupType(), and ilObjectDefinition\getClassName().

325  : void
326  {
327  $ilCtrl = $this->ctrl;
329 
330  $ref_id = $this->request->getRefId();
331  $obj_id = ilObject::_lookupObjId($ref_id);
332  $obj_type = ilObject::_lookupType($obj_id);
333  $class_name = $objDefinition->getClassName($obj_type);
334  $class = strtolower("ilObj" . $class_name . "GUI");
335  $ilCtrl->setParameterByClass($class, "ref_id", $ref_id);
336  $ilCtrl->redirectByClass($class, "view");
337  }
static _lookupObjId(int $ref_id)
$ref_id
Definition: ltiauth.php:65
getClassName(string $obj_name)
ilObjectDefinition $objDefinition
static _lookupType(int $id, bool $reference=false)
+ Here is the call graph for this function:

◆ jumpToPluginSlot()

ilAdministrationGUI::jumpToPluginSlot ( )

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

References $ctrl, and ilCtrl\redirectByClass().

318  : void
319  {
320  $ilCtrl = $this->ctrl;
321  $ilCtrl->redirectByClass("ilobjcomponentsettingsgui", "listPlugins");
322  }
redirectByClass( $a_class, ?string $a_cmd=null, ?string $a_anchor=null, bool $is_async=false)
+ Here is the call graph for this function:

◆ showTree()

ilAdministrationGUI::showTree ( )

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

References $DIC, and ilAdminGSToolProvider\SHOW_ADMIN_TREE.

Referenced by executeCommand().

303  : void
304  {
305  global $DIC;
306 
307  if ($this->admin_mode !== "repository") {
308  return;
309  }
310 
311  $DIC->globalScreen()->tool()->context()->current()->addAdditionalData(ilAdminGSToolProvider::SHOW_ADMIN_TREE, true);
312 
313  $exp = new ilAdministrationExplorerGUI(self::class, "showTree");
314  $exp->handleCommand();
315  }
global $DIC
Definition: shib_login.php:26
Administration explorer GUI class.
+ Here is the caller graph for this function:

Field Documentation

◆ $admin_mode

string ilAdministrationGUI::$admin_mode = ""
protected

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

◆ $cmd

string ilAdministrationGUI::$cmd

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

Referenced by executeCommand().

◆ $creation_mode

bool ilAdministrationGUI::$creation_mode = false
protected

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

◆ $ctrl

ilCtrl ilAdministrationGUI::$ctrl

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

Referenced by jump(), and jumpToPluginSlot().

◆ $cur_ref_id

int ilAdministrationGUI::$cur_ref_id

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

◆ $db

ilDBInterface ilAdministrationGUI::$db
protected

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

◆ $gui_obj

ilObjectGUI ilAdministrationGUI::$gui_obj
protected

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

◆ $help

ilHelpGUI ilAdministrationGUI::$help
protected

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

Referenced by executeCommand().

◆ $lng

ilLanguage ilAdministrationGUI::$lng

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

◆ $logger

readonly ilLogger ilAdministrationGUI::$logger
private

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

◆ $objDefinition

ilObjectDefinition ilAdministrationGUI::$objDefinition
protected

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

Referenced by executeCommand(), and jump().

◆ $rbacsystem

ilRbacSystem ilAdministrationGUI::$rbacsystem

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

Referenced by executeCommand().

◆ $request

AdminGUIRequest ilAdministrationGUI::$request
protected

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

◆ $requested_obj_id

int ilAdministrationGUI::$requested_obj_id = 0
protected

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

◆ $tpl

ilGlobalTemplateInterface ilAdministrationGUI::$tpl

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

◆ $tree

ilTree ilAdministrationGUI::$tree

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


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