ILIAS  release_8 Revision v8.24
class.ilLMTOCExplorerGUIFactory.php
Go to the documentation of this file.
1<?php
2
23{
25
26 public function __construct()
27 {
28 global $DIC;
29
30 $this->tpl = $DIC->ui()->mainTemplate();
31 }
32
33 public function getExplorer(
35 string $parent_cmd = ""
37 // this needs a proper interface
38 $tracker = $service->getTracker();
39 $chapter_has_no_active_page = $service->getNavigationStatus()->isChapterWithoutActivePage();
40 $lang = $service->getPresentationStatus()->getLang();
41 $focus_id = $service->getPresentationStatus()->getFocusId();
42 $export_all_languages = $service->getPresentationStatus()->exportAllLanguages();
43 $current_page = $service->getNavigationStatus()->getCurrentPage();
44 $deactivated_page = $service->getNavigationStatus()->isDeactivatedPage();
45 $requested_obj_id = $service->getRequest()->getObjId();
46 $lm = $service->getLearningModule();
47 $lm_tree = $service->getLMTree();
48 $offline = $service->getPresentationStatus()->offline();
49
50 $exp = new ilLMTOCExplorerGUI(
51 "illmpresentationgui",
52 $parent_cmd,
54 $lang,
55 $focus_id,
56 $export_all_languages
57 );
58 $exp->setMainTemplate($this->tpl);
59 $exp->setTracker($tracker);
60
61 // determine highlighted and force open nodes
62 $page_id = $current_page;
63 if ($deactivated_page) {
64 $page_id = $requested_obj_id;
65 }
66 if ($page_id > 0) {
67 $exp->setPathOpen((int) $page_id);
68 }
69 // empty chapter
70 if ($chapter_has_no_active_page &&
71 ilLMObject::_lookupType($requested_obj_id) == "st") {
72 $exp->setHighlightNode($requested_obj_id);
73 } else {
74 if ($lm->getTOCMode() == "pages") {
75 if ($deactivated_page) {
76 $exp->setHighlightNode($requested_obj_id);
77 } else {
78 $exp->setHighlightNode($page_id);
79 }
80 } else {
81 $exp->setHighlightNode((int) $lm_tree->getParentId($page_id));
82 }
83 }
84 if ($offline) {
85 $exp->setOfflineMode(true);
86 }
87
88 return $exp;
89 }
90}
static _lookupType(int $a_obj_id, int $a_lm_id=0)
Main service init and factory.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getExplorer(ilLMPresentationService $service, string $parent_cmd="")
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
global $DIC
Definition: feed.php:28
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
$service
Definition: ltiservices.php:43
$lang
Definition: xapiexit.php:26