4 require_once(
"./Modules/LearningModule/classes/class.ilObjLearningModule.php");
5 require_once(
"./Services/MainMenu/classes/class.ilMainMenuGUI.php");
6 require_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
7 require_once
'Modules/LearningModule/classes/class.ilLMPageObject.php';
96 $this->
user = $DIC->user();
97 $this->rbacsystem = $DIC->rbac()->system();
98 $this->error = $DIC[
"ilErr"];
99 $this->nav_history = $DIC[
"ilNavigationHistory"];
100 $this->access = $DIC->access();
102 $this->locator = $DIC[
"ilLocator"];
103 $this->tree = $DIC->repositoryTree();
104 $this->help = $DIC[
"ilHelp"];
106 $lng = $DIC->language();
113 $lng->loadLanguageModule(
"content");
117 $this->offline =
false;
118 $this->frames = array();
120 $this->ctrl->saveParameter($this, array(
"ref_id",
"transl",
"focus_id",
"focus_return"));
123 include_once(
"./Modules/LearningModule/classes/class.ilObjLearningModuleGUI.php");
125 $this->lm = $this->lm_gui->object;
128 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
133 if ($this->ot->getContentActivated()) {
134 $langs = $this->ot->getLanguages();
135 if (isset($langs[
$_GET[
"transl"]]) || $_GET[
"transl"] == $this->ot->getMasterLanguage()) {
136 $this->lang = $_GET[
"transl"];
137 } elseif (isset($langs[
$ilUser->getCurrentLanguage()])) {
138 $this->lang =
$ilUser->getCurrentLanguage();
140 if ($this->lang == $this->ot->getMasterLanguage()) {
147 if ($this->lm->getOfflineStatus()) {
152 include_once(
"./Modules/LearningModule/classes/class.ilLMTree.php");
159 if ((
int)
$_GET[
"focus_id"] > 0 && $this->lm_tree->isInTree((
int)
$_GET[
"focus_id"])) {
160 $this->focus_id = (int) $_GET[
"focus_id"];
179 if (!$ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"]) &&
180 (!(($this->ctrl->getCmd() ==
"infoScreen" || $this->ctrl->getNextClass() ==
"ilinfoscreengui")
181 && $ilAccess->checkAccess(
"visible",
"",
$_GET[
"ref_id"])))) {
185 $next_class = $this->ctrl->getNextClass($this);
186 $cmd = $this->ctrl->getCmd(
"layout", array(
"showPrintView"));
188 $cmd = (isset(
$_POST[
'cmd'][
'citation']))
192 $obj_id =
$_GET[
"obj_id"];
193 $this->ctrl->setParameter($this,
"obj_id",
$_GET[
"obj_id"]);
194 $ilNavigationHistory->addItem(
$_GET[
"ref_id"], $this->ctrl->getLinkTarget($this),
"lm");
195 $this->ctrl->setParameter($this,
"obj_id", $obj_id);
197 switch ($next_class) {
202 case "ilinfoscreengui":
206 case "ilcommonactiondispatchergui":
207 include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
209 $gui->enableCommentsSettings(
false);
210 $this->ctrl->forwardCommand($gui);
214 include_once(
"./Modules/LearningModule/classes/class.ilLMPageGUI.php");
220 case "ilglossarydefpagegui":
221 include_once(
"./Modules/Glossary/classes/class.ilGlossaryDefPageGUI.php");
227 case "illearningprogressgui":
229 include_once
'./Services/Tracking/classes/class.ilLearningProgressGUI.php';
231 $this->ctrl->forwardCommand($new_gui);
235 include_once(
"./Services/Rating/classes/class.ilRatingGUI.php");
237 $rating_gui->setObject($this->lm->getId(),
"lm",
$_GET[
"obj_id"],
"lm");
238 $this->ctrl->forwardCommand($rating_gui);
242 $ret = $this->$cmd();
253 $this->offline = $a_offline;
254 $this->export_all_languages = $a_all_languages;
273 $this->export_format = $a_format;
283 return $this->export_format;
312 include_once(
"./Modules/LearningModule/classes/class.ilLMTracker.php");
321 if (!is_array($a_attributes)) {
324 foreach ($a_attributes as $attribute) {
325 $attr[$attribute->name()] = $attribute->value();
335 return $this->frames;
346 $layout = $this->lm->getLayout();
347 if ($this->lm->getLayoutPerPage()) {
349 if (!in_array(
$_GET[
"frame"], array(
"",
"_blank")) &&
$_GET[
"from_page"] > 0) {
350 $pg_id = (int)
$_GET[
"from_page"];
354 if (in_array(
$_GET[
"cmd"], array(
"media",
"glossary")) &&
$_GET[
"back_pg"] > 0) {
355 $pg_id = (int)
$_GET[
"back_pg"];
374 if (
$ilUser->getId() != ANONYMOUS_USER_ID &&
$_GET[
"focus_id"] ==
"") {
375 include_once(
"./Modules/LearningModule/classes/class.ilObjLearningModuleAccess.php");
379 if ($last_accessed_page &&
380 $last_accessed_page != $this->lm_tree->getLastActivePage()) {
381 $_GET[
"obj_id"] = $last_accessed_page;
391 public function layout($a_xml =
"main.xml", $doShow =
true)
405 $xmlfile = file_get_contents(
"./Modules/LearningModule/layouts/lm/" . $layout .
"/" . $a_xml);
408 include_once(
"./Modules/LearningModule/exceptions/class.ilLMPresentationException.php");
410 $layout .
"/" . $a_xml .
".");
412 $this->layout_doc = $doc;
418 ?
"/ilLayout/ilFrame[1]" 419 :
"//ilFrame[@name='" .
$_GET[
"frame"] .
"']";
422 if (count($found) != 1) {
423 include_once(
"./Modules/LearningModule/exceptions/class.ilLMPresentationException.php");
425 " path " .
$path .
" in " . $layout .
"/" . $a_xml .
". LM Layout is " . $this->lm->getLayout());
433 $this->frames = array();
438 $content .= $this->
buildTag(
"end",
"frameset");
439 $this->tpl =
new ilTemplate(
"tpl.frameset.html",
true,
true,
"Modules/LearningModule");
441 $this->tpl->setVariable(
"FS_CONTENT", $content);
443 $content = $this->tpl->get();
449 && (
$_GET[
"frame"] !=
"_blank" ||
$_GET[
"obj_type"] !=
"MediaObject")) {
455 if (empty(
$_GET[
"obj_type"])) {
456 $obj_type =
"PageObject";
458 $obj_type =
$_GET[
"obj_type"];
462 $childs = $node->child_nodes();
464 foreach ($childs as $child) {
465 if ($child->node_name() == $obj_type) {
474 include_once(
"./Modules/LearningModule/exceptions/class.ilLMPresentationException.php");
476 $_GET[
"frame"] .
"' and object type '" . $obj_type .
"'.");
481 $in_module = (
$attributes[
"template_location"] ==
"module")
486 $this->tpl->setBodyClass(
"");
495 $style_name =
$ilUser->getPref(
"style") .
".css";
496 $this->tpl->setVariable(
"LOCATION_STYLESHEET",
"./style/" . $style_name);
499 include_once(
"./Services/jQuery/classes/class.iljQueryUtil.php");
504 include_once(
"./Services/UICore/classes/class.ilUIFramework.php");
510 $childs = $node->child_nodes();
512 foreach ($childs as $child) {
513 $child_attr = $this->
attrib2arr($child->attributes());
515 switch ($child->node_name()) {
522 $this->
ilTOC($child_attr[
"target_frame"]);
527 switch ($this->lm->getType()) {
532 $content = $this->
ilPage($child);
541 case "ilLMNavigation":
555 $child_attr[
"inline"],
557 $child_attr[
"location"]
588 include_once(
"./Services/Accordion/classes/class.ilAccordionGUI.php");
593 $this->tpl->addJavascript(
"./Modules/LearningModule/js/LearningModule.js");
594 include_once(
"./Services/UIComponent/Glyph/classes/class.ilGlyphGUI.php");
596 $this->tpl->addOnLoadCode($close_call);
601 if (
$_GET[
"frame"] ==
"") {
602 include_once(
"./Services/Authentication/classes/class.ilSessionIStorage.php");
604 $last_frame_url =
$store->get(
"cf_" . $this->lm->getId());
605 if ($last_frame_url !=
"") {
606 $this->tpl->addOnLoadCode(
"il.LearningModule.setLastFrameUrl('" . $last_frame_url .
"', 'center_bottom');");
609 if (in_array($layout, array(
"toc2windyn"))) {
610 $this->tpl->addOnLoadCode(
"il.LearningModule.setSaveUrl('" .
611 $ilCtrl->getLinkTarget($this,
"saveFrameUrl",
"",
false,
false) .
"'); 612 il.LearningModule.openInitFrames(); 615 $this->tpl->addOnLoadCode(
"il.LearningModule.setTocRefreshUrl('" .
616 $ilCtrl->getLinkTarget($this,
"refreshToc",
"",
false,
false) .
"'); 622 $this->tpl->addJavascript(
"./Services/Navigation/js/ServiceNavigation.js");
624 $this->tpl->fillJavaScriptFiles();
625 $this->tpl->fillScreenReaderFocus();
627 $this->tpl->fillCssFiles();
630 $this->tpl->resetJavascript();
631 $this->tpl->resetCss();
632 $this->tpl->setBodyClass(
"ilLMNoMenu");
634 include_once(
"./Modules/LearningModule/classes/class.ilObjContentObject.php");
636 if ($f[
"type"] ==
"js") {
637 $this->tpl->addJavascript($f[
"target"]);
639 if ($f[
"type"] ==
"css") {
640 $this->tpl->addCSS($f[
"target"]);
643 $this->tpl->fillJavaScriptFiles(
true);
644 $this->tpl->fillCssFiles(
true);
648 $this->tpl->fillBodyClass();
656 $this->tpl->fillTabs();
657 if ($this->fill_on_load_code) {
658 $this->tpl->fillOnLoadCode();
661 $content = $this->tpl->get();
662 $content = str_replace(
"{",
"{", $content);
663 $content = str_replace(
"}",
"}", $content);
665 header(
'Content-type: text/html; charset=UTF-8');
668 $this->tpl->fillLeftNav();
669 $this->tpl->fillOnLoadCode();
671 $content = $this->tpl->get();
685 include_once(
"./Services/Authentication/classes/class.ilSessionIStorage.php");
687 if (
$_GET[
"url"] !=
"") {
688 $store->set(
"cf_" . $this->lm->getId(),
$_GET[
"url"]);
690 $store->set(
"cf_" . $this->lm->getId(),
$_GET[
"url"]);
702 if (
$_GET[
"frame"] !=
"_blank") {
715 if (
$_GET[
"frame"] !=
"_blank") {
718 $this->tpl =
new ilTemplate(
"tpl.glossary_term_output.html",
true,
true,
true);
726 $style_name =
$ilUser->getPref(
"style") .
".css";
728 $this->tpl->setVariable(
"LOCATION_STYLESHEET",
"./style/" . $style_name);
735 return $this->tpl->get();
747 $ltiview = $DIC[
"lti"];
748 if ($ltiview->isActive()) {
749 include_once
'./Services/LTI/classes/class.ilMainMenuGUI.php';
752 include_once
'./Services/MainMenu/classes/class.ilMainMenuGUI.php';
757 $this->tpl->touchBlock(
"pg_intro");
758 $this->tpl->touchBlock(
"pg_outro");
764 $ilMainMenu->setLoginTargetPar(
"pg_" . $page_id .
"_" . $this->lm->getRefId());
769 $this->tpl->touchBlock(
"pg_intro");
770 $this->tpl->touchBlock(
"pg_outro");
771 $this->tpl->setBodyClass(
"std");
772 $this->tpl->setVariable(
"MAINMENU", $ilMainMenu->getHTML());
774 $this->tpl->setVariable(
"MAINMENU_SPACER", $ilMainMenu->getSpacerClass());
780 public function ilTOC($a_get_explorer =
false)
782 include_once(
"./Modules/LearningModule/classes/class.ilLMTOCExplorerGUI.php");
783 $exp =
new ilLMTOCExplorerGUI($this,
"ilTOC", $this, $this->lang, $this->focus_id, $this->export_all_languages);
784 $exp->setMainTemplate($this->tpl);
788 if ($this->deactivated_page) {
789 $page_id =
$_GET[
"obj_id"];
792 $exp->setPathOpen((
int) $page_id);
795 if ($this->chapter_has_no_active_page &&
797 $exp->setHighlightNode(
$_GET[
"obj_id"]);
799 if ($this->lm->getTOCMode() ==
"pages") {
800 if ($this->deactivated_page) {
801 $exp->setHighlightNode(
$_GET[
"obj_id"]);
803 $exp->setHighlightNode($page_id);
806 $exp->setHighlightNode($this->lm_tree->getParentId($page_id));
810 $exp->setOfflineMode(
true);
812 if (!$exp->handleCommand()) {
813 if ($a_get_explorer) {
816 $this->tpl->setCurrentBlock(
"il_toc");
817 $this->tpl->setVariable(
"EXPLORER", $exp->getHTML());
818 $this->tpl->parseCurrentBlock();
831 if ($this->
offlineMode() && $this->lang !=
"" && $this->lang !=
"-") {
832 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
834 $data = $ot->getLanguages();
840 return $this->lm->getTitle();
849 $this->tpl->setVariable(
"MENU", $this->lm_gui->setilLMMenu(
850 $this->offlineMode(),
866 $this->tpl->setCurrentBlock(
"header_image");
868 $this->tpl->setVariable(
"IMG_HEADER",
"./images/icon_lm.svg");
872 $this->tpl->parseCurrentBlock();
873 $this->tpl->setCurrentBlock(
"lm_head");
875 $this->tpl->parseCurrentBlock();
885 if ($this->
abstract) {
889 $showViewInFrameset =
true;
891 if ($showViewInFrameset) {
894 $buttonTarget =
"_top";
898 include_once(
"./Services/UICore/classes/class.ilTemplate.php");
899 $tpl_menu =
new ilTemplate(
"tpl.lm_sub_menu.html",
true,
true,
true);
909 $tpl_menu->setCurrentBlock(
"edit_page");
911 $tpl_menu->setVariable(
"EDIT_LINK", ILIAS_HTTP_PATH .
"/ilias.php?baseClass=ilLMEditorGUI&ref_id=" .
$_GET[
"ref_id"] .
912 "&obj_id=" . $page_id .
"&to_page=1");
913 $tpl_menu->setVariable(
"EDIT_TXT", $this->lng->txt(
"edit_page"));
914 $tpl_menu->setVariable(
"EDIT_TARGET", $buttonTarget);
915 $tpl_menu->parseCurrentBlock();
920 include_once(
"./Services/PermanentLink/classes/class.ilPermanentLinkGUI.php");
923 $page_id .
"_" . $this->lm->getRefId(),
931 $this->lm->getPageHeader(),
932 $this->lm->isActiveNumbering(),
933 $this->lm_set->get(
"time_scheduled_page_activation"),
938 if ($pg_title !=
"") {
939 $title .=
": " . $pg_title;
944 $tpl_menu->setCurrentBlock(
"perma_link");
945 $tpl_menu->setVariable(
"PERMA_LINK", $plinkgui->getHTML());
946 $tpl_menu->parseCurrentBlock();
949 $this->tpl->setVariable(
"SUBMENU", $tpl_menu->get());
970 include_once
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php";
974 $this->lm->getType(),
980 include_once
"Services/Object/classes/class.ilObjectListGUI.php";
981 ilObjectListGUI::prepareJSLinks(
982 $this->ctrl->getLinkTarget($this,
"redrawHeaderAction",
"",
true),
983 $this->ctrl->getLinkTargetByClass(array(
"ilcommonactiondispatchergui",
"ilnotegui"),
"",
"",
true,
false),
984 $this->ctrl->getLinkTargetByClass(array(
"ilcommonactiondispatchergui",
"iltagginggui"),
"",
"",
true,
false),
988 $lg = $dispatcher->initHeaderAction();
989 $lg->enableNotes(
true);
990 $lg->enableComments($this->lm->publicNotes(),
false);
992 if ($this->lm->hasRating() && !$this->
offlineMode()) {
995 $this->lng->txt(
"lm_rating"),
997 array(
"ilcommonactiondispatchergui",
"ilratinggui")
1002 $this->tpl->setVariable(
"HEAD_ACTION", $lg->getHeaderAction($this->tpl));
1005 return $lg->getHeaderAction() .
1006 $tpl->getOnLoadCodeForAsynch();
1036 if (!$this->lm->publicNotes()) {
1040 $next_class = $this->ctrl->getNextClass($this);
1042 include_once(
"Services/Notes/classes/class.ilNoteGUI.php");
1050 if ($ilAccess->checkAccess(
"write",
"",
$_GET[
"ref_id"]) &&
1055 $this->ctrl->setParameter($this,
"frame",
$_GET[
"frame"]);
1056 $this->ctrl->setParameter($this,
"obj_id",
$_GET[
"obj_id"]);
1058 $notes_gui->enablePrivateNotes();
1059 if ($this->lm->publicNotes()) {
1060 $notes_gui->enablePublicNotes();
1063 if ($next_class ==
"ilnotegui") {
1064 $html = $this->ctrl->forwardCommand($notes_gui);
1066 $html = $notes_gui->getNotesHTML();
1068 $this->tpl->setVariable(
"NOTES",
$html);
1078 $ltiview = $DIC[
"lti"];
1083 require_once(
"./Modules/LearningModule/classes/class.ilStructureObject.php");
1085 if (empty(
$_GET[
"obj_id"])) {
1086 $a_id = $this->lm_tree->getRootId();
1088 $a_id =
$_GET[
"obj_id"];
1091 if (!$a_std_templ_loaded) {
1092 $this->tpl->addBlockFile(
"STATUSLINE",
"statusline",
"tpl.statusline.html");
1095 if (!$this->lm->cleanFrames()) {
1096 $frame_param =
$_GET[
"frame"];
1103 $frame_target =
"_top";
1108 if ($ltiview->isActive()) {
1111 $ilLocator->addItem(
"...",
"");
1113 $par_id =
$tree->getParentId(
$_GET[
"ref_id"]);
1114 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id", $par_id);
1115 $ilLocator->addItem(
1117 $ilCtrl->getLinkTargetByClass(
"ilrepositorygui",
"frameset"),
1121 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id",
$_GET[
"ref_id"]);
1124 $ilLocator->setOffline(
true);
1127 if ($this->lm_tree->isInTree($a_id)) {
1128 $path = $this->lm_tree->getPathFull($a_id);
1131 if (
$row[
"type"] !=
"pg") {
1132 if (
$row[
"child"] != $this->lm_tree->getRootId()) {
1133 $ilLocator->addItem(
1138 $this->lm->isActiveNumbering(),
1139 $this->lm_set->get(
"time_scheduled_page_activation"),
1147 $this->
getLink(
$_GET[
"ref_id"],
"layout",
$row[
"child"], $frame_param,
"StructureObject"),
1151 $ilLocator->addItem(
1153 $this->
getLink(
$_GET[
"ref_id"],
"layout",
"", $frame_param),
1161 $ilLocator->addItem(
1166 require_once(
"./Modules/LearningModule/classes/class.ilLMObjectFactory.php");
1169 $ilLocator->addItem(
1170 $lm_obj->getTitle(),
1171 $this->
getLink(
$_GET[
"ref_id"],
"layout", $a_id, $frame_param),
1177 $debug =
"DEBUG: <font color=\"red\">" . $this->type .
"::" . $this->
id .
"::" .
$_GET[
"cmd"] .
"</font><br/>";
1183 $this->tpl->setLocator();
1195 if (!$this->
offlineMode() && $this->current_page_id !==
false) {
1199 include_once(
"./Modules/LearningModule/classes/class.ilLMPage.php");
1201 $this->chapter_has_no_active_page =
false;
1202 $this->deactivated_page =
false;
1205 if (empty(
$_GET[
"obj_id"])) {
1206 $obj_id = $this->lm_tree->getRootId();
1208 $obj_id =
$_GET[
"obj_id"];
1211 $this->lm->getType(),
1212 $this->lm_set->get(
"time_scheduled_page_activation")
1217 $this->deactivated_page =
true;
1222 if (!$this->lm_tree->isInTree($obj_id)) {
1226 $curr_node = $this->lm_tree->getNodeData($obj_id);
1230 $this->lm->getType(),
1231 $this->lm_set->get(
"time_scheduled_page_activation")
1234 if ($curr_node[
"type"] ==
"pg" &&
1236 $page_id = $curr_node[
"obj_id"];
1241 while ($succ_node && !$active) {
1242 $succ_node = $this->lm_tree->fetchSuccessorNode($page_id,
"pg");
1243 $page_id = $succ_node[
"obj_id"];
1246 $this->lm->getType(),
1247 $this->lm_set->get(
"time_scheduled_page_activation")
1251 if ($succ_node[
"type"] !=
"pg") {
1252 $this->chapter_has_no_active_page =
true;
1257 if (
$ilUser->getId() == ANONYMOUS_USER_ID &&
1258 $this->lm_gui->object->getPublicAccessMode() ==
'selected') {
1261 while ($public ===
false && $page_id > 0) {
1262 $succ_node = $this->lm_tree->fetchSuccessorNode($page_id,
'pg');
1263 $page_id = $succ_node[
'obj_id'];
1269 if ($this->lm_tree->isInTree($page_id)) {
1270 $path = $this->lm_tree->getPathId($page_id);
1272 $this->chapter_has_no_active_page =
true;
1277 $this->current_page_id = $page_id;
1284 $this->tpl =
new ilTemplate(
"tpl.page.html",
true,
true,
true);
1286 $this->tpl->setVariable(
"MENU", $this->lm_gui->setilCitationMenu());
1288 include_once(
"./Modules/LearningModule/classes/class.ilLMPage.php");
1290 $this->pg_obj = $this->
getLMPage($page_id);
1291 $xml = $this->pg_obj->getXMLContent();
1292 $this->lm_gui->showCitation(
$xml);
1299 if (!is_object($this->layout_doc)) {
1305 $path =
"/ilLayout/ilLinkTargets/LinkTarget";
1308 for (
$i = 0;
$i < count(
$res->nodeset);
$i++) {
1310 $frame =
$res->nodeset[
$i]->get_attribute(
"Frame");
1311 $onclick =
$res->nodeset[
$i]->get_attribute(
"OnClick");
1312 $targets[
$type] = array(
"Type" =>
$type,
"Frame" => $frame,
"OnClick" => $onclick);
1325 public function ilPage(&$a_page_node, $a_page_id = 0)
1334 $ilHelp->setScreenIdComponent(
"lm");
1335 $ilHelp->setScreenId(
"content");
1336 $ilHelp->setSubScreenId(
"content");
1338 $this->fill_on_load_code =
true;
1343 if ($requested_page_lm != $this->lm->getId()) {
1344 if ($_REQUEST[
"frame"] ==
"") {
1348 $read_access =
false;
1350 if (
$access->checkAccess(
"read",
"", $ref_id)) {
1351 $read_access =
true;
1354 if (!$read_access) {
1362 if (
$ilUser->getId() == ANONYMOUS_USER_ID &&
1363 $this->lm_gui->object->getPublicAccessMode() ==
'selected') {
1378 if ($this->lm->getRestrictForwardNavigation()) {
1387 require_once(
"./Modules/LearningModule/classes/class.ilLMPageGUI.php");
1388 require_once(
"./Modules/LearningModule/classes/class.ilLMPageObject.php");
1391 if ($a_page_id == 0) {
1397 include_once
'./Services/Search/classes/class.ilUserSearchCache.php';
1400 $search_string = $cache->getQuery();
1403 if (is_array($search_string)) {
1404 $search_string = $search_string[
"lom_content"];
1407 include_once(
"./Services/UIComponent/TextHighlighter/classes/class.ilTextHighlighterGUI.php");
1408 include_once(
"./Services/Search/classes/class.ilQueryParser.php");
1412 $words = $p->getQuotedWords();
1413 if (is_array($words)) {
1414 foreach ($words as
$w) {
1419 $this->fill_on_load_code =
true;
1422 $page_id = $a_page_id;
1426 $this->tpl->setCurrentBlock(
"ContentStyle");
1428 $this->tpl->setVariable(
1429 "LOCATION_CONTENT_STYLESHEET",
1433 $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
"content_style/content.css");
1435 $this->tpl->parseCurrentBlock();
1438 if ($this->chapter_has_no_active_page &&
1441 "tpl.no_content_message.html",
1444 "Modules/LearningModule" 1446 $mtpl->setVariable(
"MESSAGE", $this->lng->txt(
"cont_no_page_in_chapter"));
1453 $this->tpl->setVariable(
"PAGE_CONTENT", $mtpl->get());
1454 return $mtpl->get();
1458 if ($this->deactivated_page) {
1460 "tpl.no_content_message.html",
1463 "Modules/LearningModule" 1465 $m = $this->lng->txt(
"cont_page_currently_deactivated");
1467 if ($act_data[
"show_activation_info"] &&
1468 (
ilUtil::now() < $act_data[
"activation_start"])) {
1469 $m .=
"<p>" . sprintf(
1470 $this->lng->txt(
"cont_page_activation_on"),
1477 $mtpl->setVariable(
"MESSAGE",
$m);
1484 $this->tpl->setVariable(
"PAGE_CONTENT", $mtpl->get());
1485 return $mtpl->get();
1490 if ($this->focus_id > 0) {
1491 $path = $this->lm_tree->getPathId($page_id);
1494 if (!in_array($this->focus_id,
$path)) {
1496 "tpl.out_of_focus_message.html",
1499 "Modules/LearningModule" 1501 $mtpl->setVariable(
"MESSAGE", $this->lng->txt(
"cont_out_of_focus_message"));
1502 $mtpl->setVariable(
"TXT_SHOW_CONTENT", $this->lng->txt(
"cont_show_content_after_focus"));
1505 $mtpl->setVariable(
"TXT_BACK_BEGINNING", $this->lng->txt(
"cont_to_focus_beginning"));
1506 $this->ctrl->setParameter($this,
"obj_id", $this->focus_id);
1507 $mtpl->setVariable(
"LINK_BACK_TO_BEGINNING", $this->ctrl->getLinkTarget($this,
"layout"));
1508 $this->ctrl->setParameter($this,
"obj_id", $_GET[
"obj_id"]);
1510 $mtpl->setVariable(
"TXT_BACK_BEGINNING", $this->lng->txt(
"cont_to_focus_return_crs"));
1511 include_once(
"./Services/Link/classes/class.ilLink.php");
1512 $mtpl->setVariable(
"LINK_BACK_TO_BEGINNING",
ilLink::_getLink((
int) $_GET[
"focus_return"]));
1515 $this->ctrl->setParameter($this,
"focus_id",
"");
1516 $mtpl->setVariable(
"LINK_SHOW_CONTENT", $this->ctrl->getLinkTarget($this,
"layout"));
1517 $this->ctrl->setParameter($this,
"focus_id", $_GET[
"focus_id"]);
1519 $focus_mess = $mtpl->get();
1526 if ($sp == 0 || !in_array($this->focus_id, $path2)) {
1528 "tpl.out_of_focus_message.html",
1531 "Modules/LearningModule" 1533 $mtpl->setVariable(
"MESSAGE", $this->lng->txt(
"cont_out_of_focus_message_last_page"));
1534 $mtpl->setVariable(
"TXT_SHOW_CONTENT", $this->lng->txt(
"cont_show_content_after_focus"));
1537 $mtpl->setVariable(
"TXT_BACK_BEGINNING", $this->lng->txt(
"cont_to_focus_beginning"));
1538 $this->ctrl->setParameter($this,
"obj_id", $this->focus_id);
1539 $mtpl->setVariable(
"LINK_BACK_TO_BEGINNING", $this->ctrl->getLinkTarget($this,
"layout"));
1540 $this->ctrl->setParameter($this,
"obj_id", $_GET[
"obj_id"]);
1542 $mtpl->setVariable(
"TXT_BACK_BEGINNING", $this->lng->txt(
"cont_to_focus_return_crs"));
1543 include_once(
"./Services/Link/classes/class.ilLink.php");
1544 $mtpl->setVariable(
"LINK_BACK_TO_BEGINNING",
ilLink::_getLink((
int) $_GET[
"focus_return"]));
1547 $this->ctrl->setParameter($this,
"focus_id",
"");
1548 $mtpl->setVariable(
"LINK_SHOW_CONTENT", $this->ctrl->getLinkTarget($this,
"layout"));
1549 $this->ctrl->setParameter($this,
"focus_id", $_GET[
"focus_id"]);
1551 $focus_mess = $mtpl->get();
1557 if ($page_id == 0) {
1558 $cont = $this->lng->txt(
"cont_no_page");
1559 $this->tpl->setVariable(
"PAGE_CONTENT", $cont);
1566 $page_object = $page_object_gui->getPageObject();
1567 $page_object->buildDom();
1568 $page_object->registerOfflineHandler($this);
1570 $int_links = $page_object->getInternalLinks();
1574 $page_object_gui->setTemplateOutput(
false);
1577 $ilUser->setDesktopItemParameters($this->lm->getRefId(), $this->lm->getType(), $page_id);
1580 include_once
'./Modules/Course/classes/class.ilCourseLMHistory.php';
1589 $lm_pg_obj->setLMId($this->lm->getId());
1591 $page_object_gui->setLinkXML($link_xml);
1595 $page_object_gui->setLinkFrame(
$_GET[
"frame"]);
1598 if ($page_id == 0 || ($page_id != $this->lm->getHeaderPage() &&
1599 $page_id != $this->lm->getFooterPage())) {
1600 $page_object_gui->setPresentationTitle(
1602 $lm_pg_obj->getId(),
1603 $this->lm->getPageHeader(),
1604 $this->lm->isActiveNumbering(),
1605 $this->lm_set->get(
"time_scheduled_page_activation"),
1617 $page_object_gui->setEnabledPageFocus(
false);
1618 $page_object_gui->getPageConfig()->setEnableSelfAssessment(
false);
1622 $page_object_gui->setLinkParams(
"ref_id=" . $this->lm->getRefId());
1623 $page_object_gui->setTemplateTargetVar(
"PAGE_CONTENT");
1627 $this->tpl->setCurrentBlock(
"SyntaxStyle");
1629 $this->tpl->setVariable(
1630 "LOCATION_SYNTAX_STYLESHEET",
1634 $this->tpl->setVariable(
1635 "LOCATION_SYNTAX_STYLESHEET",
1636 "syntaxhighlight.css" 1639 $this->tpl->parseCurrentBlock();
1642 $ret = $page_object_gui->presentation($page_object_gui->getOutputMode());
1645 if ($this->lm->getHeaderPage() > 0 &&
1646 $page_id != $this->lm->getHeaderPage() &&
1647 ($page_id == 0 || $page_id != $this->lm->getFooterPage())) {
1649 $head = $this->
ilPage($a_page_node, $this->lm->getHeaderPage());
1654 if ($this->lm->getFooterPage() > 0 &&
1655 $page_id != $this->lm->getFooterPage() &&
1656 ($page_id == 0 || $page_id != $this->lm->getHeaderPage())) {
1658 $foot = $this->
ilPage($a_page_node, $this->lm->getFooterPage());
1664 if ($this->lm->hasRatingPages() && !$this->
offlineMode()) {
1665 include_once(
"./Services/Rating/classes/class.ilRatingGUI.php");
1667 $rating_gui->setObject($this->lm->getId(),
"lm", $page_id,
"lm");
1668 $rating_gui->setYourRatingText($this->lng->txt(
"lm_rate_page"));
1675 $this->ctrl->setParameter($this,
"pgid", $page_id);
1676 $this->tpl->addOnLoadCode(
"il.LearningModule.setRatingUrl('" .
1677 $this->ctrl->getLinkTarget($this,
"updatePageRating",
"",
true,
false) .
1679 $this->ctrl->setParameter($this,
"pgid",
"");
1681 $rating =
'<div id="ilrtrpg" style="text-align:right">' .
1682 $rating_gui->getHtml(
true,
true,
"il.LearningModule.saveRating(%rating%);") .
1686 $this->tpl->setVariable(
"PAGE_CONTENT", $rating . $head . $focus_mess .
$ret . $foot);
1688 return $head . $focus_mess .
$ret . $foot;
1695 $pg_id =
$_GET[
"pgid"];
1696 if (!$this->ctrl->isAsynch() || !$pg_id) {
1700 include_once
'./Services/Rating/classes/class.ilRating.php';
1701 $rating = (int)
$_POST[
"rating"];
1721 include_once
'./Services/Rating/classes/class.ilRatingGUI.php';
1723 $rating->setObject($this->lm->getId(),
"lm", $pg_id,
"lm",
$ilUser->getId());
1724 $rating->setYourRatingText($this->lng->txt(
"lm_rate_page"));
1726 echo $rating->getHtml(
true,
true,
"il.LearningModule.saveRating(%rating%);");
1728 echo $this->tpl->getOnLoadCodeForAsynch();
1740 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
1742 $this->lm->getStyleSheetId(),
1746 $a_page_gui->setOutputMode(
"presentation");
1747 $this->fill_on_load_code =
true;
1749 $a_page_gui->setOutputMode(
"offline");
1751 $this->fill_on_load_code =
false;
1756 $a_page_gui->setFileDownloadLink($this->
getLink(
$_GET[
"ref_id"],
"downloadFile"));
1758 $this->ctrl->setParameter($this,
"obj_id",
$_GET[
"obj_id"]);
1760 $a_page_gui->setFullscreenLink($this->
getLink(
$_GET[
"ref_id"],
"fullscreen"));
1774 $this->tpl->setCurrentBlock(
"ContentStyle");
1776 $this->tpl->setVariable(
1777 "LOCATION_CONTENT_STYLESHEET",
1781 $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
"content_style/content.css");
1783 $this->tpl->parseCurrentBlock();
1785 $this->tpl->addBlockFile(
"PAGE_CONTENT",
"pg_content",
"tpl.page_preconditions.html",
true);
1788 include_once(
"./Services/Repository/classes/class.ilRepositoryExplorer.php");
1789 foreach ($conds as $cond) {
1790 include_once(
"./Services/Link/classes/class.ilLink.php");
1792 $this->tpl->setCurrentBlock(
"condition");
1794 $this->tpl->setVariable(
"LINK_ITEM", $obj_link);
1795 if ($cond[
"operator"] ==
"passed") {
1796 $cond_str = $this->lng->txt(
"passed");
1798 $cond_str = $this->lng->txt(
"condition_" . $cond[
"operator"]);
1800 $this->tpl->setVariable(
"VAL_CONDITION", $cond_str .
" " . $cond[
"value"]);
1801 $this->tpl->parseCurrentBlock();
1803 $this->tpl->setCurrentBlock(
"pg_content");
1805 $this->tpl->setVariable(
1806 "TXT_MISSING_PRECONDITIONS",
1808 $this->lng->txt(
"cont_missing_preconditions"),
1812 $this->tpl->setVariable(
"TXT_ITEM", $this->lng->txt(
"object"));
1813 $this->tpl->setVariable(
"TXT_CONDITION", $this->lng->txt(
"condition"));
1816 $parent = $this->lm_tree->getParentId($topchap);
1817 $childs = $this->lm_tree->getChildsByType($parent,
"st");
1821 foreach ($childs as $child) {
1822 if ($child[
"child"] == $topchap) {
1825 if (
$i++ == ($j + 1)) {
1826 $succ_node = $this->lm_tree->fetchSuccessorNode($child[
"child"],
"pg");
1829 if ($succ_node !=
"") {
1830 $framestr = (!empty(
$_GET[
"frame"]))
1831 ?
"frame=" .
$_GET[
"frame"] .
"&" 1834 $showViewInFrameset =
true;
1835 $link =
"<br /><a href=\"" .
1836 $this->
getLink($this->lm->getRefId(),
"layout", $succ_node[
"obj_id"],
$_GET[
"frame"]) .
1837 "\">" . $this->lng->txt(
"cont_skip_chapter") .
"</a>";
1838 $this->tpl->setVariable(
"LINK_SKIP_CHAPTER", $link);
1841 $this->tpl->parseCurrentBlock();
1853 $showViewInFrameset =
true;
1855 if ($a_layoutframes ==
"") {
1856 $a_layoutframes = array();
1858 $link_info =
"<IntLinkInfos>";
1859 foreach ($a_int_links as $int_link) {
1860 $target = $int_link[
"Target"];
1861 if (substr(
$target, 0, 4) ==
"il__") {
1864 $type = $int_link[
"Type"];
1865 $targetframe = ($int_link[
"TargetFrame"] !=
"")
1866 ? $int_link[
"TargetFrame"]
1870 $anc = $anc_add =
"";
1871 if ($int_link[
"Anchor"] !=
"") {
1872 $anc = $int_link[
"Anchor"];
1873 $anc_add =
"_" . rawurlencode($int_link[
"Anchor"]);
1878 case "StructureObject":
1880 if ($lm_id == $this->lm->getId() ||
1881 ($targetframe !=
"None" && $targetframe !=
"New")) {
1882 $ltarget = $a_layoutframes[$targetframe][
"Frame"];
1886 $nframe = ($ltarget ==
"")
1889 if ($ltarget ==
"") {
1890 if ($showViewInFrameset) {
1891 $ltarget =
"_parent";
1917 if (
$type ==
"PageObject") {
1918 $href =
"./goto.php?target=pg_" .
$target_id . $anc_add;
1920 $href =
"./goto.php?target=st_" .
$target_id;
1923 if (
$type ==
"PageObject") {
1924 $href = ILIAS_HTTP_PATH .
"/goto.php?target=pg_" .
$target_id . $anc_add .
"&client_id=" . CLIENT_ID;
1926 $href = ILIAS_HTTP_PATH .
"/goto.php?target=st_" .
$target_id .
"&client_id=" . CLIENT_ID;
1929 if ($targetframe !=
"New") {
1932 $ltarget =
"_blank";
1937 case "GlossaryItem":
1938 if ($targetframe ==
"None") {
1939 $targetframe =
"Glossary";
1941 $ltarget = $a_layoutframes[$targetframe][
"Frame"];
1942 $nframe = ($ltarget ==
"")
1950 $ltarget = $a_layoutframes[$targetframe][
"Frame"];
1951 $nframe = ($ltarget ==
"")
1958 case "RepositoryItem":
1962 $href =
"./goto.php?target=" . $obj_type .
"_" .
$target_id;
1964 $href = ILIAS_HTTP_PATH .
"/goto.php?target=" . $obj_type .
"_" .
$target_id .
"&client_id=" . CLIENT_ID;
1970 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
1978 $href =
$ilCtrl->getLinkTarget($this,
"downloadFile");
1979 $ilCtrl->setParameter($this,
"file_id",
"");
1980 $ilCtrl->setParameter($this,
"obj_id",
$_GET[
"obj_id"]);
1986 if ($obj_type ==
"usr") {
1987 include_once(
"./Services/User/classes/class.ilUserUtil.php");
1988 $back = $this->ctrl->getLinkTarget($this,
"layout");
1990 $this->ctrl->setParameterByClass(
"ilpublicuserprofilegui",
"user_id",
$target_id);
1991 $this->ctrl->setParameterByClass(
1992 "ilpublicuserprofilegui",
1997 include_once(
"./Services/User/classes/class.ilUserUtil.php");
1999 $href = $this->ctrl->getLinkTargetByClass(
"ilpublicuserprofilegui",
"getHTML");
2001 $this->ctrl->setParameterByClass(
"ilpublicuserprofilegui",
"user_id",
"");
2008 $anc_par =
'Anchor="' . $anc .
'"';
2011 $link_info .=
"<IntLinkInfo Target=\"$target\" Type=\"$type\" " .
2012 "TargetFrame=\"$targetframe\" LinkHref=\"$href\" LinkTarget=\"$ltarget\" LinkContent=\"$lcontent\" $anc_par/>";
2024 $link_info .=
"</IntLinkInfos>";
2033 $link_info =
"<LinkTargets>";
2035 $link_info .=
"<LinkTarget TargetFrame=\"" .
$t[
"Type"] .
"\" LinkTarget=\"" .
$t[
"Frame"] .
"\" OnClick=\"" .
$t[
"OnClick"] .
"\" />";
2037 $link_info .=
"</LinkTargets>";
2048 require_once(
"./Modules/Glossary/classes/class.ilGlossaryTermGUI.php");
2052 $this->tpl->setCurrentBlock(
"ContentStyle");
2054 $this->tpl->setVariable(
2055 "LOCATION_CONTENT_STYLESHEET",
2059 $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
"content_style/content.css");
2061 $this->tpl->parseCurrentBlock();
2064 $this->tpl->setCurrentBlock(
"SyntaxStyle");
2067 $this->tpl->setVariable(
2068 "LOCATION_SYNTAX_STYLESHEET",
2072 $this->tpl->setVariable(
2073 "LOCATION_SYNTAX_STYLESHEET",
2074 "syntaxhighlight.css" 2077 $this->tpl->parseCurrentBlock();
2079 $int_links = $term_gui->getInternalLinks();
2082 $term_gui->setLinkXML($link_xml);
2086 $ilCtrl->setParameter($this,
"pg_type",
"glo");
2088 $term_gui->output($this->
offlineMode(), $this->tpl);
2093 $ilCtrl->setParameter($this,
"pg_type",
"");
2104 $this->tpl->setCurrentBlock(
"ContentStyle");
2106 $this->tpl->setVariable(
2107 "LOCATION_CONTENT_STYLESHEET",
2111 $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
"content_style/content.css");
2113 $this->tpl->parseCurrentBlock();
2121 $style_name =
$ilUser->getPref(
"style") .
".css";
2123 $this->tpl->setVariable(
"LOCATION_STYLESHEET",
"./style/" . $style_name);
2126 $this->tpl->setCurrentBlock(
"ilMedia");
2133 require_once(
"./Services/MediaObjects/classes/class.ilObjMediaObject.php");
2135 if (!empty(
$_GET[
"pg_id"])) {
2136 require_once(
"./Modules/LearningModule/classes/class.ilLMPage.php");
2138 $pg_obj->buildDom();
2143 $xml .= $pg_obj->getMediaAliasElement(
$_GET[
"mob_id"]);
2162 $xsl = file_get_contents(
"./Services/COPage/xsl/page.xsl");
2163 $args = array(
'/_xml' =>
$xml,
'/_xsl' => $xsl );
2175 $mode = (
$_GET[
"cmd"] ==
"fullscreen")
2180 $this->
getLink($this->lm->getRefId(),
"fullscreen");
2181 $params = array(
'mode' => $mode,
'enlarge_path' => $enlarge_path,
2182 'link_params' =>
"ref_id=" . $this->lm->getRefId(),
'fullscreen_link' => $fullscreen_link,
2183 'ref_id' => $this->lm->getRefId(),
'pg_frame' => $pg_frame,
'webspace_path' => $wb_path);
2184 $output = xslt_process($xh,
"arg:/_xml",
"arg:/_xsl", null, $args, $params);
2189 $this->tpl->setVariable(
"MEDIA_CONTENT", $output);
2192 include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php");
2199 public function ilJavaScript($a_inline =
"", $a_file =
"", $a_location =
"")
2201 if ($a_inline !=
"") {
2202 $js_tpl =
new ilTemplate($a_inline,
true,
false, $a_location);
2203 $js = $js_tpl->get();
2204 $this->tpl->setVariable(
"INLINE_JS",
$js);
2220 if (empty($page_id)) {
2228 if ($this->chapter_has_no_active_page &&
2230 $c_id =
$_GET[
"obj_id"];
2232 if ($this->deactivated_page) {
2233 $c_id =
$_GET[
"obj_id"];
2239 $succ_node = $this->lm_tree->fetchSuccessorNode($c_id,
"pg");
2240 $c_id = $succ_node[
"obj_id"];
2244 $this->lm->getType(),
2245 $this->lm_set->get(
"time_scheduled_page_activation")
2248 if ($succ_node[
"obj_id"] > 0 &&
2249 $ilUser->getId() == ANONYMOUS_USER_ID &&
2250 ($this->lm->getPublicAccessMode() ==
"selected" &&
2253 } elseif ($succ_node[
"obj_id"] > 0 && !$active) {
2256 if ($act_data[
"show_activation_info"] &&
2257 (
ilUtil::now() < $act_data[
"activation_start"])) {
2268 return $succ_node[
"obj_id"];
2282 include_once(
"./Modules/LearningModule/classes/class.ilLMPage.php");
2284 include_once(
"./Services/Accessibility/classes/class.ilAccessKeyGUI.php");
2288 if (empty($page_id)) {
2293 if (!$this->lm_tree->isInTree($page_id)) {
2297 $limpos = strpos(
$_GET[
"back_pg"],
":");
2299 $back_pg = substr(
$_GET[
"back_pg"], 0, $limpos);
2301 $back_pg =
$_GET[
"back_pg"];
2303 if (!$this->lm->cleanFrames()) {
2306 $this->lm->getRefId(),
2317 $this->lm->getRefId(),
2328 $this->tpl->setCurrentBlock(
"ilLMNavigation_Prev");
2329 $this->tpl->setVariable(
"IMG_PREV", $back_img);
2330 $this->tpl->setVariable(
"HREF_PREV", $back_href);
2331 $this->tpl->setVariable(
"FRAME_PREV", $back_target);
2332 $this->tpl->setVariable(
"TXT_PREV", $this->lng->txt(
"back"));
2333 $this->tpl->setVariable(
"ALT_PREV", $this->lng->txt(
"back"));
2334 $this->tpl->setVariable(
2338 $this->tpl->setVariable(
"SPACER_PREV", $this->
offlineMode()
2339 ?
"images/spacer.png" 2341 $this->tpl->parseCurrentBlock();
2342 $this->tpl->setCurrentBlock(
"ilLMNavigation_Prev2");
2343 $this->tpl->setVariable(
"IMG_PREV2", $back_img);
2344 $this->tpl->setVariable(
"HREF_PREV2", $back_href);
2345 $this->tpl->setVariable(
"FRAME_PREV2", $back_target);
2346 $this->tpl->setVariable(
"TXT_PREV2", $this->lng->txt(
"back"));
2347 $this->tpl->setVariable(
"ALT_PREV2", $this->lng->txt(
"back"));
2348 $this->tpl->setVariable(
"SPACER_PREV2", $this->
offlineMode()
2349 ?
"images/spacer.png" 2351 $this->tpl->parseCurrentBlock();
2359 if ($this->chapter_has_no_active_page &&
2361 $c_id =
$_GET[
"obj_id"];
2363 if ($this->deactivated_page) {
2364 $c_id =
$_GET[
"obj_id"];
2370 $succ_node = $this->lm_tree->fetchSuccessorNode($c_id,
"pg");
2371 $c_id = $succ_node[
"obj_id"];
2375 $this->lm->getType(),
2376 $this->lm_set->get(
"time_scheduled_page_activation")
2379 if ($succ_node[
"obj_id"] > 0 &&
2380 $ilUser->getId() == ANONYMOUS_USER_ID &&
2381 ($this->lm->getPublicAccessMode() ==
"selected" &&
2384 } elseif ($succ_node[
"obj_id"] > 0 && !$active) {
2387 if ($act_data[
"show_activation_info"] &&
2388 (
ilUtil::now() < $act_data[
"activation_start"])) {
2398 $succ_str = ($succ_node !==
false)
2399 ?
" -> " . $succ_node[
"obj_id"] .
"_" . $succ_node[
"type"]
2404 if ($this->deactivated_page) {
2405 $c_id =
$_GET[
"obj_id"];
2410 $pre_node = $this->lm_tree->fetchPredecessorNode($c_id,
"pg");
2411 $c_id = $pre_node[
"obj_id"];
2414 $this->lm->getType(),
2415 $this->lm_set->get(
"time_scheduled_page_activation")
2417 if ($pre_node[
"obj_id"] > 0 &&
2418 $ilUser->getId() == ANONYMOUS_USER_ID &&
2419 ($this->lm->getPublicAccessMode() ==
"selected" &&
2422 } elseif ($pre_node[
"obj_id"] > 0 && !$active) {
2425 if ($act_data[
"show_activation_info"] &&
2426 (
ilUtil::now() < $act_data[
"activation_start"])) {
2436 $pre_str = ($pre_node !==
false)
2437 ? $pre_node[
"obj_id"] .
"_" . $pre_node[
"type"] .
" -> " 2441 $framestr = (!empty(
$_GET[
"frame"]))
2442 ?
"frame=" .
$_GET[
"frame"] .
"&" 2448 $showViewInFrameset =
true;
2450 if ($pre_node !=
"") {
2453 $pre_node[
"obj_id"],
2454 $this->lm->getPageHeader(),
2455 $this->lm->isActiveNumbering(),
2456 $this->lm_set->get(
"time_scheduled_page_activation"),
2466 if (!$this->lm->cleanFrames()) {
2468 $this->
getLink($this->lm->getRefId(),
"layout", $pre_node[
"obj_id"],
$_GET[
"frame"]);
2470 } elseif ($showViewInFrameset && !$this->
offlineMode()) {
2472 $this->
getLink($this->lm->getRefId(),
"layout", $pre_node[
"obj_id"]);
2476 $this->
getLink($this->lm->getRefId(),
"layout", $pre_node[
"obj_id"]);
2477 $prev_target =
'target="_top" ';
2480 if (
$ilUser->getId() == ANONYMOUS_USER_ID &&
2482 $output = $this->lng->txt(
"msg_page_not_public");
2485 $this->tpl->setCurrentBlock(
"ilLMNavigation_Prev");
2486 $this->tpl->setVariable(
"IMG_PREV", $prev_img);
2487 $this->tpl->setVariable(
"HREF_PREV", $prev_href);
2488 $this->tpl->setVariable(
"FRAME_PREV", $prev_target);
2489 $this->tpl->setVariable(
"TXT_PREV", $prev_title);
2490 $this->tpl->setVariable(
"ALT_PREV", $this->lng->txt(
"previous"));
2491 $this->tpl->setVariable(
"SPACER_PREV", $this->
offlineMode()
2492 ?
"images/spacer.png" 2494 $this->tpl->setVariable(
2498 $this->tpl->parseCurrentBlock();
2499 $this->tpl->setCurrentBlock(
"ilLMNavigation_Prev2");
2500 $this->tpl->setVariable(
"IMG_PREV2", $prev_img);
2501 $this->tpl->setVariable(
"HREF_PREV2", $prev_href);
2502 $this->tpl->setVariable(
"FRAME_PREV2", $prev_target);
2503 $this->tpl->setVariable(
"TXT_PREV2", $prev_title);
2504 $this->tpl->setVariable(
"ALT_PREV2", $this->lng->txt(
"previous"));
2505 $this->tpl->setVariable(
"SPACER_PREV2", $this->
offlineMode()
2506 ?
"images/spacer.png" 2508 $this->tpl->parseCurrentBlock();
2510 if ($succ_node !=
"") {
2513 $succ_node[
"obj_id"],
2514 $this->lm->getPageHeader(),
2515 $this->lm->isActiveNumbering(),
2516 $this->lm_set->get(
"time_scheduled_page_activation"),
2525 if (!$this->lm->cleanFrames()) {
2527 $this->
getLink($this->lm->getRefId(),
"layout", $succ_node[
"obj_id"],
$_GET[
"frame"]);
2529 } elseif ($showViewInFrameset && !$this->
offlineMode()) {
2531 $this->
getLink($this->lm->getRefId(),
"layout", $succ_node[
"obj_id"]);
2535 $this->
getLink($this->lm->getRefId(),
"layout", $succ_node[
"obj_id"]);
2536 $succ_target =
' target="_top" ';
2539 if (
$ilUser->getId() == ANONYMOUS_USER_ID &&
2541 $output = $this->lng->txt(
"msg_page_not_public");
2544 $this->tpl->setCurrentBlock(
"ilLMNavigation_Next");
2545 $this->tpl->setVariable(
"IMG_SUCC", $succ_img);
2546 $this->tpl->setVariable(
"HREF_SUCC", $succ_href);
2547 $this->tpl->setVariable(
"FRAME_SUCC", $succ_target);
2548 $this->tpl->setVariable(
"TXT_SUCC", $succ_title);
2549 $this->tpl->setVariable(
"ALT_SUCC", $this->lng->txt(
"next"));
2550 $this->tpl->setVariable(
"SPACER_SUCC", $this->
offlineMode()
2551 ?
"images/spacer.png" 2553 $this->tpl->setVariable(
2557 $this->tpl->parseCurrentBlock();
2558 $this->tpl->setCurrentBlock(
"ilLMNavigation_Next2");
2559 $this->tpl->setVariable(
"IMG_SUCC2", $succ_img);
2560 $this->tpl->setVariable(
"HREF_SUCC2", $succ_href);
2561 $this->tpl->setVariable(
"FRAME_SUCC2", $succ_target);
2562 $this->tpl->setVariable(
"TXT_SUCC2", $succ_title);
2563 $this->tpl->setVariable(
"ALT_SUCC2", $this->lng->txt(
"next"));
2564 $this->tpl->setVariable(
"SPACER_SUCC2", $this->
offlineMode()
2565 ?
"images/spacer.png" 2567 $this->tpl->parseCurrentBlock();
2571 if ($this->lm->getRestrictForwardNavigation()) {
2572 if ($this->
getTracker()->hasPredIncorrectAnswers($succ_node[
"obj_id"])) {
2573 $this->tpl->addOnLoadCode(
"$('.ilc_page_rnav_RightNavigation').addClass('ilNoDisplay');");
2583 $child_nodes = $a_node->child_nodes();
2584 foreach ($child_nodes as $child) {
2585 if ($child->node_name() ==
"ilFrame") {
2588 if ((!empty(
$attributes[
"rows"])) || (!empty($attrubtes[
"cols"]))) {
2596 $this->lm->getRefId(),
2605 $attributes[
"title"] = $this->lng->txt(
"cont_frame_" . $attributes[
"name"]);
2607 $this->frames[$attributes[
"name"]] = $attributes[
"name"];
2619 $this->lm->getRefId(),
2628 $attributes[
"title"] = $this->lng->txt(
"cont_frame_" . $attributes[
"name"]);
2629 if ($attributes[
"name"] ==
"toc") {
2630 $attributes[
"src"] .=
"#" .
$_GET[
"obj_id"];
2633 if (
$_GET[
"anchor"] !=
"") {
2634 $attributes[
"src"] .=
"#" . rawurlencode(
$_GET[
"anchor"]);
2638 $this->frames[$attributes[
"name"]] = $attributes[
"name"];
2655 if (
$type ==
"end") {
2661 if (is_array($attr)) {
2662 foreach ($attr as $k => $v) {
2663 $tag .=
" " . $k .
"=\"$v\"";
2684 if (!$this->lm->isActiveTOC() || !$this->lm->isActiveLMMenu()) {
2689 $this->tpl->setCurrentBlock(
"ContentStyle");
2691 $this->tpl->setVariable(
2692 "LOCATION_CONTENT_STYLESHEET",
2696 $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
"content_style/content.css");
2698 $this->tpl->parseCurrentBlock();
2706 $style_name =
$ilUser->getPref(
"style") .
".css";
2708 $this->tpl->setVariable(
"LOCATION_STYLESHEET",
"./style/" . $style_name);
2714 $this->tpl->getStandardTemplate();
2719 $this->tpl->setVariable(
"TABS", $this->lm_gui->setilLMMenu(
2720 $this->offlineMode(),
2731 $this->tpl->setVariable(
"TXT_TOC", $this->lng->txt(
"cont_toc"));
2735 include_once(
"./Modules/LearningModule/classes/class.ilLMTableOfContentsExplorerGUI.php");
2737 $exp->setMainTemplate($this->tpl);
2739 if (!$exp->handleCommand()) {
2742 if ($this->deactivated_page) {
2743 $page_id =
$_GET[
"obj_id"];
2749 if ($this->chapter_has_no_active_page &&
2751 $exp->setHighlightNode(
$_GET[
"obj_id"]);
2753 if ($this->lm->getTOCMode() ==
"pages") {
2754 if ($this->deactivated_page) {
2755 $exp->setHighlightNode(
$_GET[
"obj_id"]);
2757 $exp->setHighlightNode($page_id);
2760 $exp->setHighlightNode($this->lm_tree->getParentId($page_id));
2765 $exp->setOfflineMode(
true);
2768 $this->tpl->setVariable(
"ADM_CONTENT", $exp->getHTML());
2772 $this->tpl->resetJavascript();
2773 $this->tpl->resetCss();
2774 $this->tpl->setBodyClass(
"ilLMNoMenu");
2776 include_once(
"./Modules/LearningModule/classes/class.ilObjContentObject.php");
2778 if ($f[
"type"] ==
"js") {
2779 $this->tpl->addJavascript($f[
"target"]);
2781 if ($f[
"type"] ==
"css") {
2782 $this->tpl->addCSS($f[
"target"]);
2785 $this->tpl->fillJavaScriptFiles(
true);
2786 $this->tpl->fillOnLoadCode();
2788 return $this->tpl->get();
2802 $this->ctrl->setCmd(
"showSummary");
2803 $this->ctrl->setCmdClass(
"ilinfoscreengui");
2827 $style_name =
$ilUser->getPref(
"style") .
".css";
2829 $this->tpl->setStyleSheetLocation(
"./" . $style_name);
2832 $this->tpl->getStandardTemplate();
2836 $this->tpl->setVariable(
"TABS", $this->lm_gui->setilLMMenu(
2837 $this->offlineMode(),
2848 if ($ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"])) {
2851 $ilLocator->addRepositoryItems();
2852 $this->tpl->setLocator();
2865 $this->lng->loadLanguageModule(
"meta");
2867 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
2870 $info->enablePrivateNotes();
2871 $info->enableLearningProgress();
2873 $info->enableNews();
2874 if ($ilAccess->checkAccess(
"write",
"",
$_GET[
"ref_id"])) {
2876 $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
2878 $info->enableNewsEditing();
2880 if ($enable_internal_rss) {
2881 $info->setBlockProperty(
"news",
"settings",
true);
2903 $info->addMetaDataSections($this->lm->getId(), 0, $this->lm->getType());
2906 $this->tpl->setContent(
$info->getHTML());
2907 return $this->tpl->get();
2910 $this->ctrl->forwardCommand(
$info);
2924 include_once(
"./Modules/LearningModule/classes/class.ilLMPage.php");
2925 if (!$this->lm->isActivePrintView() || !$this->lm->isActiveLMMenu()) {
2929 include_once(
"./Modules/LearningModule/classes/class.ilStructureObject.php");
2932 $this->tpl->setCurrentBlock(
"ContentStyle");
2934 $this->tpl->setVariable(
2935 "LOCATION_CONTENT_STYLESHEET",
2939 $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
"content_style/content.css");
2941 $this->tpl->parseCurrentBlock();
2945 $this->tpl->getStandardTemplate();
2947 $this->tpl->setVariable(
"TABS", $this->lm_gui->setilLMMenu(
2948 $this->offlineMode(),
2959 $this->tpl->addBlockFile(
2962 "tpl.lm_print_selection.html",
2963 "Modules/LearningModule" 2975 $this->ctrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
2976 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormaction($this));
2978 $nodes = $this->lm_tree->getSubtree($this->lm_tree->getNodeData($this->lm_tree->getRootId()));
2981 if (!is_array(
$_POST[
"item"])) {
2982 if (
$_GET[
"obj_id"] !=
"") {
2991 foreach (
$nodes as $node) {
2996 $this->lm->getType(),
2997 $this->lm_set->get(
"time_scheduled_page_activation")
3000 if ($node[
"type"] ==
"pg" &&
3005 $text = $img_scr = $img_alt =
"";
3009 switch ($node[
"type"]) {
3015 $this->lm->getPageHeader(),
3016 $this->lm->isActiveNumbering(),
3017 $this->lm_set->get(
"time_scheduled_page_activation"),
3023 if (
$ilUser->getId() == ANONYMOUS_USER_ID &&
3024 $this->lm_gui->object->getPublicAccessMode() ==
"selected") {
3027 $text .=
" (" . $this->lng->txt(
"cont_no_access") .
")";
3031 $img_alt =
$lng->txt(
"icon") .
" " .
$lng->txt(
"pg");
3038 $img_alt =
$lng->txt(
"icon") .
" " .
$lng->txt(
"obj_lm");
3047 $this->lm->isActiveNumbering(),
3048 $this->lm_set->get(
"time_scheduled_page_activation"),
3053 if (
$ilUser->getId() == ANONYMOUS_USER_ID &&
3054 $this->lm_gui->object->getPublicAccessMode() ==
"selected") {
3057 $text .=
" (" . $this->lng->txt(
"cont_no_access") .
")";
3061 $img_alt =
$lng->txt(
"icon") .
" " .
$lng->txt(
"st");
3066 $text .=
" (" . $this->lng->txt(
"cont_no_access") .
")";
3069 $this->nl->addListNode(
3082 if (
$_GET[
"obj_id"] > 0 && !$this->lm_tree->isInTree(
$_GET[
"obj_id"])) {
3086 $this->lm->getPageHeader(),
3087 $this->lm->isActiveNumbering(),
3088 $this->lm_set->get(
"time_scheduled_page_activation"),
3094 if (
$ilUser->getId() == ANONYMOUS_USER_ID &&
3095 $this->lm_gui->object->getPublicAccessMode() ==
"selected") {
3098 $text .=
" (" . $this->lng->txt(
"cont_no_access") .
")";
3106 $this->nl->addListNode(
3117 $f = $this->form->getHTML();
3121 $tb->addFormButton(
$lng->txt(
"cont_show_print_view"),
"showPrintView");
3122 $this->tpl->setVariable(
"TOOLBAR", $tb->getHTML());
3124 $this->tpl->setVariable(
"ITEM_SELECTION",
$f);
3138 if ($this->lm->getRestrictForwardNavigation()) {
3139 $nodes = array_filter(
$nodes,
function ($node) use ($tracker) {
3140 return !$tracker->hasPredIncorrectAnswers($node[
"child"]);
3156 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
3163 $radg->addOption($op1);
3165 $radg->addOption($op2);
3167 $radg->addOption($op3);
3169 include_once(
"./Services/Form/classes/class.ilNestedListInputGUI.php");
3172 $op3->addSubItem($nl);
3175 $this->form->addItem($radg);
3177 $this->form->addCommandButton(
"showPrintView",
$lng->txt(
"cont_show_print_view"));
3178 $this->form->setOpenTag(
false);
3179 $this->form->setCloseTag(
false);
3181 $this->form->setTitle(
$lng->txt(
"cont_print_selection"));
3182 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
3194 include_once(
"./Modules/LearningModule/classes/class.ilLMPage.php");
3196 if (!$this->lm->isActivePrintView() || !$this->lm->isActiveLMMenu()) {
3204 if (
$_POST[
"sel_type"] ==
"page") {
3205 if (!is_array(
$_POST[
"obj_id"]) || !in_array($c_obj_id,
$_POST[
"obj_id"])) {
3206 $_POST[
"obj_id"][] = $c_obj_id;
3209 if (
$_POST[
"sel_type"] ==
"chapter" && $c_obj_id > 0) {
3210 $path = $this->lm_tree->getPathFull($c_obj_id);
3211 $chap_id =
$path[1][
"child"];
3213 $_POST[
"obj_id"][] = $chap_id;
3223 $style_name =
$ilUser->getPref(
"style") .
".css";
3225 $this->tpl->setVariable(
"LOCATION_STYLESHEET",
"./style/" . $style_name);
3229 $this->tpl->setCurrentBlock(
"ContentStyle");
3231 $this->tpl->setVariable(
3232 "LOCATION_CONTENT_STYLESHEET",
3236 $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
"content_style/content.css");
3238 $this->tpl->parseCurrentBlock();
3241 $this->tpl->setCurrentBlock(
"SyntaxStyle");
3242 $this->tpl->setVariable(
3243 "LOCATION_SYNTAX_STYLESHEET",
3246 $this->tpl->parseCurrentBlock();
3249 $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.lm_print_view.html",
true);
3254 $nodes = $this->lm_tree->getSubtree($this->lm_tree->getNodeData($this->lm_tree->getRootId()));
3256 include_once(
"./Modules/LearningModule/classes/class.ilLMPageGUI.php");
3257 include_once(
"./Modules/LearningModule/classes/class.ilLMPageObject.php");
3258 include_once(
"./Modules/LearningModule/classes/class.ilStructureObject.php");
3263 $glossary_links = array();
3264 $output_header =
false;
3265 $media_links = array();
3268 if ($this->lm->getFooterPage() > 0 && !$this->lm->getHideHeaderFooterPrint()) {
3270 $page_object_gui = $this->
getLMPageGUI($this->lm->getFooterPage());
3271 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
3273 $this->lm->getStyleSheetId(),
3279 $page_object_gui->setLinkFrame(
$_GET[
"frame"]);
3280 $page_object_gui->setOutputMode(
"print");
3281 $page_object_gui->setPresentationTitle(
"");
3282 $page_object_gui->setFileDownloadLink(
"#");
3283 $page_object_gui->setFullscreenLink(
"#");
3284 $page_object_gui->setSourceCodeDownloadScript(
"#");
3285 $footer_page_content = $page_object_gui->showPage();
3288 if ($this->lm->getHeaderPage() > 0 && !$this->lm->getHideHeaderFooterPrint()) {
3290 $page_object_gui = $this->
getLMPageGUI($this->lm->getHeaderPage());
3291 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
3293 $this->lm->getStyleSheetId(),
3299 $page_object_gui->setLinkFrame(
$_GET[
"frame"]);
3300 $page_object_gui->setOutputMode(
"print");
3301 $page_object_gui->setPresentationTitle(
"");
3302 $page_object_gui->setFileDownloadLink(
"#");
3303 $page_object_gui->setFullscreenLink(
"#");
3304 $page_object_gui->setSourceCodeDownloadScript(
"#");
3305 $header_page_content = $page_object_gui->showPage();
3310 if (is_array(
$_POST[
"obj_id"])) {
3311 foreach (
$_POST[
"obj_id"] as $k) {
3312 if ($k > 0 && !$this->lm_tree->isInTree($k)) {
3314 $nodes[] = array(
"obj_id" => $k,
"type" =>
"pg",
"free" =>
true);
3320 $ilCtrl->redirect($this,
"showPrintViewSelection");
3323 foreach (
$nodes as $node_key => $node) {
3327 $this->lm->getType(),
3328 $this->lm_set->get(
"time_scheduled_page_activation")
3330 if ($node[
"type"] ==
"pg" && !$active) {
3336 if ($node[
"depth"] <= $act_level) {
3337 if (is_array(
$_POST[
"obj_id"]) && in_array($node[
"obj_id"],
$_POST[
"obj_id"])) {
3338 $act_level = $node[
"depth"];
3345 if ($this->lm->getRestrictForwardNavigation()) {
3346 if ($this->
getTracker()->hasPredIncorrectAnswers($node[
"obj_id"])) {
3353 if ($node[
"type"] ==
"du") {
3354 $output_header =
true;
3358 if ($node[
"type"] ==
"st") {
3359 if (
$ilUser->getId() == ANONYMOUS_USER_ID &&
3360 $this->lm_gui->object->getPublicAccessMode() ==
"selected") {
3367 $this->tpl->setCurrentBlock(
"print_chapter");
3369 $chapter_title = $chap->_getPresentationTitle(
3371 $this->lm->isActiveNumbering(),
3372 $this->lm_set->get(
"time_scheduled_page_activation"),
3376 $this->tpl->setVariable(
3382 if (
$nodes[$node_key + 1][
"type"] ==
"pg") {
3383 $this->tpl->setVariable(
3385 $header_page_content
3387 $did_chap_page_header =
true;
3391 $this->tpl->parseCurrentBlock();
3392 $this->tpl->setCurrentBlock(
"print_block");
3393 $this->tpl->parseCurrentBlock();
3397 if ($node[
"type"] ==
"pg") {
3398 if (
$ilUser->getId() == ANONYMOUS_USER_ID &&
3399 $this->lm_gui->object->getPublicAccessMode() ==
"selected") {
3405 $this->tpl->setCurrentBlock(
"print_item");
3408 $page_id = $node[
"obj_id"];
3410 $page_object = $page_object_gui->getPageObject();
3411 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
3413 $this->lm->getStyleSheetId(),
3420 $lm_pg_obj->setLMId($this->lm->getId());
3423 $page_object_gui->setLinkFrame(
$_GET[
"frame"]);
3424 $page_object_gui->setOutputMode(
"print");
3425 $page_object_gui->setPresentationTitle(
"");
3427 if ($this->lm->getPageHeader() ==
IL_PAGE_TITLE || $node[
"free"] ===
true) {
3429 $lm_pg_obj->getId(),
3430 $this->lm->getPageHeader(),
3431 $this->lm->isActiveNumbering(),
3432 $this->lm_set->get(
"time_scheduled_page_activation"),
3440 if ($this->lm->isActiveNumbering()) {
3441 $chapter_title = trim(substr(
3443 strpos($chapter_title,
" ")
3447 if ($page_title != $chapter_title) {
3448 $page_object_gui->setPresentationTitle($page_title);
3453 $hcont = $header_page_content;
3454 $fcont = $footer_page_content;
3457 if ($did_chap_page_header) {
3460 if (
$nodes[$node_key + 1][
"type"] ==
"pg" &&
3461 !(
$nodes[$node_key + 1][
"depth"] <= $act_level
3462 && !in_array(
$nodes[$node_key + 1][
"obj_id"],
$_POST[
"obj_id"]))) {
3467 $page_object_gui->setFileDownloadLink(
"#");
3468 $page_object_gui->setFullscreenLink(
"#");
3469 $page_object_gui->setSourceCodeDownloadScript(
"#");
3470 $page_content = $page_object_gui->showPage();
3472 $this->tpl->setVariable(
3474 $hcont . $page_content . $fcont
3477 $this->tpl->setVariable(
3479 $hcont . $page_content . $fcont .
"<br />" 3482 $chapter_title =
"";
3483 $this->tpl->parseCurrentBlock();
3484 $this->tpl->setCurrentBlock(
"print_block");
3485 $this->tpl->parseCurrentBlock();
3492 foreach ($int_links as
$key => $link) {
3493 if ($link[
"type"] ==
"git" &&
3494 ($link[
"inst"] == IL_INST_ID || $link[
"inst"] == 0)) {
3495 $glossary_links[
$key] = $link;
3497 if ($link[
"type"] ==
"mob" &&
3498 ($link[
"inst"] == IL_INST_ID || $link[
"inst"] == 0)) {
3500 $mob_links[
$key] = $link;
3510 $page_object->buildDom();
3511 $links = $page_object->getInternalLinks();
3512 foreach (
$links as $link) {
3513 if ($link[
"Type"] ==
"MediaObject" 3514 && $link[
"TargetFrame"] !=
"" 3515 && $link[
"TargetFrame"] !=
"None") {
3516 $media_links[] = $link;
3528 if (count($glossary_links) > 0 && !$this->lm->isActivePreventGlossaryAppendix()) {
3529 include_once(
"./Modules/Glossary/classes/class.ilGlossaryTerm.php");
3530 include_once(
"./Modules/Glossary/classes/class.ilGlossaryDefinition.php");
3535 foreach ($glossary_links as
$key => $link) {
3537 $terms[$term .
":" .
$key] = array(
"key" =>
$key,
"link" => $link,
"term" => $term);
3542 foreach ($terms as
$t) {
3549 foreach ($defs as
$def) {
3551 if (count($defs) > 1) {
3552 $this->tpl->setCurrentBlock(
"def_title");
3553 $this->tpl->setVariable(
3555 $this->lng->txt(
"cont_definition") .
" " . ($def_cnt++)
3557 $this->tpl->parseCurrentBlock();
3559 include_once(
"./Modules/Glossary/classes/class.ilGlossaryDefPageGUI.php");
3561 $page_gui->setTemplateOutput(
false);
3562 $page_gui->setOutputMode(
"print");
3564 $this->tpl->setCurrentBlock(
"definition");
3565 $page_gui->setFileDownloadLink(
"#");
3566 $page_gui->setFullscreenLink(
"#");
3567 $page_gui->setSourceCodeDownloadScript(
"#");
3568 $output = $page_gui->showPage();
3569 $this->tpl->setVariable(
"VAL_DEFINITION",
$output);
3570 $this->tpl->parseCurrentBlock();
3574 $this->tpl->setCurrentBlock(
"term");
3575 $this->tpl->setVariable(
3579 $this->tpl->parseCurrentBlock();
3584 $this->tpl->setCurrentBlock(
"glossary");
3585 $annex_title = $this->lng->txt(
"cont_annex") .
" " .
3586 chr(64 + $annex_cnt) .
": " . $this->lng->txt(
"glo");
3587 $this->tpl->setVariable(
"TXT_GLOSSARY", $annex_title);
3588 $this->tpl->parseCurrentBlock();
3590 $annexes[] = $annex_title;
3594 if (count($media_links) > 0) {
3595 include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObject.php");
3596 include_once(
"./Services/MediaObjects/classes/class.ilMediaItem.php");
3598 foreach ($media_links as $media) {
3599 if (substr($media[
"Target"], 0, 4) ==
"il__") {
3600 $arr = explode(
"_", $media[
"Target"]);
3601 $id = $arr[count($arr) - 1];
3604 $med_item = $med_obj->getMediaItem(
"Standard");
3605 if (is_object($med_item)) {
3606 if (is_int(strpos($med_item->getFormat(),
"image"))) {
3607 $this->tpl->setCurrentBlock(
"ref_image");
3610 if ($med_item->getLocationType() ==
"LocalFile") {
3611 $this->tpl->setVariable(
3614 "/" . $med_item->getLocation()
3617 $this->tpl->setVariable(
3619 $med_item->getLocation()
3623 if ($med_item->getCaption() !=
"") {
3624 $this->tpl->setVariable(
"IMG_TITLE", $med_item->getCaption());
3626 $this->tpl->setVariable(
"IMG_TITLE", $med_obj->getTitle());
3628 $this->tpl->parseCurrentBlock();
3636 $this->tpl->setCurrentBlock(
"ref_images");
3637 $annex_title = $this->lng->txt(
"cont_annex") .
" " .
3638 chr(64 + $annex_cnt) .
": " . $this->lng->txt(
"cont_ref_images");
3639 $this->tpl->setVariable(
"TXT_REF_IMAGES", $annex_title);
3640 $this->tpl->parseCurrentBlock();
3642 $annexes[] = $annex_title;
3646 if ($output_header) {
3647 $this->tpl->setCurrentBlock(
"print_header");
3649 if ($this->lm->getDescription() !=
"none") {
3650 include_once(
"Services/MetaData/classes/class.ilMD.php");
3651 $md =
new ilMD($this->lm->getId(), 0, $this->lm->getType());
3653 foreach ($md_gen->getDescriptionIds() as
$id) {
3654 $md_des = $md_gen->getDescription(
$id);
3658 $this->tpl->setVariable(
3663 $this->tpl->parseCurrentBlock();
3667 foreach ($nodes2 as $node2) {
3668 if ($node2[
"type"] ==
"st" 3670 for ($j = 1; $j < $node2[
"depth"]; $j++) {
3671 $this->tpl->setCurrentBlock(
"indent");
3673 $this->tpl->parseCurrentBlock();
3675 $this->tpl->setCurrentBlock(
"toc_entry");
3676 $this->tpl->setVariable(
3681 $this->lm->isActiveNumbering(),
3682 $this->lm_set->get(
"time_scheduled_page_activation"),
3688 $this->tpl->parseCurrentBlock();
3693 foreach ($annexes as $annex) {
3694 $this->tpl->setCurrentBlock(
"indent");
3696 $this->tpl->parseCurrentBlock();
3697 $this->tpl->setCurrentBlock(
"toc_entry");
3698 $this->tpl->setVariable(
"TXT_TOC_TITLE", $annex);
3699 $this->tpl->parseCurrentBlock();
3702 $this->tpl->setCurrentBlock(
"toc");
3703 $this->tpl->setVariable(
"TXT_TOC", $this->lng->txt(
"cont_toc"));
3704 $this->tpl->parseCurrentBlock();
3706 $this->tpl->setCurrentBlock(
"print_start_block");
3707 $this->tpl->parseCurrentBlock();
3711 include_once
'Services/MetaData/classes/class.ilMD.php';
3712 $md =
new ilMD($this->lm->getId(), 0, $this->lm->getType());
3713 if (is_object($lifecycle = $md->getLifecycle())) {
3714 $sep = $author =
"";
3715 foreach (($ids = $lifecycle->getContributeIds()) as $con_id) {
3716 $md_con = $lifecycle->getContribute($con_id);
3717 if ($md_con->getRole() ==
"Author") {
3718 foreach ($ent_ids = $md_con->getEntityIds() as $ent_id) {
3719 $md_ent = $md_con->getEntity($ent_id);
3720 $author = $author . $sep . $md_ent->getEntity();
3725 if ($author !=
"") {
3726 $this->lng->loadLanguageModule(
"meta");
3727 $this->tpl->setCurrentBlock(
"author");
3728 $this->tpl->setVariable(
"TXT_AUTHOR", $this->lng->txt(
"meta_author"));
3729 $this->tpl->setVariable(
"LM_AUTHOR", $author);
3730 $this->tpl->parseCurrentBlock();
3736 if (is_object($md_rights = $md->getRights())) {
3737 $copyright = $md_rights->getDescription();
3738 include_once(
'Services/MetaData/classes/class.ilMDUtils.php');
3741 if ($copyright !=
"") {
3742 $this->lng->loadLanguageModule(
"meta");
3743 $this->tpl->setCurrentBlock(
"copyright");
3744 $this->tpl->setVariable(
"TXT_COPYRIGHT", $this->lng->txt(
"meta_copyright"));
3745 $this->tpl->setVariable(
"LM_COPYRIGHT", $copyright);
3746 $this->tpl->parseCurrentBlock();
3750 $this->tpl->show(
false);
3759 $page_gui->downloadFile();
3768 require_once(
"./Modules/LearningModule/classes/class.ilLMPage.php");
3770 $pg_obj->send_paragraph(
$_GET[
"par_id"],
$_GET[
"downloadtitle"]);
3778 if (!$this->lm->isActiveDownloads() || !$this->lm->isActiveLMMenu()) {
3783 $this->tpl->setCurrentBlock(
"ContentStyle");
3785 $this->tpl->setVariable(
3786 "LOCATION_CONTENT_STYLESHEET",
3790 $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
"content_style/content.css");
3792 $this->tpl->parseCurrentBlock();
3796 $this->tpl->getStandardTemplate();
3798 $this->tpl->setVariable(
"TABS", $this->lm_gui->setilLMMenu(
3799 $this->offlineMode(),
3811 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.lm_download_list.html",
"Modules/LearningModule");
3824 include_once
'Services/MetaData/classes/class.ilMD.php';
3825 $md =
new ilMD($this->lm->getId(), 0, $this->lm->getType());
3826 if (is_object($md_rights = $md->getRights())) {
3827 $copyright = $md_rights->getDescription();
3829 include_once(
'Services/MetaData/classes/class.ilMDUtils.php');
3832 if ($copyright !=
"") {
3833 $this->lng->loadLanguageModule(
"meta");
3834 $this->tpl->setCurrentBlock(
"copyright");
3835 $this->tpl->setVariable(
"TXT_COPYRIGHT", $this->lng->txt(
"meta_copyright"));
3836 $this->tpl->setVariable(
"LM_COPYRIGHT", $copyright);
3837 $this->tpl->parseCurrentBlock();
3842 include_once(
"./Modules/LearningModule/classes/class.ilLMDownloadTableGUI.php");
3844 $this->tpl->setVariable(
"DOWNLOAD_TABLE", $download_table->getHTML());
3854 if (!$this->lm->isActiveDownloads() || !$this->lm->isActiveLMMenu()) {
3858 $base_type = explode(
"_",
$_GET[
"type"]);
3859 $base_type = $base_type[0];
3860 $file = $this->lm->getPublicExportFile($base_type);
3861 if ($this->lm->getPublicExportFile($base_type) !=
"") {
3862 $dir = $this->lm->getExportDirectory(
$_GET[
"type"]);
3863 if (is_file($dir .
"/" . $file)) {
3881 return "ilias.php?baseClass=ilLMPresentationGUI&ref_id=" . $a_ref_id .
"&obj_id=" . $a_obj_id .
"&focus_id=" .
3882 $a_obj_id .
"&focus_return=" . $a_return_ref_id;
3895 $a_back_link =
"append",
3907 $back_pg =
$_GET[
"back_pg"];
3908 if ($a_obj_id !=
"" && !$this->lm_tree->isInTree($a_obj_id) && $cur_page_id !=
"" &&
3909 $a_back_link ==
"append") {
3910 if ($back_pg !=
"") {
3911 $back_pg = $cur_page_id .
":" . $back_pg;
3913 $back_pg = $cur_page_id;
3916 if ($a_back_link ==
"reduce") {
3917 $limpos = strpos(
$_GET[
"back_pg"],
":");
3920 $back_pg = substr($back_pg, strpos($back_pg,
":") + 1);
3924 } elseif ($a_back_link !=
"keep") {
3931 if (
$_GET[
"from_page"] ==
"") {
3933 if (!in_array($a_frame, array(
"",
"_blank"))) {
3934 $this->ctrl->setParameter($this,
"from_page", $cur_page_id);
3939 if (!in_array($a_frame, array(
"",
"_blank"))) {
3940 $this->ctrl->setParameter($this,
"from_page",
$_GET[
"from_page"]);
3944 if ($a_anchor !=
"") {
3945 $this->ctrl->setParameter($this,
"anchor", rawurlencode($a_anchor));
3947 if ($a_srcstring !=
"") {
3948 $this->ctrl->setParameter($this,
"srcstring", $a_srcstring);
3952 $link = $this->ctrl->getLinkTarget($this,
"fullscreen",
"",
false,
false);
3957 if ($back_pg !=
"") {
3958 $this->ctrl->setParameter($this,
"back_pg", $back_pg);
3960 if ($a_frame !=
"") {
3961 $this->ctrl->setParameter($this,
"frame", $a_frame);
3963 if ($a_obj_id !=
"") {
3966 $this->ctrl->setParameter($this,
"mob_id", $a_obj_id);
3970 $this->ctrl->setParameter($this,
"obj_id", $a_obj_id);
3971 $link .=
"&obj_id=" . $a_obj_id;
3976 $this->ctrl->setParameter($this,
"obj_type",
$a_type);
3978 $link = $this->ctrl->getLinkTarget($this, $a_cmd, $a_anchor);
3981 $this->ctrl->setParameter($this,
"frame",
"");
3982 $this->ctrl->setParameter($this,
"obj_id",
"");
3983 $this->ctrl->setParameter($this,
"mob_id",
"");
3988 if ($this->export_all_languages) {
3989 if ($this->lang !=
"" && $this->lang !=
"-") {
3995 case "downloadFile":
3999 $link =
"fullscreen.html";
4004 if ($a_obj_id ==
"") {
4005 $a_obj_id = $this->lm_tree->getRootId();
4006 $pg_node = $this->lm_tree->fetchSuccessorNode($a_obj_id,
"pg");
4007 $a_obj_id = $pg_node[
"obj_id"];
4009 if (
$a_type ==
"StructureObject") {
4010 $pg_node = $this->lm_tree->fetchSuccessorNode($a_obj_id,
"pg");
4011 $a_obj_id = $pg_node[
"obj_id"];
4013 if ($a_frame !=
"" && $a_frame !=
"_blank") {
4014 if ($a_frame !=
"toc") {
4015 $link =
"frame_" . $a_obj_id .
"_" . $a_frame . $lang_suffix .
".html";
4017 $link =
"frame_" . $a_frame . $lang_suffix .
".html";
4022 $link =
"lm_pg_" . $nid . $lang_suffix .
".html";
4024 $link =
"lm_pg_" . $a_obj_id . $lang_suffix .
".html";
4030 $link =
"term_" . $a_obj_id .
".html";
4034 $link =
"media_" . $a_obj_id .
".html";
4042 $this->ctrl->clearParameters($this);
4056 $this->tpl->setCurrentBlock(
"ContentStyle");
4058 $this->tpl->setVariable(
4059 "LOCATION_CONTENT_STYLESHEET",
4063 $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
"content_style/content.css");
4065 $this->tpl->parseCurrentBlock();
4067 $tpl =
new ilTemplate(
"tpl.page_message_screen.html",
true,
true,
"Modules/LearningModule");
4070 $this->tpl->setVariable(
"PAGE_CONTENT",
$tpl->get());
4104 $target = $this->ctrl->getLinkTarget($this,
"");
4106 return $this->ctrl->getLinkTarget($this,
"");
4121 $this->offline_directory = $offdir;
4142 $directory = $this->
getOfflineDirectory() .
"/codefiles/" . $page_id .
"/" . $paragraph_id;
4144 $file = $directory .
"/" .
$title;
4145 if (!($fp = @
fopen($file,
"w+"))) {
4146 die(
"<b>Error</b>: Could not open \"" . $file .
"\" for writing" .
4147 " in <b>" . __FILE__ .
"</b> on line <b>" . __LINE__ .
"</b><br />");
4158 $this->tpl->fillWindowTitle();
4159 $this->tpl->fillContentLanguage();
4171 include_once(
"./Modules/LearningModule/classes/class.ilLMPage.php");
4172 include_once(
"./Modules/LearningModule/classes/class.ilLMPageGUI.php");
4174 return new ilLMPageGUI($a_id, 0,
false, $this->lang);
4187 include_once(
"./Modules/LearningModule/classes/class.ilLMPage.php");
4189 return new ilLMPage($a_id, 0, $this->lang);
4199 $exp = $this->
ilTOC(
true);
4201 echo $exp->getHTML() .
4202 "<script>" . $exp->getOnLoadCode() .
"</script>";
outputInfoScreen($a_standard_locator=false)
info screen
static _exists($a_parent_type, $a_id, $a_lang="", $a_no_cache=false)
Checks whether page exists.
static sortArray( $array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
saveFrameUrl()
Save frame url.
static makeDirParents($a_dir)
Create a new directory and all parent directories.
static _getMissingPreconditionsTopChapter($cont_obj_ref_id, $cont_obj_id, $page_id)
get top chapter of page for that any precondition is missing
determineLayout()
Determine layout.
static _parseCopyright($a_copyright)
Parse copyright.
This class represents an option in a radio group.
static writeRatingForUserAndObject( $a_obj_id, $a_obj_type, $a_sub_obj_id, $a_sub_obj_type, $a_user_id, $a_rating, $a_category_id=0)
Write rating for a user and an object.
LM presentation (left frame) explorer GUI class.
static getContentPrintStyle()
get content print style
Handles display of the main menu.
static getDefinitionList($a_term_id)
static
downloadFile()
download file of file lists
redrawHeaderAction()
Redraw header action.
static _lookupType($a_obj_id, $a_lm_id=0)
Lookup type.
static shortenText( $a_str, $a_len, $a_dots=false, $a_next_blank=false, $a_keep_extension=false)
shorten a string to given length.
Class for permanent links.
static _updateLastAccess($a_user_id, $a_lm_ref_id, $a_page_id)
xpath_new_context($dom_document)
getOfflineDirectory()
get offline directory
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
setOfflineDirectory($offdir)
set offline directory to offdir
static initConnection(ilTemplate $a_main_tpl=null)
Init YUI Connection module.
static _exists($a_id)
checks wether a lm content object with specified id exists or not
showDownloadList()
show download list
domxml_open_mem($str, $mode=0, &$error=null)
static _checkPreconditionsOfPage($cont_ref_id, $cont_obj_id, $page_id)
checks wether the preconditions of a page are fulfilled or not
ilLMMenu()
output learning module menu
xpath_eval($xpath_context, $eval_str, $contextnode=null)
getLMPageGUI($a_id)
Get lm page gui object.
if(!array_key_exists('StateId', $_REQUEST)) $id
static get($a_glyph, $a_text="")
Get glyph html.
showNavRestrictionDueToQuestions()
Show message if navigation to page is not allowed due to unanswered questions.
static _lookupTitle($a_id)
lookup object title
ilPage(&$a_page_node, $a_page_id=0)
process <ilPage> content tag
ilGlossary()
show glossary term
static _lookupContObjID($a_id)
get learning module / digibook id for lm object
static init($a_tpl=null)
Init.
static _lookupTitle($a_obj_id)
Lookup title.
getLinkXML($a_int_links, $a_layoutframes)
get xml for links
export()
calls export of digilib-object at this point other lm-objects can be exported
showInfoScreen()
info screen call from inside learning module
static now()
Return current timestamp in Y-m-d H:i:s format.
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false, $include_seconds=false)
Format a date public.
if(! $oauthconfig->getBoolean('getUserInfo.enable', FALSE)) $store
ilLMHead()
output lm header
refreshToc()
Refresh toc (called if questions have been answered correctly)
static _getPresentationTitle( $a_st_id, $a_mode=IL_CHAPTER_TITLE, $a_include_numbers=false, $a_time_scheduled_activation=false, $a_force_content=false, $a_lm_id=0, $a_lang="-", $a_include_short=false)
get presentation title
static _getAllReferences($a_id)
get all reference ids of object
ilLMSubMenu()
output learning module submenu
Base exception class for learning module presentation.
static addJavaScript(ilTemplate $main_tpl=null)
Add javascript files that are necessary to run accordion.
addHeaderAction($a_redraw=false)
Add header action.
getLMPresentationTitle()
Get lm presentationtitle.
Class ilLearningModuleGUI.
ilJavaScript($a_inline="", $a_file="", $a_location="")
Puts JS into template.
showTableOfContents()
table of contents
static lookupParentId($a_id, $a_type)
Lookup parent id.
Class ilLMPresentationGUI.
getFocusLink($a_ref_id, $a_obj_id, $a_return_ref_id)
Get focused link (used in learning objectives courses)
getSourcecodeDownloadLink()
getCurrentFrameSet()
get frames of current frame set
static _getInstance($a_usr_id)
Get singleton instance.
getLinkTargetsXML()
Get XMl for Link Targets.
static appendUrlParameterString($a_url, $a_par, $xml_style=false)
append URL parameter string ("par1=value1&par2=value2...") to given URL string
getLink( $a_ref_id, $a_cmd="", $a_obj_id="", $a_frame="", $a_type="", $a_back_link="append", $a_anchor="", $a_srcstring="")
handles links for learning module presentation
static addCss()
Add required css.
foreach($_POST as $key=> $value) $res
getExportFormat()
get export format
static _lookupActive($a_id, $a_parent_type, $a_check_scheduled_activation=false, $a_lang="-")
lookup activation status
filterNonAccessibleNode($nodes)
buildTag($type, $name, $attr="")
generate a tag with given name and attributes
executeCommand()
execute command
static hasPublicProfile($a_user_id)
Has public profile.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
showMessageScreen($a_content)
Show message screen.
static resetRatingForUserAndObject( $a_obj_id, $a_obj_type, $a_sub_obj_id, $a_sub_obj_type, $a_user_id)
Reset rating for a user and an object.
showPreconditionsOfPage()
show preconditions of the page
setTitle($a_val)
Set title.
static _lookupObjId($a_id)
Extension of ilPageObjectGUI for learning modules.
special template class to simplify handling of ITX/PEAR
static getEffectiveContentStyleId($a_style_id, $a_type="")
Get effective Style Id.
static getInstance($a_tree_id)
Get Instance.
ilLMNavigation()
inserts sequential learning module navigation at template variable LMNAVIGATION_CONTENT ...
ilTOC($a_get_explorer=false)
table of contents
TableGUI class for lm download files.
static getInstance(&$a_content_obj, $a_id=0, $a_halt=true)
processNodes(&$a_content, &$a_node)
offlineMode()
checks wether offline content generation is activated
GUI class for glossary terms.
downloadExportFile()
send download file (xml/html)
setExportFormat($a_format)
set export format
ilLocator($a_std_templ_loaded=false)
locator
getCurrentPageId()
Get the current page id.
static getExportId($a_lm_id, $a_lmobj_id, $a_type="pg")
Get export ID.
static getNamePresentation( $a_user_id, $a_user_image=false, $a_profile_link=false, $a_profile_back_link="", $a_force_first_lastname=false, $a_omit_login=false, $a_sortable=true, $a_return_data_array=false, $a_ctrl_path="ilpublicuserprofilegui")
Default behaviour is:
static getSyntaxStylePath()
get syntax style path
static _getTargetsOfSource($a_source_type, $a_source_id, $a_source_lang="-")
Get all targets of a source object (e.g., a page)
static getContentStylePath($a_style_id, $add_random=true)
get content style path
static lookupLayout($a_obj_id)
Lookup type.
showPrintViewSelection()
show selection screen for print view
if(array_key_exists('yes', $_REQUEST)) $attributes
basicPageGuiInit($a_page_gui)
Basic page gui initialisation.
getLMPage($a_id)
Get lm page object.
static _lookupType($a_id, $a_reference=false)
lookup object type
static getSupplyingExportFiles($a_target_dir=".")
Get supplying export files.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
attrib2arr($a_attributes)
nop()
this dummy function is needed for offline package creation
static _getMissingPreconditionsOfPage($cont_ref_id, $cont_obj_id, $page_id)
gets all missing preconditions of page
static initjQueryUI($a_tpl=null)
inits and adds the jQuery-UI JS-File to the global template (see included_components.txt for included components)
LM presentation (separate toc screen) explorer GUI class.
showNoPageAccess()
Show info message, if page is not accessible in public area.
static getInstance($a_ref_id, $a_user_id=0)
Get instance.
getSuccessorPage()
Get successor page.
initScreenHead($a_active_tab="info")
static _lookupActivationData($a_id, $a_parent_type, $a_lang="-")
Lookup activation data.
showNoPublicAccess()
Show info message, if page is not accessible in public area.
static _getPresentationTitle( $a_pg_id, $a_mode=IL_CHAPTER_TITLE, $a_include_numbers=false, $a_time_scheduled_activation=false, $a_force_content=false, $a_lm_id=0, $a_lang="-", $a_include_short=false)
presentation title doesn't have to be page title, it may be chapter title + page title or chapter tit...
enablePublicNotesDeletion($a_enable=true)
enable public notes
handleCodeParagraph($page_id, $paragraph_id, $title, $text)
store paragraph into file directory files/codefile_$pg_id_$paragraph_id/downloadtitle ...
static highlight($a_dom_node_id, $a_text, $a_tpl=null)
Searches for all occurences of a text (case-insensitive) and highlights it.
const LP_CONTEXT_REPOSITORY
Glossary definition page GUI class.
static getInstance($a_obj_id)
Get instance.
infoScreen()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually...
for($i=1; $i<=count($kw_cases_sel); $i+=1) $lang
Session based immediate storage.
static initjQuery($a_tpl=null)
inits and adds the jQuery JS-File to the global or a passed template
setOfflineMode($a_offline=true, $a_all_languages=false)
set offline mode (content is generated for offline package)
ilMainMenu()
output main menu
static getAttribute($a_func_id)
Get accesskey HTML attribute.
layout($a_xml="main.xml", $doShow=true)
generates frame layout
static _isPagePublic($a_node_id, $a_check_public_mode=false)
ilLMNotes()
output notes of page
static getWebspaceDir($mode="filesystem")
get webspace directory
Class ilObjUserTrackingGUI.
static _lookGlossaryTerm($term_id)
get glossary term
showPrintView()
show print view
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
Class ilCommonActionDispatcherGUI.
if(function_exists('posix_getuid') &&posix_getuid()===0) if(!array_key_exists('t', $options)) $tag
Extension of ilPageObject for learning modules.
static _getLastAccessedPage($a_ref_id, $a_user_id="")
get last accessed page
setSubObject($a_sub_obj_type, $a_sub_obj_id)
Set sub object attributes.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
download_paragraph()
download source code paragraph
static deliverFile( $a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
static getGotoForWikiPageTarget($a_target, $a_offline=false)
Get goto href for internal wiki page link target.
initPrintViewSelectionForm()
Init print view selection form.