/** * 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; } }
/** * show info screen */ public function infoScreen() { global $ilErr, $ilUser, $ilTabs; if (!$this->checkPermissionBool('visible')) { $ilErr->raiseError($this->lng->txt('msg_no_perm_read'), $ilErr->MESSAGE); } $ilTabs->activateTab('info'); include_once "./Services/InfoScreen/classes/class.ilInfoScreenGUI.php"; $info = new ilInfoScreenGUI($this); if ($ilUser->getId() == ANONYMOUS_USER_ID || $this->object->isLocalObject()) { $info->addButton($this->lng->txt($this->getType() . '_call'), $this->object->getRemoteLink(), 'target="_blank"'); } else { $info->addButton($this->lng->txt($this->getType() . '_call'), $this->ctrl->getLinkTarget($this, 'call'), 'target="_blank"'); } $info->addSection($this->lng->txt('ecs_general_info')); $info->addProperty($this->lng->txt('title'), $this->object->getTitle()); if (strlen($this->object->getOrganization())) { $info->addProperty($this->lng->txt('organization'), $this->object->getOrganization()); } if (strlen($this->object->getDescription())) { $info->addProperty($this->lng->txt('description'), $this->object->getDescription()); } if (strlen($loc = $this->object->getLocalInformation())) { $info->addProperty($this->lng->txt('ecs_local_information'), $this->object->getLocalInformation()); } $this->addCustomInfoFields($info); include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordGUI.php'; $record_gui = new ilAdvancedMDRecordGUI(ilAdvancedMDRecordGUI::MODE_INFO, $this->getType(), $this->object->getId()); $record_gui->setInfoObject($info); $record_gui->parse(); $this->ctrl->forwardCommand($info); }
/** * 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); }
/** * show information screen */ function infoScreen() { global $ilAccess, $ilUser, $ilTabs, $lng; $ilTabs->activateTab("info_short"); if (!$ilAccess->checkAccess("visible", "", $this->object->getRefId())) { $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); $info->enablePrivateNotes(); if (trim($this->object->getIntroduction()) != "") { $info->addSection($lng->txt("wiki_introduction")); $info->addProperty("", nl2br($this->object->getIntroduction())); } // feedback from tutor; mark, status, comment include_once "./Modules/Wiki/classes/class.ilWikiContributor.php"; include_once "./Services/Tracking/classes/class.ilLPMarks.php"; $lpcomment = ilLPMarks::_lookupComment($ilUser->getId(), $this->object->getId()); $mark = ilLPMarks::_lookupMark($ilUser->getId(), $this->object->getId()); $status = ilWikiContributor::_lookupStatus($this->object->getId(), $ilUser->getId()); if ($lpcomment != "" || $mark != "" || $status != ilWikiContributor::STATUS_NOT_GRADED) { $info->addSection($this->lng->txt("wiki_feedback_from_tutor")); if ($lpcomment != "") { $info->addProperty($this->lng->txt("wiki_comment"), $lpcomment); } if ($mark != "") { $info->addProperty($this->lng->txt("wiki_mark"), $mark); } if ($status == ilWikiContributor::STATUS_PASSED) { $info->addProperty($this->lng->txt("status"), $this->lng->txt("wiki_passed")); } if ($status == ilWikiContributor::STATUS_FAILED) { $info->addProperty($this->lng->txt("status"), $this->lng->txt("wiki_failed")); } } /* $info->enableNews(); if ($ilAccess->checkAccess("write", "", $_GET["ref_id"])) { //$info->enableNewsEditing(); $info->setBlockProperty("news", "settings", true); }*/ if ($ilAccess->checkAccess("read", "", $this->object->getRefId())) { $info->addButton($lng->txt("wiki_start_page"), ilObjWikiGUI::getGotoLink($this->object->getRefId())); } // general information $this->lng->loadLanguageModule("meta"); $this->lng->loadLanguageModule("wiki"); //$info->addSection($this->lng->txt("meta_general")); //$info->addProperty($this->lng->txt("mcst_nr_items"), // (int) count($med_items)); // forward the command $this->ctrl->forwardCommand($info); if ($ilAccess->checkAccess("read", "", $this->object->getRefId())) { // $this->setSideBlock(); } }
/** * info screen */ function outputInfoScreen() { global $ilAccess; //$this->tpl->setHeaderPageTitle("PAGETITLE", " - ".$this->lm->getTitle()); // 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->setInfoTabs("info_short"); $this->lng->loadLanguageModule("meta"); include_once "./Services/InfoScreen/classes/class.ilInfoScreenGUI.php"; $info = new ilInfoScreenGUI($this->slm_gui); $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"])) { include_once './Modules/ScormAicc/classes/class.ilObjSAHSLearningModule.php'; $sahs_obj = new ilObjSAHSLearningModule($_GET["ref_id"]); $om = $sahs_obj->getOpenMode(); $width = $sahs_obj->getWidth(); $height = $sahs_obj->getHeight(); if ($om != 0) { $info->addButton($this->lng->txt("view"), "javascript:void(0); onclick=startSAHS('" . $this->ctrl->getLinkTarget($this, "") . "','ilContObj" . $this->slm_gui->object->getId() . "'," . $om . "," . $width . "," . $height . ");", ''); } else { $info->addButton($this->lng->txt("view"), $this->ctrl->getLinkTarget($this, ""), ' target="ilContObj' . $this->slm_gui->object->getId() . '" '); } } // show standard meta data section $info->addMetaDataSections($this->slm_gui->object->getId(), 0, $this->slm_gui->object->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 infoScreenForward() { global $ilTabs, $ilErr; $ilTabs->activateTab("id_info"); if (!$this->checkPermissionBool("visible")) { $ilErr->raiseError($this->lng->txt("msg_no_perm_read")); } include_once "./Services/InfoScreen/classes/class.ilInfoScreenGUI.php"; $info = new ilInfoScreenGUI($this); if ($this->checkPermissionBool("read", "sendfile")) { // 9876 $this->lng->loadLanguageModule("file"); $info->addButton($this->lng->txt("file_download"), $this->ctrl->getLinkTarget($this, "sendfile")); } $info->enablePrivateNotes(); if ($this->checkPermissionBool("read")) { $info->enableNews(); } // no news editing for files, just notifications $info->enableNewsEditing(false); if ($this->checkPermissionBool("write")) { $news_set = new ilSetting("news"); $enable_internal_rss = $news_set->get("enable_rss_for_internal"); if ($enable_internal_rss) { $info->setBlockProperty("news", "settings", true); $info->setBlockProperty("news", "public_notifications_option", true); } } // standard meta data $info->addMetaDataSections($this->object->getId(), 0, $this->object->getType()); $info->addSection($this->lng->txt("file_info")); $info->addProperty($this->lng->txt("filename"), $this->object->getFileName()); // BEGIN WebDAV Guess file type. $info->addProperty($this->lng->txt("type"), $this->object->guessFileType()); // END WebDAV Guess file type. $info->addProperty($this->lng->txt("size"), ilFormat::formatSize(ilObjFile::_lookupFileSize($this->object->getId()), 'long')); $info->addProperty($this->lng->txt("version"), $this->object->getVersion()); include_once "./Services/History/classes/class.ilHistory.php"; $uploader = ilHistory::_getEntriesForObject($this->object->getId(), $this->object->getType()); $uploader = array_shift($uploader); $uploader = $uploader["user_id"]; $this->lng->loadLanguageModule("file"); include_once "Services/User/classes/class.ilUserUtil.php"; $info->addProperty($this->lng->txt("file_uploaded_by"), ilUserUtil::getNamePresentation($uploader)); if ($this->id_type == self::WORKSPACE_NODE_ID) { $info->addProperty($this->lng->txt("perma_link"), $this->getPermanentLinkWidget()); } // forward the command // $this->ctrl->setCmd("showSummary"); // $this->ctrl->setCmdClass("ilinfoscreengui"); $this->ctrl->forwardCommand($info); }
/** * show information screen */ function infoScreenForward() { global $ilTabs, $ilErr; $ilTabs->activateTab("id_info"); if (!$this->checkPermissionBool("visible")) { $ilErr->raiseError($this->lng->txt("msg_no_perm_read")); } include_once "./Services/InfoScreen/classes/class.ilInfoScreenGUI.php"; $info = new ilInfoScreenGUI($this); if ($this->checkPermissionBool("read", "sendfile")) { // 9876 $this->lng->loadLanguageModule("file"); // get permanent download link for repository if ($this->id_type == self::REPOSITORY_NODE_ID) { $info->addButton($this->lng->txt("file_download"), ilObjFileAccess::_getPermanentDownloadLink($this->node_id), "", "top", true); } else { $info->addButton($this->lng->txt("file_download"), $this->ctrl->getLinkTarget($this, "sendfile"), "", "top", true); } } $info->enablePrivateNotes(); if ($this->checkPermissionBool("read")) { $info->enableNews(); } // no news editing for files, just notifications $info->enableNewsEditing(false); if ($this->checkPermissionBool("write")) { $news_set = new ilSetting("news"); $enable_internal_rss = $news_set->get("enable_rss_for_internal"); if ($enable_internal_rss) { $info->setBlockProperty("news", "settings", true); $info->setBlockProperty("news", "public_notifications_option", true); } } // standard meta data $info->addMetaDataSections($this->object->getId(), 0, $this->object->getType()); $info->addSection($this->lng->txt("file_info")); $info->addProperty($this->lng->txt("filename"), $this->object->getFileName()); // BEGIN WebDAV Guess file type. $info->addProperty($this->lng->txt("type"), $this->object->guessFileType()); // END WebDAV Guess file type. $info->addProperty($this->lng->txt("size"), ilFormat::formatSize(ilObjFile::_lookupFileSize($this->object->getId()), 'long')); $info->addProperty($this->lng->txt("version"), $this->object->getVersion()); // using getVersions function instead of ilHistory direct $uploader = $this->object->getVersions(); $uploader = array_shift($uploader); $uploader = $uploader["user_id"]; $this->lng->loadLanguageModule("file"); include_once "Services/User/classes/class.ilUserUtil.php"; $info->addProperty($this->lng->txt("file_uploaded_by"), ilUserUtil::getNamePresentation($uploader)); // download link added in repository if ($this->id_type == self::REPOSITORY_NODE_ID && $this->checkPermissionBool("read", "sendfile")) { $tpl = new ilTemplate("tpl.download_link.html", true, true, "Modules/File"); $tpl->setVariable("LINK", ilObjFileAccess::_getPermanentDownloadLink($this->node_id)); $info->addProperty($this->lng->txt("download_link"), $tpl->get()); } if ($this->id_type == self::WORKSPACE_NODE_ID) { $info->addProperty($this->lng->txt("perma_link"), $this->getPermanentLinkWidget()); } // display previews include_once "./Services/Preview/classes/class.ilPreview.php"; if (!$this->ctrl->isAsynch() && ilPreview::hasPreview($this->object->getId(), $this->object->getType()) && $this->checkPermissionBool("read")) { include_once "./Services/Preview/classes/class.ilPreviewGUI.php"; // get context for access checks later on $context; switch ($this->id_type) { case self::WORKSPACE_NODE_ID: case self::WORKSPACE_OBJECT_ID: $context = ilPreviewGUI::CONTEXT_WORKSPACE; break; default: $context = ilPreviewGUI::CONTEXT_REPOSITORY; break; } $preview = new ilPreviewGUI($this->node_id, $context, $this->object->getId(), $this->access_handler); $info->addProperty($this->lng->txt("preview"), $preview->getInlineHTML()); } // forward the command // $this->ctrl->setCmd("showSummary"); // $this->ctrl->setCmdClass("ilinfoscreengui"); $this->ctrl->forwardCommand($info); }
/** * show info screen * * @access public */ public function infoScreen() { global $ilCtrl; $this->tabs_gui->activateTab('infoScreen'); include_once "./Services/InfoScreen/classes/class.ilInfoScreenGUI.php"; $info = new ilInfoScreenGUI($this); $info->addSection($this->txt('xxco_instructions')); $info->addProperty("", $this->object->getInstructions()); // meta data $xml_obj = $this->object->fetchMetaData(self::META_TIMEOUT_INFO); if ($xml_obj) { foreach ($xml_obj->group as $group) { if (in_array($group['name'], $this->meta_groups)) { $info->addSection(utf8_decode($group->title)); foreach ($group->fields->field as $field) { $info->addProperty(utf8_decode($field->title), $field->content); } } } } $info->enablePrivateNotes(); // add view button if ($this->object->typedef->getAvailability() == ilExternalContentType::AVAILABILITY_NONE) { ilUtil::sendFailure($this->lng->txt('xxco_message_type_not_available'), false); } elseif ($this->object->getOnline()) { if ($this->object->typedef->getLaunchType() == ilExternalContentType::LAUNCH_TYPE_LINK) { $info->addButton($this->lng->txt("view"), $ilCtrl->getLinkTarget($this, "view")); } elseif ($this->object->typedef->getLaunchType() == ilExternalContentType::LAUNCH_TYPE_PAGE) { $info->addButton($this->lng->txt("view"), $ilCtrl->getLinkTarget($this, "viewPage")); } } $ilCtrl->forwardCommand($info); }