/** * Dispatches the command to the related executor class. */ public function executeCommand() { /** * @var $ilCtrl ilCtrl */ global $ilCtrl; $next_class = $ilCtrl->getNextClass(); require_once 'Modules/Chatroom/classes/class.ilChatroomTabFactory.php'; $tabFactory = new ilChatroomTabFactory($this); $tabFactory->getAdminTabsForCommand($ilCtrl->getCmd()); switch ($next_class) { case 'ilpermissiongui': include_once 'Services/AccessControl/classes/class.ilPermissionGUI.php'; $this->prepareOutput(); $perm_gui = new ilPermissionGUI($this); $ilCtrl->forwardCommand($perm_gui); break; default: $res = explode('-', $ilCtrl->getCmd(), 2); $this->dispatchCall($res[0], $res[1] ? $res[1] : ''); } }
/** * Dispatches the command to the related executor class. */ public function executeCommand() { /** * @var $ilAccess ilAccessHandler * @var $ilNavigationHistory ilNavigationHistory * @var $ilCtrl ilCtrl * @var $ilHelp ilHelpGUI */ global $ilNavigationHistory, $ilCtrl, $ilHelp, $ilAccess; if ('cancel' == $ilCtrl->getCmd() && $this->getCreationMode()) { parent::cancelCreation(); return; } // add entry to navigation history if (!$this->getCreationMode() && $ilAccess->checkAccess('read', '', (int) $_GET['ref_id'])) { $ilNavigationHistory->addItem($_GET['ref_id'], './goto.php?target=' . $this->type . '_' . $_GET['ref_id'], $this->type); } $next_class = $ilCtrl->getNextClass(); require_once 'Modules/Chatroom/classes/class.ilChatroomTabFactory.php'; if (!$this->getCreationMode()) { $tabFactory = new ilChatroomTabFactory($this); if (strtolower($_GET['baseClass']) == 'iladministrationgui') { $tabFactory->getAdminTabsForCommand($ilCtrl->getCmd()); } else { $ilHelp->setScreenIdComponent("chtr"); $tabFactory->getTabsForCommand($ilCtrl->getCmd()); } } // #8701 - infoscreen actions if ($next_class == 'ilinfoscreengui' && $ilCtrl->getCmd() != 'info') { $ilCtrl->setCmd('info-' . $ilCtrl->getCmd()); } // repository info call if ($ilCtrl->getCmd() == 'infoScreen') { $ilCtrl->setCmdClass('ilinfoscreengui'); $ilCtrl->setCmd('info'); } switch ($next_class) { case 'ilpermissiongui': include_once 'Services/AccessControl/classes/class.ilPermissionGUI.php'; $this->prepareOutput(); $perm_gui = new ilPermissionGUI($this); $ilCtrl->forwardCommand($perm_gui); break; case 'ilobjectcopygui': $this->prepareOutput(); include_once 'Services/Object/classes/class.ilObjectCopyGUI.php'; $cp = new ilObjectCopyGUI($this); $cp->setType('chtr'); $ilCtrl->forwardCommand($cp); break; case "ilcommonactiondispatchergui": include_once "Services/Object/classes/class.ilCommonActionDispatcherGUI.php"; $gui = ilCommonActionDispatcherGUI::getInstanceFromAjaxCall(); $this->ctrl->forwardCommand($gui); break; default: try { $res = explode('-', $ilCtrl->getCmd(), 2); $this->dispatchCall($res[0], $res[1] ? $res[1] : ''); } catch (Exception $e) { $error = array('success' => false, 'reason' => $e->getMessage()); echo json_encode($error); exit; } } }