/** * execute command */ function &executeCommand() { global $ilAccess, $lng, $ilTabs, $ilCtrl, $ilErr; if ($this->ctrl->getRedirectSource() == "ilinternallinkgui") { $this->explorer(); return; } if ($this->ctrl->getCmdClass() == "ilinternallinkgui") { $this->ctrl->setReturn($this, "explorer"); } // get next class that processes or forwards current command $next_class = $this->ctrl->getNextClass($this); // get current command // $cmd = $this->ctrl->getCmd("", array("downloadExportFile")); if ($_GET["to_props"] == 1) { $cmd = $this->ctrl->getCmd("properties"); } else { $cmd = $this->ctrl->getCmd("chapters"); } //echo "-$cmd-".$next_class."-"; switch ($next_class) { case "illearningprogressgui": $this->addHeaderAction(); $this->addLocations(); include_once './Services/Tracking/classes/class.ilLearningProgressGUI.php'; $this->setTabs("learning_progress"); $new_gui =& new ilLearningProgressGUI(ilLearningProgressGUI::LP_CONTEXT_REPOSITORY, $this->object->getRefId()); $new_gui->activateStatistics(); $this->ctrl->forwardCommand($new_gui); break; case 'ilmdeditorgui': if (!$ilAccess->checkAccess('write', '', $this->object->getRefId())) { $ilErr->raiseError($this->lng->txt('permission_denied'), $ilErr->WARNING); } $this->addHeaderAction(); $this->addLocations(); include_once 'Services/MetaData/classes/class.ilMDEditorGUI.php'; $this->setTabs("meta"); $md_gui =& new ilMDEditorGUI($this->object->getId(), 0, $this->object->getType()); $md_gui->addObserver($this->object, 'MDUpdateListener', 'General'); $this->ctrl->forwardCommand($md_gui); break; case "ilobjstylesheetgui": $this->addLocations(); include_once "./Services/Style/classes/class.ilObjStyleSheetGUI.php"; $this->ctrl->setReturn($this, "editStyleProperties"); $style_gui =& new ilObjStyleSheetGUI("", $this->object->getStyleSheetId(), false, false); $style_gui->omitLocator(); if ($cmd == "create" || $_GET["new_type"] == "sty") { $style_gui->setCreationMode(true); } $ret =& $this->ctrl->forwardCommand($style_gui); //$ret =& $style_gui->executeCommand(); if ($cmd == "save" || $cmd == "copyStyle" || $cmd == "importStyle") { $style_id = $ret; $this->object->setStyleSheetId($style_id); $this->object->update(); $this->ctrl->redirectByClass("ilobjstylesheetgui", "edit"); } break; case "illmpageobjectgui": $ilTabs->setBackTarget($lng->txt("learning module"), $ilCtrl->getLinkTarget($this, "chapters")); $this->ctrl->saveParameter($this, array("obj_id")); $this->addLocations(); $this->ctrl->setReturn($this, "chapters"); //echo "!"; //$this->lm_obj =& $this->ilias->obj_factory->getInstanceByRefId($this->ref_id); $pg_gui =& new ilLMPageObjectGUI($this->object); if ($_GET["obj_id"] != "") { $obj =& ilLMObjectFactory::getInstance($this->object, $_GET["obj_id"]); $pg_gui->setLMPageObject($obj); } //$ret =& $pg_gui->executeCommand(); $ret =& $this->ctrl->forwardCommand($pg_gui); if ($cmd == "save" || $cmd == "cancel") { // $this->ctrl->redirect($this, "pages"); } break; case "ilstructureobjectgui": $ilTabs->setBackTarget($lng->txt("learning module"), $ilCtrl->getLinkTarget($this, "chapters")); $this->ctrl->saveParameter($this, array("obj_id")); $this->addLocations(); $this->ctrl->setReturn($this, "chapters"); $st_gui =& new ilStructureObjectGUI($this->object, $this->object->lm_tree); if ($_GET["obj_id"] != "") { $obj =& ilLMObjectFactory::getInstance($this->object, $_GET["obj_id"]); $st_gui->setStructureObject($obj); } //$ret =& $st_gui->executeCommand(); $ret =& $this->ctrl->forwardCommand($st_gui); if ($cmd == "save" || $cmd == "cancel") { if ($_GET["obj_id"] == "") { $this->ctrl->redirect($this, "chapters"); } else { $this->ctrl->setCmd("subchap"); $this->executeCommand(); } } break; case 'ilpermissiongui': if (strtolower($_GET["baseClass"]) == "iladministrationgui") { $this->prepareOutput(); } else { $this->addHeaderAction(); $this->addLocations(true); $this->setTabs("perm"); } include_once "Services/AccessControl/classes/class.ilPermissionGUI.php"; $perm_gui =& new ilPermissionGUI($this); $ret =& $this->ctrl->forwardCommand($perm_gui); break; // infoscreen // infoscreen case 'ilinfoscreengui': $this->addHeaderAction(); $this->addLocations(true); $this->setTabs("info"); include_once "./Services/InfoScreen/classes/class.ilInfoScreenGUI.php"; $info = new ilInfoScreenGUI($this); $info->enablePrivateNotes(); $info->enableLearningProgress(); $info->enableNews(); if ($ilAccess->checkAccess("write", "", $_GET["ref_id"])) { $info->enableNewsEditing(); $info->setBlockProperty("news", "settings", true); } // show standard meta data section $info->addMetaDataSections($this->object->getId(), 0, $this->object->getType()); $ret =& $this->ctrl->forwardCommand($info); break; case "ilexportgui": $this->addHeaderAction(); $this->addLocations(true); $this->setTabs("export"); include_once "./Services/Export/classes/class.ilExportGUI.php"; $exp_gui = new ilExportGUI($this); $exp_gui->addFormat("xml", "", $this, "export"); $exp_gui->addFormat("html", "", $this, "exportHTML"); $exp_gui->addFormat("scorm", "", $this, "exportSCORM"); $exp_gui->addCustomColumn($lng->txt("cont_public_access"), $this, "getPublicAccessColValue"); $exp_gui->addCustomMultiCommand($lng->txt("cont_public_access"), $this, "publishExportFile"); $ret = $this->ctrl->forwardCommand($exp_gui); break; case "ilcommonactiondispatchergui": include_once "Services/Object/classes/class.ilCommonActionDispatcherGUI.php"; $gui = ilCommonActionDispatcherGUI::getInstanceFromAjaxCall(); $this->ctrl->forwardCommand($gui); break; case "ilpagemultilanggui": $this->addHeaderAction(); $this->addLocations(true); $ilCtrl->setReturn($this, "properties"); include_once "./Services/COPage/classes/class.ilPageMultiLangGUI.php"; $ml_gui = new ilPageMultiLangGUI("lm", $this->object->getId()); $this->setTabs("settings"); $this->setSubTabs("cont_multilinguality"); $ret = $this->ctrl->forwardCommand($ml_gui); break; default: $new_type = $_POST["new_type"] ? $_POST["new_type"] : $_GET["new_type"]; if ($cmd == "create" && !in_array($new_type, array("dbk", "lm"))) { //$this->addLocations(); switch ($new_type) { case "pg": $this->setTabs(); $this->ctrl->setCmdClass("ilLMPageObjectGUI"); $ret =& $this->executeCommand(); break; case "st": $this->setTabs(); $this->ctrl->setCmdClass("ilStructureObjectGUI"); $ret =& $this->executeCommand(); break; } } else { // creation of new dbk/lm in repository if ($this->getCreationMode() == true && in_array($new_type, array("dbk", "lm"))) { $this->prepareOutput(); if ($cmd == "") { $cmd = "create"; } $cmd .= "Object"; $ret =& $this->{$cmd}(); } else { $this->addHeaderAction(); $this->addLocations(); $ret =& $this->{$cmd}(); } } break; } return $ret; }
/** * execute command */ function &executeCommand() { global $ilAccess, $ilTabs, $ilErr; if (strtolower($_GET["baseClass"]) == "iladministrationgui" || $this->getCreationMode() == true) { $this->prepareOutput(); } else { $this->getTemplate(); $this->setLocator(); $this->setTabs(); } $next_class = $this->ctrl->getNextClass($this); $cmd = $this->ctrl->getCmd(); switch ($next_class) { case 'ilmdeditorgui': if (!$ilAccess->checkAccess('write', '', $this->object->getRefId())) { $ilErr->raiseError($this->lng->txt('permission_denied'), $ilErr->WARNING); } include_once 'Services/MetaData/classes/class.ilMDEditorGUI.php'; $md_gui =& new ilMDEditorGUI($this->object->getId(), 0, $this->object->getType()); $md_gui->addObserver($this->object, 'MDUpdateListener', 'General'); $this->ctrl->forwardCommand($md_gui); break; case 'ilpermissiongui': include_once "Services/AccessControl/classes/class.ilPermissionGUI.php"; $perm_gui =& new ilPermissionGUI($this); $ret =& $this->ctrl->forwardCommand($perm_gui); break; case "ilfilesystemgui": $this->fs_gui =& new ilFileSystemGUI($this->object->getDataDirectory()); $this->fs_gui->setTableId("sahsfs" . $this->object->getId()); $ret =& $this->ctrl->forwardCommand($this->fs_gui); break; case "ilcertificategui": include_once "./Services/Certificate/classes/class.ilCertificateGUI.php"; include_once "./Modules/ScormAicc/classes/class.ilSCORMCertificateAdapter.php"; $output_gui = new ilCertificateGUI(new ilSCORMCertificateAdapter($this->object)); $ret =& $this->ctrl->forwardCommand($output_gui); break; case "illearningprogressgui": include_once './Services/Tracking/classes/class.ilLearningProgressGUI.php'; $new_gui =& new ilLearningProgressGUI(ilLearningProgressGUI::LP_CONTEXT_REPOSITORY, $this->object->getRefId()); $this->ctrl->forwardCommand($new_gui); break; case 'illicensegui': include_once "./Services/License/classes/class.ilLicenseGUI.php"; $license_gui =& new ilLicenseGUI($this); $ret =& $this->ctrl->forwardCommand($license_gui); break; case "ilinfoscreengui": include_once "./Services/InfoScreen/classes/class.ilInfoScreenGUI.php"; $info = new ilInfoScreenGUI($this); $info->enablePrivateNotes(); $info->enableLearningProgress(); // add read / back button if ($ilAccess->checkAccess("read", "", $_GET["ref_id"])) { if (!$this->object->getEditable()) { $info->addButton($this->lng->txt("view"), "ilias.php?baseClass=ilSAHSPresentationGUI&ref_id=" . $this->object->getRefID(), ' target="ilContObj' . $this->object->getId() . '" '); } } $info->enableNews(); if ($ilAccess->checkAccess("write", "", $_GET["ref_id"])) { $info->enableNewsEditing(); $news_set = new ilSetting("news"); $enable_internal_rss = $news_set->get("enable_rss_for_internal"); if ($enable_internal_rss) { $info->setBlockProperty("news", "settings", true); } } // show standard meta data section $info->addMetaDataSections($this->object->getId(), 0, $this->object->getType()); // forward the command $this->ctrl->forwardCommand($info); break; case "ilcommonactiondispatchergui": include_once "Services/Object/classes/class.ilCommonActionDispatcherGUI.php"; $gui = ilCommonActionDispatcherGUI::getInstanceFromAjaxCall(); $this->ctrl->forwardCommand($gui); break; case "ilobjstylesheetgui": //$this->addLocations(); $this->ctrl->setReturn($this, "properties"); $ilTabs->clearTargets(); $style_gui =& new ilObjStyleSheetGUI("", $this->object->getStyleSheetId(), false, false); $style_gui->omitLocator(); if ($cmd == "create" || $_GET["new_type"] == "sty") { $style_gui->setCreationMode(true); } //$ret =& $style_gui->executeCommand(); if ($cmd == "confirmedDelete") { $this->object->setStyleSheetId(0); $this->object->update(); } $ret =& $this->ctrl->forwardCommand($style_gui); if ($cmd == "save" || $cmd == "copyStyle" || $cmd == "importStyle") { $style_id = $ret; $this->object->setStyleSheetId($style_id); $this->object->update(); $this->ctrl->redirectByClass("ilobjstylesheetgui", "edit"); } break; default: if ($this->object && !$this->object->getEditable()) { $cmd = $this->ctrl->getCmd("properties"); } else { $cmd = $this->ctrl->getCmd("frameset"); } if ((strtolower($_GET["baseClass"]) == "iladministrationgui" || $this->getCreationMode() == true) && $cmd != "frameset") { $cmd .= "Object"; } // #9225 if ($cmd == "redrawHeaderAction") { $cmd .= "Object"; } $ret =& $this->{$cmd}(); break; } }
/** * info screen */ function outputInfoScreen($a_standard_locator = true) { global $ilBench, $ilLocator, $ilAccess, $ilTabs; $ilTabs->activateTab('id_info'); $this->lng->loadLanguageModule("meta"); include_once "./Services/InfoScreen/classes/class.ilInfoScreenGUI.php"; $info = new ilInfoScreenGUI($this); $info->enablePrivateNotes(); $info->enableLearningProgress(); $info->enableNews(); if ($ilAccess->checkAccess("write", "", $_GET["ref_id"])) { $info->enableNewsEditing(); $news_set = new ilSetting("news"); $enable_internal_rss = $news_set->get("enable_rss_for_internal"); if ($enable_internal_rss) { $info->setBlockProperty("news", "settings", true); } } // add read / back button if ($ilAccess->checkAccess("read", "", $_GET["ref_id"])) { $info->addButton($this->lng->txt("view"), "ilias.php?baseClass=ilHTLMPresentationGUI&ref_id=" . $this->object->getRefID(), ' target="ilContObj' . $this->object->getId() . '" '); } // show standard meta data section $info->addMetaDataSections($this->object->getId(), 0, $this->object->getType()); // forward the command $this->ctrl->forwardCommand($info); }
/** * info screen */ function outputInfoScreen($a_standard_locator = false) { global $ilAccess; $this->initScreenHead(); $this->lng->loadLanguageModule("meta"); include_once "./Services/InfoScreen/classes/class.ilInfoScreenGUI.php"; $info = new ilInfoScreenGUI($this->lm_gui); $info->enablePrivateNotes(); $info->enableLearningProgress(); $info->enableNews(); if ($ilAccess->checkAccess("write", "", $_GET["ref_id"])) { $news_set = new ilSetting("news"); $enable_internal_rss = $news_set->get("enable_rss_for_internal"); $info->enableNewsEditing(); if ($enable_internal_rss) { $info->setBlockProperty("news", "settings", true); } } // add read / back button /* if ($ilAccess->checkAccess("read", "", $_GET["ref_id"])) { if ($_GET["obj_id"] > 0) { $this->ctrl->setParameter($this, "obj_id", $_GET["obj_id"]); $info->addButton($this->lng->txt("back"), $this->ctrl->getLinkTarget($this, "layout")); } else { $info->addButton($this->lng->txt("view"), $this->ctrl->getLinkTarget($this, "layout")); } }*/ // show standard meta data section $info->addMetaDataSections($this->lm->getId(), 0, $this->lm->getType()); if ($this->offlineMode()) { $this->tpl->setContent($info->getHTML()); return $this->tpl->get(); } else { // forward the command $this->ctrl->forwardCommand($info); //$this->tpl->setContent("aa"); $this->tpl->show(); } }
/** * info screen */ function outputInfoScreen($a_standard_locator = false) { global $ilBench, $ilLocator, $ilAccess; $this->renderPageTitle(); // set style sheets if (!$this->offlineMode()) { $this->tpl->setStyleSheetLocation(ilUtil::getStyleSheetLocation()); } else { $style_name = $this->ilias->account->prefs["style"] . ".css"; $this->tpl->setStyleSheetLocation("./" . $style_name); } $this->tpl->getStandardTemplate(); $this->tpl->setTitle($this->lm->getTitle()); $this->tpl->setTitleIcon(ilUtil::getImagePath("icon_lm_b.png")); $this->tpl->setVariable("TABS", $this->lm_gui->setilLMMenu($this->offlineMode(), $this->getExportFormat(), "info", true)); // Full locator, if read permission is given if ($ilAccess->checkAccess("read", "", $_GET["ref_id"])) { $this->ilLocator(); } else { $ilLocator->addRepositoryItems(); $this->tpl->setLocator(); } $this->lng->loadLanguageModule("meta"); include_once "./Services/InfoScreen/classes/class.ilInfoScreenGUI.php"; $info = new ilInfoScreenGUI($this->lm_gui); $info->enablePrivateNotes(); $info->enableLearningProgress(); $info->enableNews(); if ($ilAccess->checkAccess("write", "", $_GET["ref_id"])) { $news_set = new ilSetting("news"); $enable_internal_rss = $news_set->get("enable_rss_for_internal"); $info->enableNewsEditing(); if ($enable_internal_rss) { $info->setBlockProperty("news", "settings", true); } } // add read / back button /* if ($ilAccess->checkAccess("read", "", $_GET["ref_id"])) { if ($_GET["obj_id"] > 0) { $this->ctrl->setParameter($this, "obj_id", $_GET["obj_id"]); $info->addButton($this->lng->txt("back"), $this->ctrl->getLinkTarget($this, "layout")); } else { $info->addButton($this->lng->txt("view"), $this->ctrl->getLinkTarget($this, "layout")); } }*/ // show standard meta data section $info->addMetaDataSections($this->lm->getId(), 0, $this->lm->getType()); if ($this->offlineMode()) { $this->tpl->setContent($info->getHTML()); return $this->tpl->get(); } else { // forward the command $this->ctrl->forwardCommand($info); //$this->tpl->setContent("aa"); $this->tpl->show(); } }
/** * show information screen */ function infoScreen() { global $rbacsystem, $ilUser, $ilSetting; $this->tabs_gui->setTabActive('info_short'); if (!$rbacsystem->checkAccess("visible", $this->ref_id)) { $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"), $this->ilias->error_obj->MESSAGE); } include_once "./Services/InfoScreen/classes/class.ilInfoScreenGUI.php"; $info = new ilInfoScreenGUI($this); if (strlen($this->object->getInformation())) { $info->addSection($this->lng->txt('grp_general_informations')); $info->addProperty($this->lng->txt('grp_information'), nl2br(ilUtil::makeClickable($this->object->getInformation(), true))); } $info->enablePrivateNotes(); $info->enableLearningProgress(true); $info->addSection($this->lng->txt('group_registration')); $info->showLDAPRoleGroupMappingInfo(); if (!$this->object->isRegistrationEnabled()) { $info->addProperty($this->lng->txt('group_registration_mode'), $this->lng->txt('grp_reg_deac_info_screen')); } else { switch ($this->object->getRegistrationType()) { case GRP_REGISTRATION_DIRECT: $info->addProperty($this->lng->txt('group_registration_mode'), $this->lng->txt('grp_reg_direct_info_screen')); break; case GRP_REGISTRATION_REQUEST: $info->addProperty($this->lng->txt('group_registration_mode'), $this->lng->txt('grp_reg_req_info_screen')); break; case GRP_REGISTRATION_PASSWORD: $info->addProperty($this->lng->txt('group_registration_mode'), $this->lng->txt('grp_reg_passwd_info_screen')); break; } /* $info->addProperty($this->lng->txt('group_registration_time'), ilDatePresentation::formatPeriod( $this->object->getRegistrationStart(), $this->object->getRegistrationEnd())); */ if ($this->object->isRegistrationUnlimited()) { $info->addProperty($this->lng->txt('group_registration_time'), $this->lng->txt('grp_registration_unlimited')); } elseif ($this->object->getRegistrationStart()->getUnixTime() < time()) { $info->addProperty($this->lng->txt("group_registration_time"), $this->lng->txt('cal_until') . ' ' . ilDatePresentation::formatDate($this->object->getRegistrationEnd())); } elseif ($this->object->getRegistrationStart()->getUnixTime() >= time()) { $info->addProperty($this->lng->txt("group_registration_time"), $this->lng->txt('cal_from') . ' ' . ilDatePresentation::formatDate($this->object->getRegistrationStart())); } if ($this->object->isMembershipLimited()) { $info->addProperty($this->lng->txt("mem_free_places"), max(0, $this->object->getMaxMembers() - $this->object->members_obj->getCountMembers())); } } // Confirmation include_once 'Services/PrivacySecurity/classes/class.ilPrivacySettings.php'; $privacy = ilPrivacySettings::_getInstance(); include_once 'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php'; if ($privacy->groupConfirmationRequired() or ilCourseDefinedFieldDefinition::_getFields($this->object->getId()) or $privacy->enabledGroupExport()) { include_once 'Services/PrivacySecurity/classes/class.ilExportFieldsInfo.php'; $field_info = ilExportFieldsInfo::_getInstanceByType($this->object->getType()); $this->lng->loadLanguageModule('ps'); $info->addSection($this->lng->txt('grp_user_agreement_info')); $info->addProperty($this->lng->txt('ps_export_data'), $field_info->exportableFieldsToInfoString()); if ($fields = ilCourseDefinedFieldDefinition::_fieldsToInfoString($this->object->getId())) { $info->addProperty($this->lng->txt('ps_grp_user_fields'), $fields); } } // forward the command $this->ctrl->forwardCommand($info); }