19declare(strict_types=1);
50 $this->tpl =
$DIC[
'tpl'];
51 $this->
lng = $DIC->language();
52 $this->
ctrl = $DIC->ctrl();
53 $this->
ctrl->saveParameter($this,
"ref_id");
54 $this->refId =
$DIC->http()->wrapper()->query()->retrieve(
'ref_id',
$DIC->refinery()->kindlyTo()->int());
64 $ilAccess =
$DIC->access();
65 $ilNavigationHistory =
$DIC[
'ilNavigationHistory'];
66 $ilCtrl =
$DIC->ctrl();
67 $ilLocator =
$DIC[
'ilLocator'];
68 $ilObjDataCache =
$DIC[
'ilObjDataCache'];
74 if ($ilAccess->checkAccess(
"read",
"", $this->refId)) {
75 $ilNavigationHistory->addItem(
77 "ilias.php?cmd=infoScreen&baseClass=ilSAHSPresentationGUI&ref_id=" . $this->refId,
82 $next_class = $this->
ctrl->getNextClass($this);
83 $cmd = $this->
ctrl->getCmd();
87 if ($cmd ===
"downloadCertificate") {
89 $ret = $this->
ctrl->forwardCommand($scorm_gui);
94 if ($next_class !==
"ilinfoscreengui" &&
95 $cmd !==
"infoScreen" &&
96 $next_class !==
"ilobjscorm2004learningmodulegui" &&
97 $next_class !==
"ilobjscormlearningmodulegui" &&
98 $next_class !==
"ilscorm13playergui" &&
99 $next_class !==
"ilscormpresentationgui" &&
100 $next_class !==
"illearningprogressgui") {
104 $this->
ctrl->saveParameterByClass(ilSCORM13PlayerGUI::class,
"ref_id");
105 $this->
ctrl->redirectByClass(ilSCORM13PlayerGUI::class, $this->
ctrl->getCmd());
107 # AXH: Verwendung unklar!
113 $this->
ctrl->saveParameterByClass(ilSCORMPresentationGUI::class,
"ref_id");
114 $this->
ctrl->redirectByClass(ilSCORMPresentationGUI::class, $this->
ctrl->getCmd());
116 # AXH: Verwendung unklar!
120 # AXH: Verwendung unklar!
121 $next_class = $this->
ctrl->getNextClass($this);
124 switch ($next_class) {
125 case "ilinfoscreengui":
129 case "ilscorm13playergui":
131 $ret = $this->
ctrl->forwardCommand($scorm_gui);
134 case "ilscormpresentationgui":
136 $ret = $this->
ctrl->forwardCommand($scorm_gui);
139 case "illearningprogressgui":
142 $this->
ctrl->forwardCommand($new_gui);
143 $this->tpl->printToStdout();
146 case "ilobjscorm2004learningmodulegui":
148 $this->
ctrl->forwardCommand($new_gui);
150 $this->tpl->printToStdout();
153 case "ilobjscormlearningmodulegui":
155 $this->
ctrl->forwardCommand($new_gui);
157 $this->tpl->printToStdout();
170 if (is_object($sc_gui_object)) {
171 $sc_gui_object->view();
175 $this->tpl->printToStdout();
186 if (strtolower($this->
ctrl->getCmd() ??
'') ===
'infoscreen') {
187 $this->
ctrl->redirectByClass(ilInfoScreenGUI::class,
'showSummary');
203 !
$DIC->access()->checkAccess(
'visible',
'',
$refId) &&
204 !
$DIC->access()->checkAccess(
'read',
'',
$refId)
206 $DIC[
'ilErr']->raiseError($this->
lng->txt(
'msg_no_perm_read'), $DIC[
'ilErr']->MESSAGE);
209 $DIC->tabs()->addTab(
211 $this->
lng->txt(
"info_short"),
212 $this->ctrl->getLinkTargetByClass(
"ilinfoscreengui",
"showSummary")
215 $DIC->tabs()->addTab(
217 $this->
lng->txt(
"learning_progress"),
218 $this->ctrl->getLinkTargetByClass(
'illearningprogressgui',
'')
221 if (
$DIC->access()->checkAccess(
"edit_learning_progress",
"",
$refId) ||
$DIC->access()->checkAccess(
"read_learning_progress",
"",
$refId)) {
223 if ($privacy->enabledSahsProtocolData()) {
226 if ($type ===
"scorm2004") {
227 $DIC->tabs()->addTab(
228 "cont_tracking_data",
229 $this->
lng->txt(
"cont_tracking_data"),
230 $this->ctrl->getLinkTargetByClass(
'ilobjscorm2004learningmodulegui',
'showTrackingItems')
232 } elseif ($type ===
"scorm") {
233 $DIC->tabs()->addTab(
234 "cont_tracking_data",
235 $this->
lng->txt(
"cont_tracking_data"),
236 $this->ctrl->getLinkTargetByClass(
'ilobjscormlearningmodulegui',
'showTrackingItems')
241 $DIC->tabs()->activateTab($a_active);
242 $this->tpl->loadStandardTemplate();
243 $this->tpl->setTitle($this->slm_gui->getObject()->getTitle());
245 $DIC[
'ilLocator']->addRepositoryItems();
246 $DIC[
'ilLocator']->addItem(
247 $this->slm_gui->getObject()->getTitle(),
248 $this->ctrl->getLinkTarget($this,
"infoScreen"),
252 $this->tpl->setLocator();
262 $ilAccess =
$DIC->access();
267 $this->
lng->loadLanguageModule(
"meta");
270 $info->enablePrivateNotes();
273 if ($ilAccess->checkAccess(
"write",
"",
$refId)) {
274 $info->enableNewsEditing();
276 $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
277 if ($enable_internal_rss) {
278 $info->setBlockProperty(
"news",
"settings",
"");
283 if ($ilAccess->checkAccess(
"read",
"",
$refId)) {
284 $ilToolbar =
$GLOBALS[
'DIC']->toolbar();
285 $ilToolbar->addButtonInstance($this->slm_gui->getObject()->getViewButton());
289 $info->addMetaDataSections(
290 $this->slm_gui->getObject()->getId(),
292 $this->slm_gui->getObject()->getType()
296 $this->tpl->printToStdout();
Class ilCtrl provides processing control methods.
loadLanguageModule(string $a_module)
Load language module.
static checkAccess(int $a_ref_id, bool $a_allow_only_read=true)
check access to learning progress
const LP_CONTEXT_REPOSITORY
Class ilObjUserTrackingGUI.
static _lookupSubType(int $a_obj_id)
lookup subtype id (scorm, )
Class ilObjSCORMLearningModuleGUI.
Class ilObjSCORMLearningModuleGUI.
static _lookupObjectId(int $ref_id)
Class ilSAHSPresentationGUI.
ilGlobalPageTemplate $tpl
setInfoTabs(string $a_active)
ilObjSCORMLearningModuleGUI $slm_gui
outputInfoScreen()
info screen
infoScreen()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually,...
Class ilSCORMPresentationGUI.
static getImagePath(string $image_name, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
static getStyleSheetLocation(string $mode="output", string $a_css_name="")
get full style sheet file name (path inclusive) of current user
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...