19 declare(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());
63 $lng = $DIC->language();
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);
95 $DIC->logger()->root()->info(
'===== $next_class: ' . $next_class .
' =====' );
96 $DIC->logger()->root()->info(
'===== $cmd: ' . $cmd .
' =====' );
98 if ($next_class !==
"ilinfoscreengui" &&
99 $cmd !==
"infoScreen" &&
100 $next_class !==
"ilobjscorm2004learningmodulegui" &&
101 $next_class !==
"ilobjscormlearningmodulegui" &&
102 $next_class !==
"ilscorm13playergui" &&
103 $next_class !==
"ilscormpresentationgui" &&
104 $next_class !==
"illearningprogressgui") {
110 $this->
ctrl->saveParameterByClass(ilSCORM13PlayerGUI::class,
"ref_id");
111 $this->
ctrl->redirectByClass(ilSCORM13PlayerGUI::class, $this->
ctrl->getCmd());
113 # AXH: Verwendung unklar! 121 $this->
ctrl->saveParameterByClass(ilSCORMPresentationGUI::class,
"ref_id");
122 $this->
ctrl->redirectByClass(ilSCORMPresentationGUI::class, $this->
ctrl->getCmd());
124 # AXH: Verwendung unklar! 128 # AXH: Verwendung unklar! 129 $next_class = $this->
ctrl->getNextClass($this);
132 switch ($next_class) {
133 case "ilinfoscreengui":
137 case "ilscorm13playergui":
139 $ret = $this->
ctrl->forwardCommand($scorm_gui);
142 case "ilscormpresentationgui":
144 $ret = $this->
ctrl->forwardCommand($scorm_gui);
147 case "illearningprogressgui":
150 $this->
ctrl->forwardCommand($new_gui);
151 $this->tpl->printToStdout();
154 case "ilobjscorm2004learningmodulegui":
156 $this->
ctrl->forwardCommand($new_gui);
158 $this->tpl->printToStdout();
161 case "ilobjscormlearningmodulegui":
163 $this->
ctrl->forwardCommand($new_gui);
165 $this->tpl->printToStdout();
178 if (is_object($sc_gui_object)) {
179 $sc_gui_object->view();
183 $this->tpl->printToStdout();
194 if (strtolower($this->
ctrl->getCmd() ??
'') ===
'infoscreen') {
195 $this->
ctrl->redirectByClass(ilInfoScreenGUI::class,
'showSummary');
211 !$DIC->access()->checkAccess(
'visible',
'', $refId) &&
212 !$DIC->access()->checkAccess(
'read',
'', $refId)
214 $DIC[
'ilErr']->raiseError($this->
lng->txt(
'msg_no_perm_read'), $DIC[
'ilErr']->MESSAGE);
217 $DIC->tabs()->addTab(
219 $this->
lng->txt(
"info_short"),
220 $this->
ctrl->getLinkTargetByClass(
"ilinfoscreengui",
"showSummary")
223 $DIC->tabs()->addTab(
225 $this->
lng->txt(
"learning_progress"),
226 $this->
ctrl->getLinkTargetByClass(
'illearningprogressgui',
'')
229 if ($DIC->access()->checkAccess(
"edit_learning_progress",
"", $refId) || $DIC->access()->checkAccess(
"read_learning_progress",
"", $refId)) {
231 if ($privacy->enabledSahsProtocolData()) {
234 if ($type ===
"scorm2004") {
235 $DIC->tabs()->addTab(
236 "cont_tracking_data",
237 $this->
lng->txt(
"cont_tracking_data"),
238 $this->
ctrl->getLinkTargetByClass(
'ilobjscorm2004learningmodulegui',
'showTrackingItems')
240 } elseif ($type ===
"scorm") {
241 $DIC->tabs()->addTab(
242 "cont_tracking_data",
243 $this->
lng->txt(
"cont_tracking_data"),
244 $this->
ctrl->getLinkTargetByClass(
'ilobjscormlearningmodulegui',
'showTrackingItems')
249 $DIC->tabs()->activateTab($a_active);
250 $this->tpl->loadStandardTemplate();
251 $this->tpl->setTitle($this->slm_gui->getObject()->getTitle());
253 $DIC[
'ilLocator']->addRepositoryItems();
254 $DIC[
'ilLocator']->addItem(
255 $this->slm_gui->getObject()->getTitle(),
256 $this->
ctrl->getLinkTarget($this,
"infoScreen"),
260 $this->tpl->setLocator();
270 $ilAccess = $DIC->access();
275 $this->
lng->loadLanguageModule(
"meta");
278 $info->enablePrivateNotes();
281 if ($ilAccess->checkAccess(
"write",
"", $refId)) {
282 $info->enableNewsEditing();
284 $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
285 if ($enable_internal_rss) {
286 $info->setBlockProperty(
"news",
"settings",
"");
291 if ($ilAccess->checkAccess(
"read",
"", $refId)) {
292 $ilToolbar =
$GLOBALS[
'DIC']->toolbar();
293 $ilToolbar->addButtonInstance($this->slm_gui->getObject()->getViewButton());
297 $info->addMetaDataSections(
298 $this->slm_gui->getObject()->getId(),
300 $this->slm_gui->getObject()->getType()
303 $this->
ctrl->forwardCommand($info);
304 $this->tpl->printToStdout();
setInfoTabs(string $a_active)
static getStyleSheetLocation(string $mode="output", string $a_css_name="")
get full style sheet file name (path inclusive) of current user
Class ilObjSCORMLearningModuleGUI.
infoScreen()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually...
ilGlobalPageTemplate $tpl
loadLanguageModule(string $a_module)
Load language module.
static checkAccess(int $a_ref_id, bool $a_allow_only_read=true)
check access to learning progress
static _lookupSubType(int $a_obj_id)
lookup subtype id (scorm, )
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
ilObjSCORMLearningModuleGUI $slm_gui
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 _lookupObjectId(int $ref_id)
outputInfoScreen()
info screen
Class ilSCORMPresentationGUI.
const LP_CONTEXT_REPOSITORY
Class ilSAHSPresentationGUI.
Class ilObjUserTrackingGUI.
Class ilObjSCORMLearningModuleGUI.