4require_once(
"./Modules/LearningModule/classes/class.ilObjLearningModule.php");
 
    5require_once(
"./Services/MainMenu/classes/class.ilMainMenuGUI.php");
 
    6require_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
 
   41                $lng->loadLanguageModule(
"content");
 
   45                $this->offline = 
false;
 
   46                $this->frames = array();
 
   48                $this->ctrl->saveParameter($this, array(
"ref_id", 
"transl", 
"focus_id", 
"focus_return"));
 
   51                include_once(
"./Modules/LearningModule/classes/class.ilObjLearningModuleGUI.php");
 
   53                $this->lm = $this->lm_gui->object;
 
   56                include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
 
   61                if ($this->ot->getContentActivated())
 
   63                        $langs = $this->ot->getLanguages();
 
   64                        if (isset($langs[
$_GET[
"transl"]]) || 
$_GET[
"transl"] == $this->ot->getMasterLanguage())
 
   66                                $this->lang = 
$_GET[
"transl"];
 
   68                        else if (isset($langs[
$ilUser->getCurrentLanguage()]))
 
   70                                $this->lang = 
$ilUser->getCurrentLanguage();
 
   72                        if ($this->lang == $this->ot->getMasterLanguage())
 
   79                if (!$rbacsystem->checkAccess(
"write", 
$_GET[
"ref_id"]))
 
   81                        if (!$this->lm->getOnline())
 
   83                                $ilias->raiseError(
$lng->txt(
"permission_denied"), 
$ilias->error_obj->WARNING);
 
   87                include_once(
"./Modules/LearningModule/classes/class.ilLMTree.php");
 
   94                if ((
int) 
$_GET[
"focus_id"] > 0 && $this->lm_tree->isInTree((
int) 
$_GET[
"focus_id"]))
 
   96                        $this->focus_id = (int) 
$_GET[
"focus_id"];
 
  110                if (!$ilAccess->checkAccess(
"read", 
"", 
$_GET[
"ref_id"]) &&
 
  111                        (!(($this->ctrl->getCmd() == 
"infoScreen" || $this->ctrl->getNextClass() == 
"ilinfoscreengui")
 
  112                        && $ilAccess->checkAccess(
"visible", 
"", 
$_GET[
"ref_id"]))))
 
  114                        $ilias->raiseError(
$lng->txt(
"permission_denied"), 
$ilias->error_obj->WARNING);
 
  117                $next_class = $this->ctrl->getNextClass($this);
 
  118                $cmd = $this->ctrl->getCmd(
"layout", array(
"showPrintView"));
 
  124                $obj_id = 
$_GET[
"obj_id"];
 
  125                $this->ctrl->setParameter($this, 
"obj_id", 
$_GET[
"obj_id"]);
 
  126                $ilNavigationHistory->addItem(
$_GET[
"ref_id"], $this->ctrl->getLinkTarget($this),
"lm");
 
  127                $this->ctrl->setParameter($this, 
"obj_id", $obj_id);
 
  135                        case "ilinfoscreengui":
 
  139                        case "ilcommonactiondispatchergui":
 
  140                                include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
 
  142                                $gui->enableCommentsSettings(
false);
 
  143                                $this->ctrl->forwardCommand($gui);
 
  147                                include_once(
"./Modules/LearningModule/classes/class.ilLMPageGUI.php");
 
  153                        case "ilglossarydefpagegui":
 
  154                                include_once(
"./Modules/Glossary/classes/class.ilGlossaryDefPageGUI.php");
 
  160                        case "illearningprogressgui":
 
  162                                include_once 
'./Services/Tracking/classes/class.ilLearningProgressGUI.php';                             
 
  164                                $this->ctrl->forwardCommand($new_gui);                          
 
  168                                include_once(
"./Services/Rating/classes/class.ilRatingGUI.php");
 
  170                                $rating_gui->setObject($this->lm->getId(), 
"lm", 
$_GET[
"obj_id"], 
"lm");
 
  171                                $this->ctrl->forwardCommand($rating_gui);
 
  186                $this->offline = $a_offline;
 
  187                $this->export_all_languages = $a_all_languages;
 
  206                $this->export_format = $a_format;
 
  216                return $this->export_format;
 
  245                include_once(
"./Modules/LearningModule/classes/class.ilLMTracker.php");
 
  254                if(!is_array($a_attributes))
 
  258                foreach ($a_attributes as $attribute)
 
  260                        $attr[$attribute->name()] = $attribute->value();
 
  270                return $this->frames;
 
  284                        $layout = $this->lm->getLayout();
 
  285                        if ($this->lm->getLayoutPerPage())
 
  288                                if (!in_array(
$_GET[
"frame"], array(
"", 
"_blank")) && 
$_GET[
"from_page"] > 0)
 
  290                                        $pg_id = (int) 
$_GET[
"from_page"];
 
  294                                if (in_array(
$_GET[
"cmd"], array(
"media", 
"glossary")) && 
$_GET[
"back_pg"] > 0)
 
  296                                        $pg_id = (int) 
$_GET[
"back_pg"];
 
  317                if (
$ilUser->getId() != ANONYMOUS_USER_ID && 
$_GET[
"focus_id"] == 
"")
 
  319                        include_once(
"./Modules/LearningModule/classes/class.ilObjLearningModuleAccess.php");
 
  323                        if($last_accessed_page &&
 
  324                                $last_accessed_page != $this->lm_tree->getLastActivePage())
 
  326                                $_GET[
"obj_id"] = $last_accessed_page;
 
  336        function layout($a_xml = 
"main.xml", $doShow = 
true)
 
  345                $xmlfile = file_get_contents(
"./Modules/LearningModule/layouts/lm/".
$layout.
"/".$a_xml);
 
  349                        include_once(
"./Modules/LearningModule/exceptions/class.ilLMPresentationException.php");
 
  353                $this->layout_doc = $doc;
 
  359                        ? 
"/ilLayout/ilFrame[1]" 
  360                        : 
"//ilFrame[@name='".$_GET[
"frame"].
"']";
 
  363                if (count($found) != 1)
 
  365                        include_once(
"./Modules/LearningModule/exceptions/class.ilLMPresentationException.php");
 
  367                                " path ".
$path.
" in ".
$layout.
"/".$a_xml.
". LM Layout is ".$this->lm->getLayout());
 
  373                $attributes = $this->
attrib2arr($node->attributes());
 
  375                $this->frames = array();
 
  376                if((!empty($attributes[
"rows"])) || (!empty($attributes[
"cols"])))
 
  378                        $content .= $this->
buildTag(
"start", 
"frameset", $attributes);
 
  381                        $content .= $this->
buildTag(
"end", 
"frameset");
 
  382                        $this->tpl = 
new ilTemplate(
"tpl.frameset.html", 
true, 
true, 
"Modules/LearningModule");
 
  384                        $this->tpl->setVariable(
"FS_CONTENT", $content);
 
  387                                $content = $this->tpl->get();
 
  394                        if ((empty($attributes[
"template"]) || !empty(
$_GET[
"obj_type"]))
 
  395                                && (
$_GET[
"frame"] != 
"_blank" || 
$_GET[
"obj_type"] != 
"MediaObject"))
 
  402                                if(empty(
$_GET[
"obj_type"]))
 
  404                                        $obj_type = 
"PageObject";
 
  408                                        $obj_type = 
$_GET[
"obj_type"];
 
  412                                $childs = $node->child_nodes();
 
  414                                foreach($childs as $child)
 
  416                                        if ($child->node_name() == $obj_type)
 
  419                                                $attributes = $this->
attrib2arr($child->attributes());
 
  427                                        include_once(
"./Modules/LearningModule/exceptions/class.ilLMPresentationException.php");
 
  429                                                $_GET[
"frame"].
"' and object type '".$obj_type.
"'.");
 
  434                        $in_module = ($attributes[
"template_location"] == 
"module")
 
  439                                $this->tpl = 
new ilTemplate($attributes[
"template"], 
true, 
true, $in_module);
 
  440                                $this->tpl->setBodyClass(
"");
 
  454                                $style_name = 
$ilUser->getPref(
"style").
".css";
 
  455                                $this->tpl->setVariable(
"LOCATION_STYLESHEET",
"./style/".$style_name);
 
  458                        include_once(
"./Services/jQuery/classes/class.iljQueryUtil.php");
 
  463                        include_once(
"./Services/UICore/classes/class.ilUIFramework.php");
 
  469                        $childs = $node->child_nodes();
 
  471                        foreach($childs as $child)
 
  474                                $child_attr = $this->
attrib2arr($child->attributes());
 
  476                                switch ($child->node_name())
 
  484                                                $this->
ilTOC($child_attr[
"target_frame"]);
 
  489                                                switch($this->lm->getType())
 
  495                                                                $content = $this->
ilPage($child);
 
  504                                        case "ilLMNavigation":
 
  517                                                $this->
ilJavaScript($child_attr[
"inline"], $child_attr[
"file"],
 
  518                                                        $child_attr[
"location"]);
 
  549                                include_once(
"./Services/Accordion/classes/class.ilAccordionGUI.php");
 
  554                                $this->tpl->addJavascript(
"./Modules/LearningModule/js/LearningModule.js");
 
  555                                include_once(
"./Services/UIComponent/Glyph/classes/class.ilGlyphGUI.php");
 
  556                                $close_call = 
"il.LearningModule.setCloseHTML('".ilGlyphGUI::get(
ilGlyphGUI::CLOSE).
"');";
 
  557                                $this->tpl->addOnLoadCode($close_call);
 
  562                                if (
$_GET[
"frame"] == 
"")
 
  564                                        include_once(
"./Services/Authentication/classes/class.ilSessionIStorage.php");
 
  566                                        $last_frame_url = $store->get(
"cf_".$this->lm->getId());
 
  567                                        if ($last_frame_url != 
"")
 
  569                                                $this->tpl->addOnLoadCode(
"il.LearningModule.setLastFrameUrl('".$last_frame_url.
"', 'center_bottom');");
 
  572                                        if (in_array(
$layout, array(
"toc2windyn")))
 
  574                                                $this->tpl->addOnLoadCode(
"il.LearningModule.setSaveUrl('".
 
  575                                                        $ilCtrl->getLinkTarget($this, 
"saveFrameUrl", 
"", 
false, 
false).
"'); 
  576                                                        il.LearningModule.openInitFrames(); 
  579                                        $this->tpl->addOnLoadCode(
"il.LearningModule.setTocRefreshUrl('".
 
  580                                                $ilCtrl->getLinkTarget($this, 
"refreshToc", 
"", 
false, 
false).
"'); 
  586                                $this->tpl->addJavascript(
"./Services/Navigation/js/ServiceNavigation.js");
 
  587                                $this->tpl->fillJavaScriptFiles();
 
  588                                $this->tpl->fillScreenReaderFocus();
 
  590                                $this->tpl->fillCssFiles();
 
  595                                $this->tpl->resetJavascript();
 
  596                                $this->tpl->resetCss();
 
  597                                $this->tpl->setBodyClass(
"ilLMNoMenu");
 
  599                                include_once(
"./Modules/LearningModule/classes/class.ilObjContentObject.php");
 
  602                                        if ($f[
"type"] == 
"js")
 
  604                                                $this->tpl->addJavascript($f[
"target"]);
 
  606                                        if ($f[
"type"] == 
"css")
 
  608                                                $this->tpl->addCSS($f[
"target"]);
 
  611                                $this->tpl->fillJavaScriptFiles(
true);
 
  612                                $this->tpl->fillCssFiles(
true);
 
  616                        $this->tpl->fillBodyClass();
 
  626                        $this->tpl->fillTabs();
 
  627                        if ($this->fill_on_load_code)
 
  629                                $this->tpl->fillOnLoadCode();
 
  631                        $content =  $this->tpl->get();
 
  632                        $content = str_replace(
"{", 
"{", $content);
 
  633                        $content = str_replace(
"}", 
"}", $content);
 
  635                        header(
'Content-type: text/html; charset=UTF-8');
 
  640                        $this->tpl->fillLeftNav();
 
  641                        $this->tpl->fillOnLoadCode();
 
  642                        $content =  $this->tpl->get();
 
  656                include_once(
"./Services/Authentication/classes/class.ilSessionIStorage.php");
 
  658                if (
$_GET[
"url"] != 
"")
 
  660                        $store->set(
"cf_".$this->lm->getId(), 
$_GET[
"url"]);
 
  664                        $store->set(
"cf_".$this->lm->getId(), 
$_GET[
"url"]);
 
  676                if (
$_GET[
"frame"] != 
"_blank")
 
  690                if (
$_GET[
"frame"] != 
"_blank")
 
  696                        $this->tpl = 
new ilTemplate(
"tpl.glossary_term_output.html", 
true, 
true, 
true);
 
  707                                $style_name = 
$ilUser->getPref(
"style").
".css";;
 
  708                                $this->tpl->setVariable(
"LOCATION_STYLESHEET",
"./style/".$style_name);
 
  718                                return $this->tpl->get();
 
  732                        $this->tpl->touchBlock(
"pg_intro");
 
  733                        $this->tpl->touchBlock(
"pg_outro");
 
  741                        $ilMainMenu->setLoginTargetPar(
"pg_".$page_id.
"_".$this->lm->getRefId());
 
  746                $this->tpl->touchBlock(
"pg_intro");
 
  747                $this->tpl->touchBlock(
"pg_outro");
 
  748                $this->tpl->setBodyClass(
"std");
 
  749                $this->tpl->setVariable(
"MAINMENU", $ilMainMenu->getHTML());
 
  755        function ilTOC($a_get_explorer = 
false)
 
  757                include_once(
"./Modules/LearningModule/classes/class.ilLMTOCExplorerGUI.php");
 
  758                $exp = 
new ilLMTOCExplorerGUI($this, 
"ilTOC", $this, $this->lang, $this->focus_id, $this->export_all_languages);
 
  760                if (!$exp->handleCommand())
 
  764                        if ($this->deactivated_page)
 
  766                                $page_id = 
$_GET[
"obj_id"];
 
  770                                $exp->setPathOpen((
int) $page_id);
 
  773                        if ($this->chapter_has_no_active_page &&
 
  776                                $exp->setHighlightNode(
$_GET[
"obj_id"]);
 
  780                                if ($this->lm->getTOCMode() == 
"pages")
 
  782                                        if ($this->deactivated_page)
 
  784                                                $exp->setHighlightNode(
$_GET[
"obj_id"]);
 
  788                                                $exp->setHighlightNode($page_id);
 
  793                                        $exp->setHighlightNode($this->lm_tree->getParentId($page_id));
 
  798                                $exp->setOfflineMode(
true);
 
  807                                $this->tpl->setCurrentBlock(
"il_toc");
 
  808                                $this->tpl->setVariable(
"EXPLORER", $exp->getHTML());
 
  809                                $this->tpl->parseCurrentBlock();
 
  822                if ($this->
offlineMode() && $this->lang != 
"" && $this->lang != 
"-")
 
  824                        include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
 
  826                        $data = $ot->getLanguages();
 
  833                return $this->lm->getTitle();
 
  842                $this->tpl->setVariable(
"MENU", $this->lm_gui->setilLMMenu($this->offlineMode()
 
  843                        ,$this->getExportFormat(), 
"content", 
false, 
true, $this->getCurrentPageId(),
 
  844                        $this->lang, $this->export_all_languages));
 
  852                $this->tpl->setCurrentBlock(
"header_image");
 
  855                        $this->tpl->setVariable(
"IMG_HEADER", 
"./images/icon_lm.svg");
 
  861                $this->tpl->parseCurrentBlock();
 
  862                $this->tpl->setCurrentBlock(
"lm_head");
 
  864                $this->tpl->parseCurrentBlock();
 
  879                $showViewInFrameset = 
true;
 
  881                if ($showViewInFrameset)
 
  887                        $buttonTarget = 
"_top";
 
  891                include_once(
"./Services/UICore/classes/class.ilTemplate.php");
 
  892                $tpl_menu = 
new ilTemplate(
"tpl.lm_sub_menu.html", 
true, 
true, 
true);
 
  903                        if ($rbacsystem->checkAccess(
"write", 
$_GET[
"ref_id"]))
 
  905                                $tpl_menu->setCurrentBlock(
"edit_page");
 
  907                                $tpl_menu->setVariable(
"EDIT_LINK", ILIAS_HTTP_PATH.
"/ilias.php?baseClass=ilLMEditorGUI&ref_id=".
$_GET[
"ref_id"].
 
  908                                        "&obj_id=".$page_id.
"&to_page=1");
 
  909                                $tpl_menu->setVariable(
"EDIT_TXT", $this->lng->txt(
"edit_page"));
 
  910                                $tpl_menu->setVariable(
"EDIT_TARGET", $buttonTarget);
 
  911                                $tpl_menu->parseCurrentBlock();
 
  916                        include_once(
"./Services/PermanentLink/classes/class.ilPermanentLinkGUI.php");
 
  918                                $page_id.
"_".$this->lm->getRefId(),
 
  924                                $this->lm->getPageHeader(), $this->lm->isActiveNumbering(),
 
  925                                $this->lm_set->get(
"time_scheduled_page_activation"), 
false, 0, $this->lang);
 
  931                        $plinkgui->setTitle(
$title);
 
  933                        $tpl_menu->setCurrentBlock(
"perma_link");
 
  934                        $tpl_menu->setVariable(
"PERMA_LINK", $plinkgui->getHTML());
 
  935                        $tpl_menu->parseCurrentBlock();
 
  939                $this->tpl->setVariable(
"SUBMENU", $tpl_menu->get());
 
  957                global $ilAccess, 
$tpl;
 
  959                include_once 
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php";
 
  961                        $ilAccess, $this->lm->getType(), 
$_GET[
"ref_id"], $this->lm->getId());
 
  964                include_once 
"Services/Object/classes/class.ilObjectListGUI.php";
 
  965                ilObjectListGUI::prepareJSLinks($this->ctrl->getLinkTarget($this, 
"redrawHeaderAction", 
"", 
true),                      
 
  966                        $this->ctrl->getLinkTargetByClass(array(
"ilcommonactiondispatchergui", 
"ilnotegui"), 
"", 
"", 
true, 
false), 
 
  967                        $this->ctrl->getLinkTargetByClass(array(
"ilcommonactiondispatchergui", 
"iltagginggui"), 
"", 
"", 
true, 
false));
 
  969                $lg = $dispatcher->initHeaderAction();
 
  970                $lg->enableNotes(
true);
 
  971                $lg->enableComments($this->lm->publicNotes(), 
false);
 
  973                if($this->lm->hasRating() && !$this->offlineMode())
 
  975                        $lg->enableRating(
true, $this->lng->txt(
"lm_rating"), 
false,
 
  976                                array(
"ilcommonactiondispatchergui", 
"ilratinggui"));
 
  981                        $this->tpl->setVariable(
"HEAD_ACTION", 
$lg->getHeaderAction());
 
  986                        return $lg->getHeaderAction().
 
  987                                $tpl->getOnLoadCodeForAsynch();
 
 1007                if (!$ilSetting->get(
"disable_notes"))
 
 1014                if ($ilSetting->get(
"disable_comments"))
 
 1019                if (!$this->lm->publicNotes())
 
 1024                $next_class = $this->ctrl->getNextClass($this);
 
 1026                include_once(
"Services/Notes/classes/class.ilNoteGUI.php");
 
 1033                $notes_gui = 
new ilNoteGUI($this->lm->getId(), $this->getCurrentPageId(), 
"pg");
 
 1035                if ($ilAccess->checkAccess(
"write", 
"", 
$_GET[
"ref_id"]) &&
 
 1038                        $notes_gui->enablePublicNotesDeletion(
true);
 
 1041                $this->ctrl->setParameter($this, 
"frame", 
$_GET[
"frame"]);
 
 1042                $this->ctrl->setParameter($this, 
"obj_id", 
$_GET[
"obj_id"]);
 
 1044                $notes_gui->enablePrivateNotes();
 
 1045                if ($this->lm->publicNotes())
 
 1047                        $notes_gui->enablePublicNotes();
 
 1050                if ($next_class == 
"ilnotegui")
 
 1052                        $html = $this->ctrl->forwardCommand($notes_gui);
 
 1056                        $html = $notes_gui->getNotesHTML();
 
 1058                $this->tpl->setVariable(
"NOTES", 
$html);
 
 1067                global $ilLocator, $tree, 
$ilCtrl;
 
 1069                require_once(
"./Modules/LearningModule/classes/class.ilStructureObject.php");
 
 1071                if (empty(
$_GET[
"obj_id"]))
 
 1073                        $a_id = $this->lm_tree->getRootId();
 
 1077                        $a_id = 
$_GET[
"obj_id"];
 
 1080                if (!$a_std_templ_loaded)
 
 1082                        $this->tpl->addBlockFile(
"STATUSLINE", 
"statusline", 
"tpl.statusline.html");
 
 1085                if (!$this->lm->cleanFrames())
 
 1087                        $frame_param = 
$_GET[
"frame"];
 
 1098                        $frame_target = 
"_top";
 
 1103                        $ilLocator->addItem(
"...", 
"");
 
 1105                        $par_id = $tree->getParentId(
$_GET[
"ref_id"]);
 
 1106                        $ilCtrl->setParameterByClass(
"ilrepositorygui", 
"ref_id", $par_id);
 
 1107                        $ilLocator->addItem(
 
 1109                                $ilCtrl->getLinkTargetByClass(
"ilrepositorygui", 
"frameset"),
 
 1111                        $ilCtrl->setParameterByClass(
"ilrepositorygui", 
"ref_id", 
$_GET[
"ref_id"]);
 
 1115                        $ilLocator->setOffline(
true);
 
 1118                if($this->lm_tree->isInTree($a_id))
 
 1120                        $path = $this->lm_tree->getPathFull($a_id);
 
 1124                                if (
$row[
"type"] != 
"pg")
 
 1126                                        if(
$row[
"child"] != $this->lm_tree->getRootId())
 
 1128                                                $ilLocator->addItem(
 
 1131                                                                        $this->lm->isActiveNumbering(),
 
 1132                                                                        $this->lm_set->get(
"time_scheduled_page_activation"), 
false, 0, $this->lang),
 
 1134                                                        $this->getLink(
$_GET[
"ref_id"], 
"layout", 
$row[
"child"], $frame_param, 
"StructureObject"),
 
 1139                                                $ilLocator->addItem(
 
 1141                                                        $this->
getLink(
$_GET[
"ref_id"], 
"layout", 
"", $frame_param),
 
 1142                                                        $frame_target, 
$_GET[
"ref_id"]);
 
 1150                        $ilLocator->addItem(
 
 1154                        require_once(
"./Modules/LearningModule/classes/class.ilLMObjectFactory.php");
 
 1157                        $ilLocator->addItem(
 
 1158                                $lm_obj->getTitle(),
 
 1159                                $this->getLink(
$_GET[
"ref_id"], 
"layout", $a_id, $frame_param),
 
 1165                        $debug = 
"DEBUG: <font color=\"red\">".$this->type.
"::".$this->
id.
"::".
$_GET[
"cmd"].
"</font><br/>";
 
 1171                $this->tpl->setLocator();
 
 1183                if (!$this->
offlineMode() && $this->current_page_id !== 
false)
 
 1188                include_once(
"./Modules/LearningModule/classes/class.ilLMPage.php");
 
 1190                $this->chapter_has_no_active_page = 
false;
 
 1191                $this->deactivated_page = 
false;
 
 1194                if(empty(
$_GET[
"obj_id"]))
 
 1196                        $obj_id = $this->lm_tree->getRootId();
 
 1200                        $obj_id = 
$_GET[
"obj_id"];
 
 1202                                $this->lm->getType(), $this->lm_set->get(
"time_scheduled_page_activation"));
 
 1207                                $this->deactivated_page = 
true;
 
 1212                if (!$this->lm_tree->isInTree($obj_id))
 
 1217                $curr_node = $this->lm_tree->getNodeData($obj_id);
 
 1220                        $this->lm->getType(), $this->lm_set->get(
"time_scheduled_page_activation"));
 
 1222                if ($curr_node[
"type"] == 
"pg" &&
 
 1225                        $page_id = $curr_node[
"obj_id"];
 
 1232                        while($succ_node && !$active)
 
 1234                                $succ_node = $this->lm_tree->fetchSuccessorNode($page_id, 
"pg");
 
 1235                                $page_id = $succ_node[
"obj_id"];
 
 1237                                        $this->lm->getType(), $this->lm_set->get(
"time_scheduled_page_activation"));
 
 1240                        if ($succ_node[
"type"] != 
"pg")
 
 1242                                $this->chapter_has_no_active_page = 
true;
 
 1247                        if(
$ilUser->getId() == ANONYMOUS_USER_ID &&
 
 1248                           $this->lm_gui->object->getPublicAccessMode() == 
'selected')
 
 1252                                while ($public === 
false && $page_id > 0)
 
 1254                                        $succ_node = $this->lm_tree->fetchSuccessorNode($page_id, 
'pg');
 
 1255                                        $page_id = $succ_node[
'obj_id'];
 
 1261                        if ($this->lm_tree->isInTree($page_id))
 
 1263                                $path = $this->lm_tree->getPathId($page_id);
 
 1266                                        $this->chapter_has_no_active_page = 
true;
 
 1271                $this->current_page_id = $page_id;
 
 1278                $this->tpl = 
new ilTemplate(
"tpl.page.html",
true,
true,
true);
 
 1280                $this->tpl->setVariable(
"MENU",$this->lm_gui->setilCitationMenu());
 
 1282                include_once(
"./Modules/LearningModule/classes/class.ilLMPage.php");
 
 1284                $this->pg_obj = $this->
getLMPage($page_id);
 
 1285                $xml = $this->pg_obj->getXMLContent();
 
 1286                $this->lm_gui->showCitation($xml);
 
 1294                if (!is_object($this->layout_doc))
 
 1299                $path = 
"/ilLayout/ilLinkTargets/LinkTarget";
 
 1302                for ($i = 0; $i < count(
$res->nodeset); $i++)
 
 1304                        $type = 
$res->nodeset[$i]->get_attribute(
"Type");
 
 1305                        $frame = 
$res->nodeset[$i]->get_attribute(
"Frame");
 
 1306                        $onclick = 
$res->nodeset[$i]->get_attribute(
"OnClick");
 
 1307                        $targets[$type] = array(
"Type" => $type, 
"Frame" => $frame, 
"OnClick" => $onclick);
 
 1320        function ilPage(&$a_page_node, $a_page_id = 0)
 
 1322                global 
$ilUser, $ilHelp, $ilAccess;
 
 1324                $access = $ilAccess;
 
 1327                $ilHelp->setScreenIdComponent(
"lm");
 
 1328                $ilHelp->setScreenId(
"content");
 
 1329                $ilHelp->setSubScreenId(
"content");
 
 1331                $this->fill_on_load_code = 
true;
 
 1335                if ($requested_page_lm != $this->lm->getId())
 
 1337                        if ($_REQUEST[
"frame"] == 
"")
 
 1344                                $read_access = 
false;
 
 1347                                        if ($access->checkAccess(
"read", 
"", 
$ref_id))
 
 1349                                                $read_access = 
true;
 
 1361                if($ilUser->getId() == ANONYMOUS_USER_ID && 
 
 1362                   $this->lm_gui->object->getPublicAccessMode() == 
'selected')
 
 1379                        if ($this->lm->getRestrictForwardNavigation())
 
 1390                require_once(
"./Modules/LearningModule/classes/class.ilLMPageGUI.php");
 
 1391                require_once(
"./Modules/LearningModule/classes/class.ilLMPageObject.php");
 
 1394                if ($a_page_id == 0)
 
 1402                                include_once 
'./Services/Search/classes/class.ilUserSearchCache.php';
 
 1405                                $search_string = $cache->getQuery();
 
 1408                                if(is_array($search_string))
 
 1410                                        $search_string = $search_string[
"lom_content"];
 
 1413                                include_once(
"./Services/UIComponent/TextHighlighter/classes/class.ilTextHighlighterGUI.php");
 
 1414                                include_once(
"./Services/Search/classes/class.ilQueryParser.php");
 
 1418                                $words = $p->getQuotedWords();
 
 1419                                if (is_array($words))
 
 1421                                        foreach ($words as 
$w)
 
 1427                                $this->fill_on_load_code = 
true;
 
 1432                        $page_id = $a_page_id;
 
 1436                $this->tpl->setCurrentBlock(
"ContentStyle");
 
 1439                        $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
 
 1444                        $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET", 
"content_style/content.css");
 
 1446                $this->tpl->parseCurrentBlock();
 
 1449                if ($this->chapter_has_no_active_page &&
 
 1452                        $mtpl = 
new ilTemplate(
"tpl.no_content_message.html", 
true, 
true,
 
 1453                                "Modules/LearningModule");
 
 1454                        $mtpl->setVariable(
"MESSAGE", $this->lng->txt(
"cont_no_page_in_chapter"));
 
 1457                        $mtpl->setVariable(
"ITEM_TITLE",
 
 1459                        $this->tpl->setVariable(
"PAGE_CONTENT", $mtpl->get());
 
 1460                        return $mtpl->get();
 
 1464                if ($this->deactivated_page)
 
 1466                        $mtpl = 
new ilTemplate(
"tpl.no_content_message.html", 
true, 
true,
 
 1467                                "Modules/LearningModule");
 
 1468                        $m = $this->lng->txt(
"cont_page_currently_deactivated");
 
 1470                        if ($act_data[
"show_activation_info"] &&
 
 1473                                $m.= 
"<p>".sprintf($this->lng->txt(
"cont_page_activation_on"),
 
 1478                        $mtpl->setVariable(
"MESSAGE", $m);
 
 1481                        $mtpl->setVariable(
"ITEM_TITLE",
 
 1483                        $this->tpl->setVariable(
"PAGE_CONTENT", $mtpl->get());
 
 1484                        return $mtpl->get();
 
 1489                if ($this->focus_id > 0)
 
 1491                        $path = $this->lm_tree->getPathId($page_id);
 
 1494                        if (!in_array($this->focus_id, 
$path))
 
 1496                                $mtpl = 
new ilTemplate(
"tpl.out_of_focus_message.html", 
true, 
true,
 
 1497                                        "Modules/LearningModule");
 
 1498                                $mtpl->setVariable(
"MESSAGE", $this->lng->txt(
"cont_out_of_focus_message"));
 
 1499                                $mtpl->setVariable(
"TXT_SHOW_CONTENT", $this->lng->txt(
"cont_show_content_after_focus"));
 
 1503                                        $mtpl->setVariable(
"TXT_BACK_BEGINNING", $this->lng->txt(
"cont_to_focus_beginning"));
 
 1504                                        $this->ctrl->setParameter($this, 
"obj_id", $this->focus_id);
 
 1505                                        $mtpl->setVariable(
"LINK_BACK_TO_BEGINNING", $this->ctrl->getLinkTarget($this, 
"layout"));
 
 1506                                        $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");
 
 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();
 
 1529                                if ($sp == 0 || !in_array($this->focus_id, $path2))
 
 1531                                        $mtpl = 
new ilTemplate(
"tpl.out_of_focus_message.html", 
true, 
true,
 
 1532                                                "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"));
 
 1538                                                $mtpl->setVariable(
"TXT_BACK_BEGINNING", $this->lng->txt(
"cont_to_focus_beginning"));
 
 1539                                                $this->ctrl->setParameter($this, 
"obj_id", $this->focus_id);
 
 1540                                                $mtpl->setVariable(
"LINK_BACK_TO_BEGINNING", $this->ctrl->getLinkTarget($this, 
"layout"));
 
 1541                                                $this->ctrl->setParameter($this, 
"obj_id", 
$_GET[
"obj_id"]);
 
 1545                                                $mtpl->setVariable(
"TXT_BACK_BEGINNING", $this->lng->txt(
"cont_to_focus_return_crs"));
 
 1546                                                include_once(
"./Services/Link/classes/class.ilLink.php");
 
 1550                                        $this->ctrl->setParameter($this, 
"focus_id", 
"");
 
 1551                                        $mtpl->setVariable(
"LINK_SHOW_CONTENT", $this->ctrl->getLinkTarget($this, 
"layout"));
 
 1552                                        $this->ctrl->setParameter($this, 
"focus_id", 
$_GET[
"focus_id"]);
 
 1554                                        $focus_mess = $mtpl->get();
 
 1562                        $cont = $this->lng->txt(
"cont_no_page");
 
 1563                        $this->tpl->setVariable(
"PAGE_CONTENT", $cont);
 
 1570                $page_object = $page_object_gui->getPageObject();
 
 1571                $page_object->buildDom();
 
 1572                $page_object->registerOfflineHandler($this);
 
 1574                $int_links = $page_object->getInternalLinks();
 
 1578                $page_object_gui->setTemplateOutput(
false);
 
 1581                $ilUser->setDesktopItemParameters($this->lm->getRefId(), $this->lm->getType(), $page_id);
 
 1584                include_once 
'./Modules/Course/classes/class.ilCourseLMHistory.php';
 
 1593                $lm_pg_obj->setLMId($this->lm->getId());
 
 1595                $page_object_gui->setLinkXML($link_xml);
 
 1599                $page_object_gui->setLinkFrame(
$_GET[
"frame"]);         
 
 1602                if ($page_id == 0 || ($page_id != $this->lm->getHeaderPage() &&
 
 1603                        $page_id != $this->lm->getFooterPage()))
 
 1605                        $page_object_gui->setPresentationTitle(
 
 1607                                $this->lm->getPageHeader(), $this->lm->isActiveNumbering(),
 
 1608                                $this->lm_set->get(
"time_scheduled_page_activation"), 
false, 0, $this->lang));
 
 1611                        if (
$ilUser->getId() != ANONYMOUS_USER_ID && $page_id != 0 && !$this->offlineMode())
 
 1618                        $page_object_gui->setEnabledPageFocus(
false);
 
 1619                        $page_object_gui->getPageConfig()->setEnableSelfAssessment(
false);
 
 1623                $page_object_gui->setLinkParams(
"ref_id=".$this->lm->getRefId());
 
 1624                $page_object_gui->setTemplateTargetVar(
"PAGE_CONTENT");
 
 1628                $this->tpl->setCurrentBlock(
"SyntaxStyle");
 
 1631                        $this->tpl->setVariable(
"LOCATION_SYNTAX_STYLESHEET",
 
 1636                        $this->tpl->setVariable(
"LOCATION_SYNTAX_STYLESHEET",
 
 1637                                "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()))
 
 1651                                $head = $this->
ilPage($a_page_node, $this->lm->getHeaderPage());
 
 1656                if ($this->lm->getFooterPage() > 0 && 
 
 1657                        $page_id != $this->lm->getFooterPage() &&
 
 1658                        ($page_id == 0 || $page_id != $this->lm->getHeaderPage()))
 
 1662                                $foot = $this->
ilPage($a_page_node, $this->lm->getFooterPage());
 
 1668                if($this->lm->hasRatingPages() && !$this->offlineMode())
 
 1670                        include_once(
"./Services/Rating/classes/class.ilRatingGUI.php");
 
 1672                        $rating_gui->setObject($this->lm->getId(), 
"lm", $page_id, 
"lm");       
 
 1673                        $rating_gui->setYourRatingText($this->lng->txt(
"lm_rate_page"));                
 
 1680                        $this->ctrl->setParameter($this, 
"pgid", $page_id);
 
 1681                        $this->tpl->addOnLoadCode(
"il.LearningModule.setRatingUrl('".
 
 1682                                $this->ctrl->getLinkTarget($this, 
"updatePageRating", 
"", 
true, 
false).
 
 1684                        $this->ctrl->setParameter($this, 
"pgid", 
"");
 
 1686                        $rating = 
'<div id="ilrtrpg" style="text-align:right">'.
 
 1687                                $rating_gui->getHtml(
true, 
true, 
"il.LearningModule.saveRating(%rating%);").
 
 1691                $this->tpl->setVariable(
"PAGE_CONTENT", $rating.$head.$focus_mess.$ret.$foot);
 
 1693                return $head.$focus_mess.$ret.$foot;
 
 1700                $pg_id = 
$_GET[
"pgid"];         
 
 1701                if(!$this->ctrl->isAsynch() || !$pg_id)
 
 1706                include_once 
'./Services/Rating/classes/class.ilRating.php';                    
 
 1707                $rating = (int)
$_POST[
"rating"];
 
 1716                                $pg_id, 
"lm", 
$ilUser->getId());
 
 1719                include_once 
'./Services/Rating/classes/class.ilRatingGUI.php';
 
 1721                $rating->setObject($this->lm->getId(), 
"lm", $pg_id, 
"lm", 
$ilUser->getId());
 
 1722                $rating->setYourRatingText($this->lng->txt(
"lm_rate_page"));            
 
 1724                echo $rating->getHtml(
true, 
true, 
"il.LearningModule.saveRating(%rating%);");
 
 1726                echo $this->tpl->getOnLoadCodeForAsynch();
 
 1738                include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
 
 1740                        $this->lm->getStyleSheetId(), 
"lm"));
 
 1743                        $a_page_gui->setOutputMode(
"presentation");
 
 1744                        $this->fill_on_load_code = 
true;
 
 1748                        $a_page_gui->setOutputMode(
"offline");
 
 1750                        $this->fill_on_load_code = 
false;
 
 1756                $a_page_gui->setFileDownloadLink($this->
getLink(
$_GET[
"ref_id"], 
"downloadFile"));
 
 1759                        $this->ctrl->setParameter($this, 
"obj_id", 
$_GET[
"obj_id"]);
 
 1761                $a_page_gui->setFullscreenLink($this->
getLink(
$_GET[
"ref_id"], 
"fullscreen"));
 
 1775                $this->tpl->setCurrentBlock(
"ContentStyle");
 
 1778                        $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
 
 1783                        $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET", 
"content_style/content.css");
 
 1785                $this->tpl->parseCurrentBlock();
 
 1787                $this->tpl->addBlockFile(
"PAGE_CONTENT", 
"pg_content", 
"tpl.page_preconditions.html", 
true);
 
 1790                include_once(
"./Services/Repository/classes/class.ilRepositoryExplorer.php");
 
 1791                foreach($conds as $cond)
 
 1793                        include_once(
"./Services/Link/classes/class.ilLink.php");
 
 1795                        $this->tpl->setCurrentBlock(
"condition");
 
 1797                        $this->tpl->setVariable(
"LINK_ITEM", $obj_link);
 
 1798                        if ($cond[
"operator"] == 
"passed")
 
 1800                                $cond_str = $this->lng->txt(
"passed");
 
 1804                                $cond_str = $this->lng->txt(
"condition_".$cond[
"operator"]);
 
 1806                        $this->tpl->setVariable(
"VAL_CONDITION", $cond_str.
" ".$cond[
"value"]);
 
 1807                        $this->tpl->parseCurrentBlock();
 
 1809                $this->tpl->setCurrentBlock(
"pg_content");
 
 1811                $this->tpl->setVariable(
"TXT_MISSING_PRECONDITIONS", 
 
 1812                        sprintf($this->lng->txt(
"cont_missing_preconditions"),
 
 1814                $this->tpl->setVariable(
"TXT_ITEM", $this->lng->txt(
"object"));
 
 1815                $this->tpl->setVariable(
"TXT_CONDITION", $this->lng->txt(
"condition"));
 
 1818                $parent = $this->lm_tree->getParentId($topchap);
 
 1819                $childs = $this->lm_tree->getChildsByType($parent, 
"st");
 
 1822                foreach($childs as $child)
 
 1824                        if ($child[
"child"] == $topchap)
 
 1830                                $succ_node = $this->lm_tree->fetchSuccessorNode($child[
"child"], 
"pg");
 
 1833                if($succ_node != 
"")
 
 1835                        $framestr = (!empty(
$_GET[
"frame"]))
 
 1836                                ? 
"frame=".
$_GET[
"frame"].
"&" 
 1839                        $showViewInFrameset = 
true;
 
 1840                        $link = 
"<br /><a href=\"".
 
 1841                                $this->
getLink($this->lm->getRefId(), 
"layout", $succ_node[
"obj_id"], 
$_GET[
"frame"]).
 
 1842                                "\">".$this->lng->txt(
"cont_skip_chapter").
"</a>";
 
 1843                        $this->tpl->setVariable(
"LINK_SKIP_CHAPTER", $link);
 
 1846                $this->tpl->parseCurrentBlock();
 
 1858                $showViewInFrameset = 
true;
 
 1860                if ($a_layoutframes == 
"")
 
 1862                        $a_layoutframes = array();
 
 1864                $link_info = 
"<IntLinkInfos>";
 
 1865                foreach ($a_int_links as $int_link)
 
 1867                        $target = $int_link[
"Target"];
 
 1868                        if (substr(
$target, 0, 4) == 
"il__")
 
 1872                                $type = $int_link[
"Type"];
 
 1873                                $targetframe = ($int_link[
"TargetFrame"] != 
"")
 
 1874                                        ? $int_link[
"TargetFrame"]
 
 1878                                $anc = $anc_add = 
"";
 
 1879                                if ($int_link[
"Anchor"] != 
"")
 
 1881                                        $anc = $int_link[
"Anchor"];
 
 1882                                        $anc_add = 
"_".rawurlencode($int_link[
"Anchor"]);
 
 1888                                        case "StructureObject":
 
 1890                                                if ($lm_id == $this->lm->getId() ||
 
 1891                                                        ($targetframe != 
"None" && $targetframe != 
"New"))
 
 1893                                                        $ltarget = $a_layoutframes[$targetframe][
"Frame"];
 
 1897                                                        $nframe = ($ltarget == 
"")
 
 1902                                                                if ($showViewInFrameset) {
 
 1927                                                                if ($type == 
"PageObject")
 
 1929                                                                        $href = 
"./goto.php?target=pg_".$target_id.$anc_add;
 
 1933                                                                        $href = 
"./goto.php?target=st_".$target_id;
 
 1938                                                                if ($type == 
"PageObject")
 
 1940                                                                        $href = ILIAS_HTTP_PATH.
"/goto.php?target=pg_".
$target_id.$anc_add.
"&client_id=".CLIENT_ID;
 
 1944                                                                        $href = ILIAS_HTTP_PATH.
"/goto.php?target=st_".
$target_id.
"&client_id=".CLIENT_ID;
 
 1947                                                        if ($targetframe != 
"New")
 
 1953                                                                $ltarget = 
"_blank";
 
 1958                                        case "GlossaryItem":
 
 1959                                                if ($targetframe == 
"None")
 
 1961                                                        $targetframe = 
"Glossary";
 
 1963                                                $ltarget = $a_layoutframes[$targetframe][
"Frame"];
 
 1964                                                $nframe = ($ltarget == 
"")
 
 1972                                                $ltarget = $a_layoutframes[$targetframe][
"Frame"];
 
 1973                                                $nframe = ($ltarget == 
"")
 
 1980                                        case "RepositoryItem":
 
 1985                                                        $href = 
"./goto.php?target=".$obj_type.
"_".
$target_id;
 
 1989                                                        $href = ILIAS_HTTP_PATH.
"/goto.php?target=".$obj_type.
"_".
$target_id.
"&client_id=".CLIENT_ID;
 
 1995                                                include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
 
 2003                                                        $ilCtrl->setParameter($this, 
"file_id", 
"il__file_".
$target_id);
 
 2004                                                        $href = 
$ilCtrl->getLinkTarget($this, 
"downloadFile");
 
 2005                                                        $ilCtrl->setParameter($this, 
"file_id", 
"");
 
 2006                                                        $ilCtrl->setParameter($this, 
"obj_id", 
$_GET[
"obj_id"]);
 
 2011                                $anc_par = 
'Anchor="'.$anc.
'"';
 
 2015                                        $link_info .= 
"<IntLinkInfo Target=\"$target\" Type=\"$type\" " .
 
 2016                                                "TargetFrame=\"$targetframe\" LinkHref=\"$href\" LinkTarget=\"$ltarget\" $anc_par/>";
 
 2028                $link_info.= 
"</IntLinkInfos>";
 
 2037                $link_info = 
"<LinkTargets>";
 
 2040                        $link_info.=
"<LinkTarget TargetFrame=\"".$t[
"Type"].
"\" LinkTarget=\"".
$t[
"Frame"].
"\" OnClick=\"".
$t[
"OnClick"].
"\" />";
 
 2042                $link_info.= 
"</LinkTargets>";
 
 2053                require_once(
"./Modules/Glossary/classes/class.ilGlossaryTermGUI.php");
 
 2057                $this->tpl->setCurrentBlock(
"ContentStyle");
 
 2060                        $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
 
 2065                        $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET", 
"content_style/content.css");
 
 2067                $this->tpl->parseCurrentBlock();
 
 2070                $this->tpl->setCurrentBlock(
"SyntaxStyle");
 
 2074                        $this->tpl->setVariable(
"LOCATION_SYNTAX_STYLESHEET",
 
 2079                        $this->tpl->setVariable(
"LOCATION_SYNTAX_STYLESHEET",
 
 2080                                "syntaxhighlight.css");
 
 2082                $this->tpl->parseCurrentBlock();
 
 2084                $int_links = $term_gui->getInternalLinks();
 
 2087                $term_gui->setLinkXML($link_xml);
 
 2092                        $ilCtrl->setParameter($this, 
"pg_type", 
"glo");
 
 2094                $term_gui->output($this->
offlineMode(), $this->tpl);
 
 2100                        $ilCtrl->setParameter($this, 
"pg_type", 
"");
 
 2111                $this->tpl->setCurrentBlock(
"ContentStyle");
 
 2114                        $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
 
 2119                        $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET", 
"content_style/content.css");
 
 2121                $this->tpl->parseCurrentBlock();
 
 2132                        $style_name = 
$ilUser->getPref(
"style").
".css";;
 
 2133                        $this->tpl->setVariable(
"LOCATION_STYLESHEET",
"./style/".$style_name);
 
 2136                $this->tpl->setCurrentBlock(
"ilMedia");
 
 2143                require_once(
"./Services/MediaObjects/classes/class.ilObjMediaObject.php");
 
 2145                if (!empty (
$_GET[
"pg_id"]))
 
 2147                        require_once(
"./Modules/LearningModule/classes/class.ilLMPage.php");
 
 2149                        $pg_obj->buildDom();
 
 2154                        $xml.= $pg_obj->getMediaAliasElement(
$_GET[
"mob_id"]);
 
 2175                $xsl = file_get_contents(
"./Services/COPage/xsl/page.xsl");
 
 2176                $args = array( 
'/_xml' => $xml, 
'/_xsl' => $xsl );
 
 2191                $mode = (
$_GET[
"cmd"] == 
"fullscreen")
 
 2196                        $this->
getLink($this->lm->getRefId(), 
"fullscreen");
 
 2197                $params = array (
'mode' => $mode, 
'enlarge_path' => $enlarge_path,
 
 2198                        'link_params' => 
"ref_id=".$this->lm->getRefId(),
'fullscreen_link' => $fullscreen_link,
 
 2199                        'ref_id' => $this->lm->getRefId(), 
'pg_frame' => $pg_frame, 
'webspace_path' => $wb_path);
 
 2200                $output = xslt_process($xh,
"arg:/_xml",
"arg:/_xsl",NULL,$args, 
$params);
 
 2205                $this->tpl->setVariable(
"MEDIA_CONTENT", 
$output);
 
 2208                include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php");
 
 2217                if ($a_inline != 
"")
 
 2219                        $js_tpl = 
new ilTemplate($a_inline, 
true, 
false, $a_location);
 
 2220                        $js = $js_tpl->get();
 
 2221                        $this->tpl->setVariable(
"INLINE_JS", 
$js);
 
 2246                if ($this->chapter_has_no_active_page &&
 
 2249                        $c_id = 
$_GET[
"obj_id"];
 
 2253                        if ($this->deactivated_page)
 
 2255                                $c_id = 
$_GET[
"obj_id"];
 
 2264                        $succ_node = $this->lm_tree->fetchSuccessorNode($c_id, 
"pg");
 
 2265                        $c_id = $succ_node[
"obj_id"];
 
 2268                                $this->lm->getType(), $this->lm_set->get(
"time_scheduled_page_activation"));
 
 2270                        if ($succ_node[
"obj_id"] > 0 &&
 
 2271                                $ilUser->getId() == ANONYMOUS_USER_ID &&
 
 2272                                ( $this->lm->getPublicAccessMode() == 
"selected" &&
 
 2277                        else if ($succ_node[
"obj_id"] > 0 && !$active)
 
 2281                                if ($act_data[
"show_activation_info"] &&
 
 2299                        return $succ_node[
"obj_id"];
 
 2313                include_once(
"./Modules/LearningModule/classes/class.ilLMPage.php");
 
 2315                include_once(
"./Services/Accessibility/classes/class.ilAccessKeyGUI.php");
 
 2325                if(!$this->lm_tree->isInTree($page_id))
 
 2331                        $limpos = strpos(
$_GET[
"back_pg"], 
":");
 
 2334                                $back_pg = substr(
$_GET[
"back_pg"], 0, $limpos);
 
 2338                                $back_pg = 
$_GET[
"back_pg"];
 
 2340                        if (!$this->lm->cleanFrames())
 
 2343                                        $this->
getLink($this->lm->getRefId(), 
"layout", $back_pg, 
$_GET[
"frame"],
 
 2350                                        $this->
getLink($this->lm->getRefId(), 
"layout", $back_pg, 
"",
 
 2352                                $back_target = 
'target="'.ilFrameTargetInfo::_getFrame(
"MainContent").
'" ';
 
 2356                        $this->tpl->setCurrentBlock(
"ilLMNavigation_Prev");
 
 2357                        $this->tpl->setVariable(
"IMG_PREV", $back_img);
 
 2358                        $this->tpl->setVariable(
"HREF_PREV", $back_href);
 
 2359                        $this->tpl->setVariable(
"FRAME_PREV", $back_target);
 
 2360                        $this->tpl->setVariable(
"TXT_PREV", $this->lng->txt(
"back"));
 
 2361                        $this->tpl->setVariable(
"ALT_PREV", $this->lng->txt(
"back"));
 
 2362                        $this->tpl->setVariable(
"PREV_ACC_KEY",
 
 2364                        $this->tpl->setVariable(
"SPACER_PREV", $this->
offlineMode()
 
 2365                                ? 
"images/spacer.png" 
 2367                        $this->tpl->parseCurrentBlock();
 
 2368                        $this->tpl->setCurrentBlock(
"ilLMNavigation_Prev2");
 
 2369                        $this->tpl->setVariable(
"IMG_PREV2", $back_img);
 
 2370                        $this->tpl->setVariable(
"HREF_PREV2", $back_href);
 
 2371                        $this->tpl->setVariable(
"FRAME_PREV2", $back_target);
 
 2372                        $this->tpl->setVariable(
"TXT_PREV2", $this->lng->txt(
"back"));
 
 2373                        $this->tpl->setVariable(
"ALT_PREV2", $this->lng->txt(
"back"));
 
 2374                        $this->tpl->setVariable(
"SPACER_PREV2", $this->
offlineMode()
 
 2375                                ? 
"images/spacer.png" 
 2377                        $this->tpl->parseCurrentBlock();
 
 2385                if ($this->chapter_has_no_active_page &&
 
 2388                        $c_id = 
$_GET[
"obj_id"];
 
 2392                        if ($this->deactivated_page)
 
 2394                                $c_id = 
$_GET[
"obj_id"];
 
 2403                        $succ_node = $this->lm_tree->fetchSuccessorNode($c_id, 
"pg");
 
 2404                        $c_id = $succ_node[
"obj_id"];
 
 2407                                $this->lm->getType(), $this->lm_set->get(
"time_scheduled_page_activation"));
 
 2409                        if ($succ_node[
"obj_id"] > 0 &&
 
 2410                                $ilUser->getId() == ANONYMOUS_USER_ID &&
 
 2411                                ( $this->lm->getPublicAccessMode() == 
"selected" &&
 
 2416                        else if ($succ_node[
"obj_id"] > 0 && !$active)
 
 2420                                if ($act_data[
"show_activation_info"] &&
 
 2436                $succ_str = ($succ_node !== 
false)
 
 2437                        ? 
" -> ".$succ_node[
"obj_id"].
"_".$succ_node[
"type"]
 
 2442                if ($this->deactivated_page)
 
 2444                        $c_id = 
$_GET[
"obj_id"];
 
 2452                        $pre_node = $this->lm_tree->fetchPredecessorNode($c_id, 
"pg");
 
 2453                        $c_id = $pre_node[
"obj_id"];
 
 2455                                $this->lm->getType(), $this->lm_set->get(
"time_scheduled_page_activation"));
 
 2456                        if ($pre_node[
"obj_id"] > 0 &&
 
 2457                                $ilUser->getId() == ANONYMOUS_USER_ID &&
 
 2458                                ($this->lm->getPublicAccessMode() == 
"selected" &&
 
 2463                        else if ($pre_node[
"obj_id"] > 0 && !$active)
 
 2467                                if ($act_data[
"show_activation_info"] &&
 
 2483                $pre_str = ($pre_node !== 
false)
 
 2484                        ? $pre_node[
"obj_id"].
"_".$pre_node[
"type"].
" -> " 
 2488                $framestr = (!empty(
$_GET[
"frame"]))
 
 2489                        ? 
"frame=".
$_GET[
"frame"].
"&" 
 2495                $showViewInFrameset = 
true;
 
 2501                                $this->lm->getPageHeader(), $this->lm->isActiveNumbering(),
 
 2502                                $this->lm_set->get(
"time_scheduled_page_activation"), 
false, 0, $this->lang);
 
 2507                        if (!$this->lm->cleanFrames())
 
 2510                                        $this->
getLink($this->lm->getRefId(), 
"layout", $pre_node[
"obj_id"], 
$_GET[
"frame"]);
 
 2513                        else if ($showViewInFrameset && !$this->
offlineMode())
 
 2516                                        $this->
getLink($this->lm->getRefId(), 
"layout", $pre_node[
"obj_id"]);
 
 2517                                $prev_target = 
'target="'.ilFrameTargetInfo::_getFrame(
"MainContent").
'" ';
 
 2522                                        $this->
getLink($this->lm->getRefId(), 
"layout", $pre_node[
"obj_id"]);
 
 2523                                $prev_target = 
'target="_top" ';
 
 2526                        if(
$ilUser->getId() == ANONYMOUS_USER_ID &&
 
 2529                                $output = $this->lng->txt(
"msg_page_not_public");
 
 2532                        $this->tpl->setCurrentBlock(
"ilLMNavigation_Prev");
 
 2533                        $this->tpl->setVariable(
"IMG_PREV", $prev_img);
 
 2534                        $this->tpl->setVariable(
"HREF_PREV", $prev_href);
 
 2535                        $this->tpl->setVariable(
"FRAME_PREV", $prev_target);
 
 2536                        $this->tpl->setVariable(
"TXT_PREV", $prev_title);
 
 2537                        $this->tpl->setVariable(
"ALT_PREV", $this->lng->txt(
"previous"));
 
 2538                        $this->tpl->setVariable(
"SPACER_PREV", $this->
offlineMode()
 
 2539                                ? 
"images/spacer.png" 
 2541                        $this->tpl->setVariable(
"PREV_ACC_KEY",
 
 2543                        $this->tpl->parseCurrentBlock();
 
 2544                        $this->tpl->setCurrentBlock(
"ilLMNavigation_Prev2");
 
 2545                        $this->tpl->setVariable(
"IMG_PREV2", $prev_img);
 
 2546                        $this->tpl->setVariable(
"HREF_PREV2", $prev_href);
 
 2547                        $this->tpl->setVariable(
"FRAME_PREV2", $prev_target);
 
 2548                        $this->tpl->setVariable(
"TXT_PREV2", $prev_title);
 
 2549                        $this->tpl->setVariable(
"ALT_PREV2", $this->lng->txt(
"previous"));
 
 2550                        $this->tpl->setVariable(
"SPACER_PREV2", $this->
offlineMode()
 
 2551                                ? 
"images/spacer.png" 
 2553                        $this->tpl->parseCurrentBlock();
 
 2555                if($succ_node != 
"")
 
 2559                                $this->lm->getPageHeader(), $this->lm->isActiveNumbering(),
 
 2560                                $this->lm_set->get(
"time_scheduled_page_activation"), 
false, 0, $this->lang);
 
 2564                        if (!$this->lm->cleanFrames())
 
 2567                                        $this->
getLink($this->lm->getRefId(), 
"layout", $succ_node[
"obj_id"], 
$_GET[
"frame"]);
 
 2570                        else if ($showViewInFrameset && !$this->
offlineMode())
 
 2573                                        $this->
getLink($this->lm->getRefId(), 
"layout", $succ_node[
"obj_id"]);
 
 2574                                $succ_target = 
' target="'.ilFrameTargetInfo::_getFrame(
"MainContent").
'" ';
 
 2579                                        $this->
getLink($this->lm->getRefId(), 
"layout", $succ_node[
"obj_id"]);
 
 2580                                $succ_target = 
' target="_top" ';
 
 2583                        if(
$ilUser->getId() == ANONYMOUS_USER_ID &&
 
 2586                                $output = $this->lng->txt(
"msg_page_not_public");
 
 2589                        $this->tpl->setCurrentBlock(
"ilLMNavigation_Next");
 
 2590                        $this->tpl->setVariable(
"IMG_SUCC", $succ_img);
 
 2591                        $this->tpl->setVariable(
"HREF_SUCC", $succ_href);
 
 2592                        $this->tpl->setVariable(
"FRAME_SUCC", $succ_target);
 
 2593                        $this->tpl->setVariable(
"TXT_SUCC", $succ_title);
 
 2594                        $this->tpl->setVariable(
"ALT_SUCC", $this->lng->txt(
"next"));
 
 2595                        $this->tpl->setVariable(
"SPACER_SUCC", $this->
offlineMode()
 
 2596                                ? 
"images/spacer.png" 
 2598                        $this->tpl->setVariable(
"NEXT_ACC_KEY",
 
 2600                        $this->tpl->parseCurrentBlock();
 
 2601                        $this->tpl->setCurrentBlock(
"ilLMNavigation_Next2");
 
 2602                        $this->tpl->setVariable(
"IMG_SUCC2", $succ_img);
 
 2603                        $this->tpl->setVariable(
"HREF_SUCC2", $succ_href);
 
 2604                        $this->tpl->setVariable(
"FRAME_SUCC2", $succ_target);
 
 2605                        $this->tpl->setVariable(
"TXT_SUCC2", $succ_title);
 
 2606                        $this->tpl->setVariable(
"ALT_SUCC2", $this->lng->txt(
"next"));
 
 2607                        $this->tpl->setVariable(
"SPACER_SUCC2", $this->
offlineMode()
 
 2608                                ? 
"images/spacer.png" 
 2610                        $this->tpl->parseCurrentBlock();
 
 2615                                if ($this->lm->getRestrictForwardNavigation())
 
 2617                                        if ($this->
getTracker()->hasPredIncorrectAnswers($succ_node[
"obj_id"]))
 
 2619                                                $this->tpl->addOnLoadCode(
"$('.ilc_page_rnav_RightNavigation').addClass('ilNoDisplay');");
 
 2629                $child_nodes = $a_node->child_nodes();
 
 2630                foreach ($child_nodes as $child)
 
 2632                        if($child->node_name() == 
"ilFrame")
 
 2634                                $attributes = $this->
attrib2arr($child->attributes());
 
 2636                                if ((!empty($attributes[
"rows"])) || (!empty($attrubtes[
"cols"])))
 
 2640                                        if(!empty($attributes[
"name"]))
 
 2642                                                unset($attributes[
"template"]);
 
 2643                                                unset($attributes[
"template_location"]);
 
 2644                                                $attributes[
"src"] =
 
 2645                                                        $this->
getLink($this->lm->getRefId(), 
"layout", 
$_GET[
"obj_id"], $attributes[
"name"],
 
 2646                                                                "", 
"keep", 
"", 
$_GET[
"srcstring"]);
 
 2647                                                $attributes[
"title"] = $this->lng->txt(
"cont_frame_".$attributes[
"name"]);
 
 2649                                                $this->frames[$attributes[
"name"]] = $attributes[
"name"];
 
 2661                                        unset($attributes[
"template"]);
 
 2662                                        unset($attributes[
"template_location"]);
 
 2663                                        $attributes[
"src"] =
 
 2664                                                $this->
getLink($this->lm->getRefId(), 
"layout", 
$_GET[
"obj_id"], $attributes[
"name"],
 
 2665                                                        "", 
"keep", 
"", 
$_GET[
"srcstring"]);
 
 2666                                        $attributes[
"title"] = $this->lng->txt(
"cont_frame_".$attributes[
"name"]);
 
 2667                                        if ($attributes[
"name"] == 
"toc")
 
 2669                                                $attributes[
"src"].= 
"#".$_GET[
"obj_id"];
 
 2674                                                if (
$_GET[
"anchor"] != 
"")
 
 2676                                                        $attributes[
"src"].= 
"#".rawurlencode(
$_GET[
"anchor"]);
 
 2680                                        $this->frames[$attributes[
"name"]] = $attributes[
"name"];
 
 2702                if (is_array($attr))
 
 2704                        while (list($k,$v) = each($attr))
 
 2705                                $tag.= 
" ".$k.
"=\"$v\"";
 
 2724                if (!$this->lm->isActiveTOC() || !$this->lm->isActiveLMMenu())
 
 2730                $this->tpl->setCurrentBlock(
"ContentStyle");
 
 2733                        $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
 
 2738                        $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET", 
"content_style/content.css");
 
 2740                $this->tpl->parseCurrentBlock();
 
 2751                        $style_name = 
$ilUser->getPref(
"style").
".css";;
 
 2752                        $this->tpl->setVariable(
"LOCATION_STYLESHEET",
"./style/".$style_name);
 
 2758                $this->tpl->getStandardTemplate();
 
 2763                $this->tpl->setVariable(
"TABS", $this->lm_gui->setilLMMenu($this->offlineMode()
 
 2764                        ,$this->getExportFormat(), 
"toc", $a_global_tabs, 
false, 0,
 
 2765                        $this->lang, $this->export_all_languages));
 
 2768                $this->tpl->setVariable(
"TXT_TOC", $this->lng->txt(
"cont_toc"));
 
 2772                include_once(
"./Modules/LearningModule/classes/class.ilLMTableOfContentsExplorerGUI.php");
 
 2775                if (!$exp->handleCommand())
 
 2779                        if ($this->deactivated_page)
 
 2781                                $page_id = 
$_GET[
"obj_id"];
 
 2788                                if ($this->chapter_has_no_active_page &&
 
 2791                                        $exp->setHighlightNode(
$_GET[
"obj_id"]);
 
 2794                                        if ($this->lm->getTOCMode() == 
"pages")
 
 2796                                                if ($this->deactivated_page)
 
 2798                                                        $exp->setHighlightNode(
$_GET[
"obj_id"]);
 
 2801                                                        $exp->setHighlightNode($page_id);
 
 2805                                                $exp->setHighlightNode($this->lm_tree->getParentId($page_id));
 
 2811                                $exp->setOfflineMode(
true);
 
 2814                        $this->tpl->setVariable(
"ADM_CONTENT", $exp->getHTML());
 
 2819                        $this->tpl->resetJavascript();
 
 2820                        $this->tpl->resetCss();
 
 2821                        $this->tpl->setBodyClass(
"ilLMNoMenu");
 
 2823                        include_once(
"./Modules/LearningModule/classes/class.ilObjContentObject.php");
 
 2826                                if ($f[
"type"] == 
"js")
 
 2828                                        $this->tpl->addJavascript($f[
"target"]);
 
 2830                                if ($f[
"type"] == 
"css")
 
 2832                                        $this->tpl->addCSS($f[
"target"]);
 
 2835                        $this->tpl->fillJavaScriptFiles(
true);
 
 2836                        $this->tpl->fillOnLoadCode();
 
 2838                        return $this->tpl->get();
 
 2854                $this->ctrl->setCmd(
"showSummary");
 
 2855                $this->ctrl->setCmdClass(
"ilinfoscreengui");
 
 2869                global $ilAccess, $ilLocator, 
$ilUser;
 
 2880                        $style_name = 
$ilUser->getPref(
"style").
".css";;
 
 2881                        $this->tpl->setStyleSheetLocation(
"./".$style_name);
 
 2884                $this->tpl->getStandardTemplate();
 
 2888                $this->tpl->setVariable(
"TABS", $this->lm_gui->setilLMMenu($this->offlineMode()
 
 2889                        ,$this->getExportFormat(), $a_active_tab, 
true, 
false, 0,
 
 2890                        $this->lang, $this->export_all_languages));
 
 2893                if ($ilAccess->checkAccess(
"read", 
"", 
$_GET[
"ref_id"]))
 
 2899                        $ilLocator->addRepositoryItems();
 
 2900                        $this->tpl->setLocator();
 
 2913                $this->lng->loadLanguageModule(
"meta");
 
 2915                include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
 
 2918                $info->enablePrivateNotes();
 
 2919                $info->enableLearningProgress();
 
 2921                $info->enableNews();
 
 2922                if ($ilAccess->checkAccess(
"write", 
"", 
$_GET[
"ref_id"]))
 
 2925                        $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
 
 2927                        $info->enableNewsEditing();
 
 2929                        if ($enable_internal_rss)
 
 2931                                $info->setBlockProperty(
"news", 
"settings", 
true);
 
 2953                $info->addMetaDataSections($this->lm->getId(),0, $this->lm->getType());
 
 2957                        $this->tpl->setContent(
$info->getHTML());
 
 2958                        return $this->tpl->get();
 
 2963                        $this->ctrl->forwardCommand(
$info);
 
 2976                include_once(
"./Modules/LearningModule/classes/class.ilLMPage.php");
 
 2977                if (!$this->lm->isActivePrintView() || !$this->lm->isActiveLMMenu())
 
 2982                include_once(
"./Modules/LearningModule/classes/class.ilStructureObject.php");
 
 2985                $this->tpl->setCurrentBlock(
"ContentStyle");
 
 2988                        $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
 
 2993                        $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET", 
"content_style/content.css");
 
 2995                $this->tpl->parseCurrentBlock();
 
 2999                $this->tpl->getStandardTemplate();
 
 3001                $this->tpl->setVariable(
"TABS", $this->lm_gui->setilLMMenu($this->offlineMode()
 
 3002                        ,$this->getExportFormat(), 
"print", 
true,
false, 0,
 
 3003                        $this->lang, $this->export_all_languages));
 
 3006                $this->tpl->addBlockFile(
"ADM_CONTENT", 
"adm_content",
 
 3007                        "tpl.lm_print_selection.html", 
"Modules/LearningModule");
 
 3018                $this->ctrl->setParameterByClass(
"illmpresentationgui", 
"obj_id", 
$_GET[
"obj_id"]);
 
 3019                $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormaction($this));
 
 3021                $nodes = $this->lm_tree->getSubtree($this->lm_tree->getNodeData($this->lm_tree->getRootId()));
 
 3023                if (!is_array(
$_POST[
"item"]))
 
 3025                        if (
$_GET[
"obj_id"] != 
"")
 
 3037                foreach ($nodes as $node)
 
 3042                                $this->lm_set->get(
"time_scheduled_page_activation"));
 
 3044                        if ($node[
"type"] == 
"pg" &&
 
 3050                        $text = $img_scr = $img_alt = 
"";
 
 3054                        switch ($node[
"type"])
 
 3060                                                $this->lm->getPageHeader(), $this->lm->isActiveNumbering(),
 
 3061                                                $this->lm_set->get(
"time_scheduled_page_activation"), 
false, 0, $this->lang);
 
 3063                                        if(
$ilUser->getId() == ANONYMOUS_USER_ID &&
 
 3064                                           $this->lm_gui->object->getPublicAccessMode() == 
"selected")
 
 3069                                                        $text.= 
" (".$this->lng->txt(
"cont_no_access").
")";
 
 3073                                        $img_alt = 
$lng->txt(
"icon").
" ".
$lng->txt(
"pg");
 
 3080                                        $img_alt = 
$lng->txt(
"icon").
" ".
$lng->txt(
"obj_lm");
 
 3087                                                        $this->lm->isActiveNumbering(),
 
 3088                                                        $this->lm_set->get(
"time_scheduled_page_activation"), 
false, 0, $this->lang);
 
 3089                                        if(
$ilUser->getId() == ANONYMOUS_USER_ID && 
 
 3090                                           $this->lm_gui->object->getPublicAccessMode() == 
"selected")
 
 3095                                                        $text.= 
" (".$this->lng->txt(
"cont_no_access").
")";
 
 3099                                        $img_alt = 
$lng->txt(
"icon").
" ".
$lng->txt(
"st");
 
 3105                                $text.= 
" (".$this->lng->txt(
"cont_no_access").
")";
 
 3108                        $this->nl->addListNode($node[
"obj_id"], 
$text, $node[
"parent"], $checked, $disabled,
 
 3109                                        $img_src, $img_alt);
 
 3114                if (
$_GET[
"obj_id"] > 0 && !$this->lm_tree->isInTree(
$_GET[
"obj_id"]))
 
 3118                                $this->lm->getPageHeader(), $this->lm->isActiveNumbering(),
 
 3119                                $this->lm_set->get(
"time_scheduled_page_activation"), 
false, 0, $this->lang);
 
 3121                        if(
$ilUser->getId() == ANONYMOUS_USER_ID &&
 
 3122                           $this->lm_gui->object->getPublicAccessMode() == 
"selected")
 
 3127                                        $text.= 
" (".$this->lng->txt(
"cont_no_access").
")";
 
 3131                        $id = 
$_GET[
"obj_id"];
 
 3135                        $this->nl->addListNode($id, 
$text, 0, $checked, $disabled,
 
 3136                                $img_src, $img_alt);
 
 3139                $f = $this->form->getHTML();
 
 3143                $tb->addFormButton(
$lng->txt(
"cont_show_print_view"), 
"showPrintView");
 
 3144                $this->tpl->setVariable(
"TOOLBAR", $tb->getHTML());
 
 3146                $this->tpl->setVariable(
"ITEM_SELECTION", $f);
 
 3158                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 3163                $radg->setValue(
"page");
 
 3165                        $radg->addOption($op1);
 
 3167                        $radg->addOption($op2);
 
 3169                        $radg->addOption($op3);
 
 3171                        include_once(
"./Services/Form/classes/class.ilNestedListInputGUI.php");
 
 3174                        $op3->addSubItem($nl);
 
 3177                $this->form->addItem($radg);
 
 3179                $this->form->addCommandButton(
"showPrintView", 
$lng->txt(
"cont_show_print_view"));
 
 3180                $this->form->setOpenTag(
false);
 
 3181                $this->form->setCloseTag(
false);
 
 3183                $this->form->setTitle(
$lng->txt(
"cont_print_selection"));
 
 3184                $this->form->setFormAction(
$ilCtrl->getFormAction($this));
 
 3194                include_once(
"./Modules/LearningModule/classes/class.ilLMPage.php");
 
 3196                if (!$this->lm->isActivePrintView() || !$this->lm->isActiveLMMenu())
 
 3205                if (
$_POST[
"sel_type"] == 
"page")
 
 3207                        if (!is_array(
$_POST[
"obj_id"]) || !in_array($c_obj_id, 
$_POST[
"obj_id"]))
 
 3209                                $_POST[
"obj_id"][] = $c_obj_id;
 
 3212                if (
$_POST[
"sel_type"] == 
"chapter" && $c_obj_id > 0)
 
 3215                        $path = $this->lm_tree->getPathFull($c_obj_id);
 
 3216                        $chap_id = 
$path[1][
"child"];
 
 3219                                $_POST[
"obj_id"][] = $chap_id;
 
 3232                        $style_name = 
$ilUser->getPref(
"style").
".css";;
 
 3233                        $this->tpl->setVariable(
"LOCATION_STYLESHEET",
"./style/".$style_name);
 
 3237                $this->tpl->setCurrentBlock(
"ContentStyle");
 
 3240                        $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
 
 3245                        $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET", 
"content_style/content.css");
 
 3247                $this->tpl->parseCurrentBlock();
 
 3250                $this->tpl->setCurrentBlock(
"SyntaxStyle");
 
 3251                $this->tpl->setVariable(
"LOCATION_SYNTAX_STYLESHEET",
 
 3253                $this->tpl->parseCurrentBlock();
 
 3256                $this->tpl->addBlockFile(
"CONTENT", 
"content", 
"tpl.lm_print_view.html", 
true);
 
 3261                $nodes = $this->lm_tree->getSubtree($this->lm_tree->getNodeData($this->lm_tree->getRootId()));
 
 3263                include_once(
"./Modules/LearningModule/classes/class.ilLMPageGUI.php");
 
 3264                include_once(
"./Modules/LearningModule/classes/class.ilLMPageObject.php");
 
 3265                include_once(
"./Modules/LearningModule/classes/class.ilStructureObject.php");
 
 3270                $glossary_links = array();
 
 3271                $output_header = 
false;
 
 3272                $media_links = array();
 
 3275                if ($this->lm->getFooterPage() > 0 && !$this->lm->getHideHeaderFooterPrint())
 
 3279                                $page_object_gui = $this->
getLMPageGUI($this->lm->getFooterPage());
 
 3280                                include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
 
 3282                                        $this->lm->getStyleSheetId(), 
"lm"));
 
 3286                                $page_object_gui->setLinkFrame(
$_GET[
"frame"]);
 
 3287                                $page_object_gui->setOutputMode(
"print");
 
 3288                                $page_object_gui->setPresentationTitle(
"");
 
 3289                                $page_object_gui->setFileDownloadLink(
"#");
 
 3290                                $page_object_gui->setFullscreenLink(
"#");
 
 3291                                $page_object_gui->setSourceCodeDownloadScript(
"#");
 
 3292                                $footer_page_content = $page_object_gui->showPage();
 
 3295                if ($this->lm->getHeaderPage() > 0 && !$this->lm->getHideHeaderFooterPrint())
 
 3299                                $page_object_gui = $this->
getLMPageGUI($this->lm->getHeaderPage());
 
 3300                                include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
 
 3302                                        $this->lm->getStyleSheetId(), 
"lm"));
 
 3306                                $page_object_gui->setLinkFrame(
$_GET[
"frame"]);
 
 3307                                $page_object_gui->setOutputMode(
"print");
 
 3308                                $page_object_gui->setPresentationTitle(
"");
 
 3309                                $page_object_gui->setFileDownloadLink(
"#");
 
 3310                                $page_object_gui->setFullscreenLink(
"#");
 
 3311                                $page_object_gui->setSourceCodeDownloadScript(
"#");
 
 3312                                $header_page_content = $page_object_gui->showPage();
 
 3317                if (is_array(
$_POST[
"obj_id"]))
 
 3319                        foreach(
$_POST[
"obj_id"] as $k)
 
 3321                                if ($k > 0 && !$this->lm_tree->isInTree($k))
 
 3325                                                $nodes[] = array(
"obj_id" => $k, 
"type" => 
"pg", 
"free" => 
true);
 
 3333                        $ilCtrl->redirect($this, 
"showPrintViewSelection");
 
 3336                foreach ($nodes as $node_key => $node)
 
 3340                                $this->lm_set->get(
"time_scheduled_page_activation"));
 
 3341                        if ($node[
"type"] == 
"pg" && !$active)
 
 3348                        if ($node[
"depth"] <= $act_level)
 
 3350                                if (is_array(
$_POST[
"obj_id"]) && in_array($node[
"obj_id"], 
$_POST[
"obj_id"]))
 
 3352                                        $act_level = $node[
"depth"];
 
 3366                                if ($node[
"type"] == 
"du")
 
 3368                                        $output_header = 
true;
 
 3372                                if ($node[
"type"] == 
"st")
 
 3374                                        if(
$ilUser->getId() == ANONYMOUS_USER_ID && 
 
 3375                                           $this->lm_gui->object->getPublicAccessMode() == 
"selected")
 
 3384                                        $this->tpl->setCurrentBlock(
"print_chapter");
 
 3386                                        $chapter_title = $chap->_getPresentationTitle($node[
"obj_id"],
 
 3387                                                $this->lm->isActiveNumbering(),
 
 3388                                                $this->lm_set->get(
"time_scheduled_page_activation"), 0, $this->lang);
 
 3389                                        $this->tpl->setVariable(
"CHAP_TITLE",
 
 3394                                                if ($nodes[$node_key + 1][
"type"] == 
"pg")
 
 3396                                                        $this->tpl->setVariable(
"CHAP_HEADER",
 
 3397                                                                $header_page_content);
 
 3398                                                        $did_chap_page_header = 
true;
 
 3402                                        $this->tpl->parseCurrentBlock();
 
 3403                                        $this->tpl->setCurrentBlock(
"print_block");
 
 3404                                        $this->tpl->parseCurrentBlock();
 
 3408                                if ($node[
"type"] == 
"pg")
 
 3410                                        if(
$ilUser->getId() == ANONYMOUS_USER_ID &&
 
 3411                                           $this->lm_gui->object->getPublicAccessMode() == 
"selected")
 
 3419                                        $this->tpl->setCurrentBlock(
"print_item");
 
 3422                                        $page_id = $node[
"obj_id"];
 
 3424                                        $page_object = $page_object_gui->getPageObject();
 
 3425                                        include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
 
 3427                                                $this->lm->getStyleSheetId(), 
"lm"));
 
 3432                                        $lm_pg_obj->setLMId($this->lm->getId());
 
 3435                                        $page_object_gui->setLinkFrame(
$_GET[
"frame"]);
 
 3436                                        $page_object_gui->setOutputMode(
"print");
 
 3437                                        $page_object_gui->setPresentationTitle(
"");
 
 3439                                        if ($this->lm->getPageHeader() == 
IL_PAGE_TITLE || $node[
"free"] === 
true)
 
 3442                                                                $this->lm->getPageHeader(), $this->lm->isActiveNumbering(),
 
 3443                                                                $this->lm_set->get(
"time_scheduled_page_activation"), 
false, 0, $this->lang);
 
 3447                                                if ($this->lm->isActiveNumbering())
 
 3449                                                        $chapter_title = trim(substr($chapter_title,
 
 3450                                                                strpos($chapter_title, 
" ")));
 
 3453                                                if ($page_title != $chapter_title)
 
 3455                                                        $page_object_gui->setPresentationTitle($page_title);
 
 3460                                        $hcont = $header_page_content;
 
 3461                                        $fcont = $footer_page_content;
 
 3465                                                if ($did_chap_page_header)
 
 3469                                                if ($nodes[$node_key + 1][
"type"] == 
"pg" &&
 
 3470                                                        !($nodes[$node_key + 1][
"depth"] <= $act_level
 
 3471                                                         && !in_array($nodes[$node_key + 1][
"obj_id"], 
$_POST[
"obj_id"])))
 
 3477                                        $page_object_gui->setFileDownloadLink(
"#");
 
 3478                                        $page_object_gui->setFullscreenLink(
"#");
 
 3479                                        $page_object_gui->setSourceCodeDownloadScript(
"#");
 
 3480                                        $page_content = $page_object_gui->showPage();
 
 3483                                                $this->tpl->setVariable(
"CONTENT",
 
 3484                                                        $hcont.$page_content.$fcont);
 
 3488                                                $this->tpl->setVariable(
"CONTENT", 
 
 3489                                                        $hcont.$page_content.$fcont.
"<br />");
 
 3491                                        $chapter_title = 
"";
 
 3492                                        $this->tpl->parseCurrentBlock();
 
 3493                                        $this->tpl->setCurrentBlock(
"print_block");
 
 3494                                        $this->tpl->parseCurrentBlock();
 
 3501                                        foreach ($int_links as $key => $link)
 
 3503                                                if ($link[
"type"] == 
"git" &&
 
 3504                                                        ($link[
"inst"] == IL_INST_ID || $link[
"inst"] == 0))
 
 3506                                                        $glossary_links[$key] = $link;
 
 3508                                                if ($link[
"type"] == 
"mob" &&
 
 3509                                                        ($link[
"inst"] == IL_INST_ID || $link[
"inst"] == 0))
 
 3512                                                        $mob_links[$key] = $link;
 
 3523                                                $page_object->buildDom();
 
 3524                                                $links = $page_object->getInternalLinks();
 
 3525                                                foreach($links as $link)
 
 3527                                                        if ($link[
"Type"] == 
"MediaObject" 
 3528                                                                && $link[
"TargetFrame"] != 
"" 
 3529                                                                && $link[
"TargetFrame"] != 
"None")
 
 3531                                                                $media_links[] = $link;
 
 3543                if (count($glossary_links) > 0 && !$this->lm->isActivePreventGlossaryAppendix())
 
 3545                        include_once(
"./Modules/Glossary/classes/class.ilGlossaryTerm.php");
 
 3546                        include_once(
"./Modules/Glossary/classes/class.ilGlossaryDefinition.php");
 
 3551                        foreach($glossary_links as $key => $link)
 
 3554                                $terms[$term.
":".$key] = array(
"key" => $key, 
"link" => $link, 
"term" => $term);
 
 3559                        foreach($terms as 
$t)
 
 3567                                foreach($defs as $def)
 
 3570                                        if (count($defs) > 1)
 
 3572                                                $this->tpl->setCurrentBlock(
"def_title");
 
 3573                                                $this->tpl->setVariable(
"TXT_DEFINITION",
 
 3574                                                        $this->lng->txt(
"cont_definition").
" ".($def_cnt++));
 
 3575                                                $this->tpl->parseCurrentBlock();
 
 3577                                        include_once(
"./Modules/Glossary/classes/class.ilGlossaryDefPageGUI.php");
 
 3579                                        $page_gui->setTemplateOutput(
false);
 
 3580                                        $page_gui->setOutputMode(
"print");
 
 3582                                        $this->tpl->setCurrentBlock(
"definition");
 
 3583                                        $page_gui->setFileDownloadLink(
"#");
 
 3584                                        $page_gui->setFullscreenLink(
"#");
 
 3585                                        $page_gui->setSourceCodeDownloadScript(
"#");
 
 3586                                        $output = $page_gui->showPage();
 
 3587                                        $this->tpl->setVariable(
"VAL_DEFINITION", 
$output);
 
 3588                                        $this->tpl->parseCurrentBlock();
 
 3592                                $this->tpl->setCurrentBlock(
"term");
 
 3593                                $this->tpl->setVariable(
"VAL_TERM",
 
 3595                                $this->tpl->parseCurrentBlock();
 
 3600                        $this->tpl->setCurrentBlock(
"glossary");
 
 3601                        $annex_title = $this->lng->txt(
"cont_annex").
" ".
 
 3602                                chr(64+$annex_cnt).
": ".$this->lng->txt(
"glo");
 
 3603                        $this->tpl->setVariable(
"TXT_GLOSSARY", $annex_title);
 
 3604                        $this->tpl->parseCurrentBlock();
 
 3606                        $annexes[] = $annex_title;
 
 3610                if (count($media_links) > 0)
 
 3612                        include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObject.php");
 
 3613                        include_once(
"./Services/MediaObjects/classes/class.ilMediaItem.php");
 
 3615                        foreach($media_links as $media)
 
 3617                                if (substr($media[
"Target"],0,4) == 
"il__")
 
 3619                                        $arr = explode(
"_",$media[
"Target"]);
 
 3620                                        $id = $arr[count($arr) - 1];
 
 3623                                        $med_item = $med_obj->getMediaItem(
"Standard");
 
 3624                                        if (is_object($med_item))
 
 3626                                                if (is_int(strpos($med_item->getFormat(), 
"image")))
 
 3628                                                        $this->tpl->setCurrentBlock(
"ref_image");
 
 3631                                                        if ($med_item->getLocationType() == 
"LocalFile")
 
 3633                                                                $this->tpl->setVariable(
"IMG_SOURCE",
 
 3635                                                                        "/".$med_item->getLocation());
 
 3639                                                                $this->tpl->setVariable(
"IMG_SOURCE",
 
 3640                                                                        $med_item->getLocation());                                                              
 
 3643                                                        if ($med_item->getCaption() != 
"")
 
 3645                                                                $this->tpl->setVariable(
"IMG_TITLE", $med_item->getCaption());
 
 3649                                                                $this->tpl->setVariable(
"IMG_TITLE", $med_obj->getTitle());
 
 3651                                                        $this->tpl->parseCurrentBlock();
 
 3659                        $this->tpl->setCurrentBlock(
"ref_images");
 
 3660                        $annex_title = $this->lng->txt(
"cont_annex").
" ".
 
 3661                                chr(64+$annex_cnt).
": ".$this->lng->txt(
"cont_ref_images");
 
 3662                        $this->tpl->setVariable(
"TXT_REF_IMAGES", $annex_title);
 
 3663                        $this->tpl->parseCurrentBlock();
 
 3665                        $annexes[] = $annex_title;
 
 3671                        $this->tpl->setCurrentBlock(
"print_header");
 
 3673                        if ($this->lm->getDescription() != 
"none")
 
 3675                                include_once(
"Services/MetaData/classes/class.ilMD.php");
 
 3676                                $md = 
new ilMD($this->lm->getId(), 0, $this->lm->getType());
 
 3677                                $md_gen = $md->getGeneral();
 
 3678                                foreach($md_gen->getDescriptionIds() as $id)
 
 3680                                        $md_des = $md_gen->getDescription($id);
 
 3681                                        $description = $md_des->getDescription();
 
 3684                                $this->tpl->setVariable(
"LM_DESCRIPTION",
 
 3687                        $this->tpl->parseCurrentBlock();
 
 3691                        foreach ($nodes2 as $node2)
 
 3693                                if ($node2[
"type"] == 
"st" 
 3696                                        for ($j=1; $j < $node2[
"depth"]; $j++)
 
 3698                                                $this->tpl->setCurrentBlock(
"indent");
 
 3700                                                $this->tpl->parseCurrentBlock();
 
 3702                                        $this->tpl->setCurrentBlock(
"toc_entry");
 
 3703                                        $this->tpl->setVariable(
"TXT_TOC_TITLE",
 
 3705                                                        $this->lm->isActiveNumbering(),
 
 3706                                                        $this->lm_set->get(
"time_scheduled_page_activation"), 
false, 0, $this->lang));
 
 3707                                        $this->tpl->parseCurrentBlock();
 
 3712                        foreach ($annexes as $annex)
 
 3714                                $this->tpl->setCurrentBlock(
"indent");
 
 3716                                $this->tpl->parseCurrentBlock();
 
 3717                                $this->tpl->setCurrentBlock(
"toc_entry");
 
 3718                                $this->tpl->setVariable(
"TXT_TOC_TITLE", $annex);
 
 3719                                $this->tpl->parseCurrentBlock();
 
 3722                        $this->tpl->setCurrentBlock(
"toc");
 
 3723                        $this->tpl->setVariable(
"TXT_TOC", $this->lng->txt(
"cont_toc"));
 
 3724                        $this->tpl->parseCurrentBlock();
 
 3726                        $this->tpl->setCurrentBlock(
"print_start_block");
 
 3727                        $this->tpl->parseCurrentBlock();
 
 3731                include_once 
'Services/MetaData/classes/class.ilMD.php';
 
 3732                $md = 
new ilMD($this->lm->getId(),0, $this->lm->getType());
 
 3733                if(is_object($lifecycle = $md->getLifecycle()))
 
 3735                        $sep = $author = 
"";
 
 3736                        foreach(($ids = $lifecycle->getContributeIds()) as $con_id)
 
 3738                                $md_con = $lifecycle->getContribute($con_id);
 
 3739                                if ($md_con->getRole() == 
"Author")
 
 3741                                        foreach($ent_ids = $md_con->getEntityIds() as $ent_id)
 
 3743                                                $md_ent = $md_con->getEntity($ent_id);
 
 3744                                                $author = $author.$sep.$md_ent->getEntity();
 
 3751                                $this->lng->loadLanguageModule(
"meta");
 
 3752                                $this->tpl->setCurrentBlock(
"author");
 
 3753                                $this->tpl->setVariable(
"TXT_AUTHOR", $this->lng->txt(
"meta_author"));
 
 3754                                $this->tpl->setVariable(
"LM_AUTHOR", $author);
 
 3755                                $this->tpl->parseCurrentBlock();
 
 3761                if (is_object($md_rights = $md->getRights()))
 
 3763                        $copyright = $md_rights->getDescription();
 
 3764                        include_once(
'Services/MetaData/classes/class.ilMDUtils.php');
 
 3767                        if ($copyright != 
"")
 
 3769                                $this->lng->loadLanguageModule(
"meta");
 
 3770                                $this->tpl->setCurrentBlock(
"copyright");
 
 3771                                $this->tpl->setVariable(
"TXT_COPYRIGHT", $this->lng->txt(
"meta_copyright"));
 
 3772                                $this->tpl->setVariable(
"LM_COPYRIGHT", $copyright);
 
 3773                                $this->tpl->parseCurrentBlock();
 
 3777                $this->tpl->show(
false);
 
 3786                $pg_obj->buildDom();
 
 3787                $int_links = $pg_obj->getInternalLinks();
 
 3788                foreach ($int_links as $il)
 
 3790                        if ($il[
"Target"] == str_replace(
"_file_", 
"_dfile_", 
$_GET[
"file_id"]))
 
 3794                                require_once(
"./Modules/File/classes/class.ilObjFile.php");
 
 3795                                $fileObj = 
new ilObjFile($file_id, 
false);
 
 3796                                $fileObj->sendFile();
 
 3800                if (in_array(
$_GET[
"file_id"], $pg_obj->getAllFileObjIds()))
 
 3802                        require_once(
"./Modules/File/classes/class.ilObjFile.php");
 
 3805                        $fileObj = 
new ilObjFile($file_id, 
false);
 
 3806                        $fileObj->sendFile();
 
 3817                require_once(
"./Modules/LearningModule/classes/class.ilLMPage.php");
 
 3819                $pg_obj->send_paragraph (
$_GET[
"par_id"], 
$_GET[
"downloadtitle"]);
 
 3827                if (!$this->lm->isActiveDownloads() || !$this->lm->isActiveLMMenu())
 
 3833                $this->tpl->setCurrentBlock(
"ContentStyle");
 
 3836                        $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
 
 3841                        $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET", 
"content_style/content.css");
 
 3843                $this->tpl->parseCurrentBlock();
 
 3847                $this->tpl->getStandardTemplate();
 
 3849                $this->tpl->setVariable(
"TABS", $this->lm_gui->setilLMMenu($this->offlineMode()
 
 3850                        ,$this->getExportFormat(), 
"download", 
true,
false, 0,
 
 3851                        $this->lang, $this->export_all_languages));
 
 3855                $this->tpl->addBlockFile(
"ADM_CONTENT", 
"adm_content", 
"tpl.lm_download_list.html", 
"Modules/LearningModule");
 
 3868                include_once 
'Services/MetaData/classes/class.ilMD.php';
 
 3869                $md = 
new ilMD($this->lm->getId(),0, $this->lm->getType());
 
 3870                if (is_object($md_rights = $md->getRights()))
 
 3872                        $copyright = $md_rights->getDescription();
 
 3874                        include_once(
'Services/MetaData/classes/class.ilMDUtils.php');
 
 3877                        if ($copyright != 
"")
 
 3879                                $this->lng->loadLanguageModule(
"meta");
 
 3880                                $this->tpl->setCurrentBlock(
"copyright");
 
 3881                                $this->tpl->setVariable(
"TXT_COPYRIGHT", $this->lng->txt(
"meta_copyright"));
 
 3882                                $this->tpl->setVariable(
"LM_COPYRIGHT", $copyright);
 
 3883                                $this->tpl->parseCurrentBlock();
 
 3888                include_once(
"./Modules/LearningModule/classes/class.ilLMDownloadTableGUI.php");
 
 3890                $this->tpl->setVariable(
"DOWNLOAD_TABLE", $download_table->getHTML());
 
 3900                if (!$this->lm->isActiveDownloads() || !$this->lm->isActiveLMMenu())
 
 3905                $base_type = explode(
"_", 
$_GET[
"type"]);
 
 3906                $base_type = $base_type[0];
 
 3907                $file = $this->lm->getPublicExportFile($base_type);
 
 3908                if ($this->lm->getPublicExportFile($base_type) != 
"")
 
 3910                        $dir = $this->lm->getExportDirectory(
$_GET[
"type"]);
 
 3911                        if (is_file($dir.
"/".
$file))
 
 3930                return "ilias.php?baseClass=ilLMPresentationGUI&ref_id=".$a_ref_id.
"&obj_id=".$a_obj_id.
"&focus_id=".
 
 3931                        $a_obj_id.
"&focus_return=".$a_return_ref_id;
 
 3938        function getLink($a_ref_id, $a_cmd = 
"", $a_obj_id = 
"", $a_frame = 
"", 
$a_type = 
"",
 
 3939                $a_back_link = 
"append", $a_anchor = 
"", $a_srcstring = 
"")
 
 3950                $back_pg = 
$_GET[
"back_pg"];
 
 3951                if ($a_obj_id != 
"" && !$this->lm_tree->isInTree($a_obj_id) && $cur_page_id != 
"" &&
 
 3952                        $a_back_link == 
"append")
 
 3956                                $back_pg = $cur_page_id.
":".$back_pg;
 
 3960                                $back_pg = $cur_page_id;
 
 3965                        if ($a_back_link == 
"reduce")
 
 3967                                $limpos = strpos(
$_GET[
"back_pg"], 
":");
 
 3971                                        $back_pg = substr($back_pg, strpos($back_pg, 
":") + 1);
 
 3978                        else if ($a_back_link != 
"keep")
 
 3987                        if (
$_GET[
"from_page"] == 
"")
 
 3990                                if (!in_array($a_frame, array(
"", 
"_blank")))
 
 3992                                        $this->ctrl->setParameter($this, 
"from_page", $cur_page_id);
 
 3999                                if (!in_array($a_frame, array(
"", 
"_blank")))
 
 4001                                        $this->ctrl->setParameter($this, 
"from_page", 
$_GET[
"from_page"]);
 
 4005                        if ($a_anchor !=  
"")
 
 4007                                $this->ctrl->setParameter($this, 
"anchor", rawurlencode($a_anchor));
 
 4009                        if ($a_srcstring != 
"")
 
 4011                                $this->ctrl->setParameter($this, 
"srcstring", $a_srcstring);
 
 4016                                        $link = $this->ctrl->getLinkTarget($this, 
"fullscreen", 
"", 
false, 
false);
 
 4023                                                $this->ctrl->setParameter($this, 
"back_pg", $back_pg);
 
 4027                                                $this->ctrl->setParameter($this, 
"frame", $a_frame);
 
 4029                                        if ($a_obj_id != 
"")
 
 4034                                                                $this->ctrl->setParameter($this, 
"mob_id", $a_obj_id);
 
 4038                                                                $this->ctrl->setParameter($this, 
"obj_id", $a_obj_id);
 
 4039                                                                $link.= 
"&obj_id=".$a_obj_id;
 
 4045                                                $this->ctrl->setParameter($this, 
"obj_type", 
$a_type);
 
 4047                                        $link = $this->ctrl->getLinkTarget($this, $a_cmd, $a_anchor);
 
 4050                                        $this->ctrl->setParameter($this, 
"frame", 
"");
 
 4051                                        $this->ctrl->setParameter($this, 
"obj_id", 
"");
 
 4052                                        $this->ctrl->setParameter($this, 
"mob_id", 
"");
 
 4059                        if ($this->export_all_languages)
 
 4061                                if ($this->lang != 
"" && $this->lang != 
"-")
 
 4063                                        $lang_suffix = 
"_".$this->lang;
 
 4069                                case "downloadFile":
 
 4073                                        $link = 
"fullscreen.html";              
 
 4078                                        if ($a_obj_id == 
"")
 
 4080                                                $a_obj_id = $this->lm_tree->getRootId();
 
 4081                                                $pg_node = $this->lm_tree->fetchSuccessorNode($a_obj_id, 
"pg");
 
 4082                                                $a_obj_id = $pg_node[
"obj_id"];
 
 4084                                        if (
$a_type == 
"StructureObject")
 
 4086                                                $pg_node = $this->lm_tree->fetchSuccessorNode($a_obj_id, 
"pg");
 
 4087                                                $a_obj_id = $pg_node[
"obj_id"];
 
 4089                                        if ($a_frame != 
"" && $a_frame != 
"_blank")
 
 4091                                                if ($a_frame != 
"toc")
 
 4093                                                        $link = 
"frame_".$a_obj_id.
"_".$a_frame.$lang_suffix.
".html";
 
 4097                                                        $link = 
"frame_".$a_frame.$lang_suffix.
".html";
 
 4105                                                        $link = 
"lm_pg_".$nid.$lang_suffix.
".html";
 
 4109                                                        $link = 
"lm_pg_".$a_obj_id.$lang_suffix.
".html";
 
 4115                                        $link = 
"term_".$a_obj_id.
".html";
 
 4119                                        $link = 
"media_".$a_obj_id.
".html";
 
 4127                $this->ctrl->clearParameters($this);
 
 4141                $this->tpl->setCurrentBlock(
"ContentStyle");
 
 4144                        $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
 
 4149                        $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET", 
"content_style/content.css");
 
 4151                $this->tpl->parseCurrentBlock();
 
 4153                $tpl = 
new ilTemplate(
"tpl.page_message_screen.html", 
true, 
true, 
"Modules/LearningModule");
 
 4156                $this->tpl->setVariable(
"PAGE_CONTENT", 
$tpl->get());
 
 4190                        $target = $this->ctrl->getLinkTarget($this, 
"");
 
 4192                        return $this->ctrl->getLinkTarget($this, 
"");
 
 4208                $this->offline_directory = $offdir;
 
 4230                if (!($fp = @fopen(
$file,
"w+")))
 
 4232                        die (
"<b>Error</b>: Could not open \"".
$file.
"\" for writing".
 
 4233                                " in <b>".__FILE__.
"</b> on line <b>".__LINE__.
"</b><br />");
 
 4244                $this->tpl->fillWindowTitle();
 
 4245                $this->tpl->fillContentLanguage();
 
 4257                include_once(
"./Modules/LearningModule/classes/class.ilLMPage.php");
 
 4258                include_once(
"./Modules/LearningModule/classes/class.ilLMPageGUI.php");
 
 4261                        return new ilLMPageGUI($a_id, 0, 
false, $this->lang);
 
 4274                include_once(
"./Modules/LearningModule/classes/class.ilLMPage.php");
 
 4277                        return new ilLMPage($a_id, 0, $this->lang);
 
 4287                $exp = $this->
ilTOC(
true);
 
 4289                echo $exp->getHTML().
 
 4290                        "<script>".$exp->getOnLoadCode().
"</script>";
 
sprintf('%.4f', $callTime)
An exception for terminatinating execution or to throw for unit testing.
static getAttribute($a_func_id)
Get accesskey HTML attribute.
static addJavaScript()
Add javascript files that are necessary to run accordion.
static addCss()
Add required css.
Class ilCommonActionDispatcherGUI.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
static _updateLastAccess($a_user_id, $a_lm_ref_id, $a_page_id)
static formatDate(ilDateTime $date)
Format a date @access public.
@classDescription Date and time handling
Glossary definition page GUI class.
static getDefinitionList($a_term_id)
static
GUI class for glossary terms.
static _lookGlossaryTerm($term_id)
get glossary term
static _getTargetsOfSource($a_source_type, $a_source_id, $a_source_lang="-")
Get all targets of a source object (e.g., a page)
TableGUI class for lm download files.
static getInstance(&$a_content_obj, $a_id=0, $a_halt=true)
static getExportId($a_lm_id, $a_lmobj_id, $a_type="pg")
Get export ID.
static _lookupType($a_obj_id, $a_lm_id=0)
Lookup type.
static _lookupContObjID($a_id)
get learning module / digibook id for lm object
static _isPagePublic($a_node_id, $a_check_public_mode=false)
static _lookupTitle($a_obj_id)
Lookup title.
static lookupLayout($a_obj_id)
Lookup type.
static _exists($a_id)
checks wether a lm content object with specified id exists or not
Extension of ilPageObjectGUI for learning modules.
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="-")
presentation title doesn't have to be page title, it may be chapter title + page title or chapter tit...
Extension of ilPageObject for learning modules.
Base exception class for learning module presentation.
Class ilLMPresentationGUI.
offlineMode()
checks wether offline content generation is activated
ilLMNotes()
output notes of page
outputInfoScreen($a_standard_locator=false)
info screen
ilLMNavigation()
inserts sequential learning module navigation at template variable LMNAVIGATION_CONTENT
ilMainMenu()
output main menu
setOfflineMode($a_offline=true, $a_all_languages=false)
set offline mode (content is generated for offline package)
handleCodeParagraph($page_id, $paragraph_id, $title, $text)
store paragraph into file directory files/codefile_$pg_id_$paragraph_id/downloadtitle
getCurrentPageId()
Get the current page id.
ilLMMenu()
output learning module menu
initPrintViewSelectionForm()
Init print view selection form.
layout($a_xml="main.xml", $doShow=true)
generates frame layout
processNodes(&$a_content, &$a_node)
download_paragraph()
download source code paragraph
getExportFormat()
get export format
export()
calls export of digilib-object at this point other lm-objects can be exported
addHeaderAction($a_redraw=false)
Add header action.
initScreenHead($a_active_tab="info")
showPrintView()
show print view
nop()
this dummy function is needed for offline package creation
downloadFile()
download file of file lists
showMessageScreen($a_content)
Show message screen.
getSourcecodeDownloadLink()
showPreconditionsOfPage()
show preconditions of the page
executeCommand()
execute command
getFocusLink($a_ref_id, $a_obj_id, $a_return_ref_id)
Get focused link (used in learning objectives courses)
attrib2arr($a_attributes)
showNavRestrictionDueToQuestions()
Show message if navigation to page is not allowed due to unanswered questions.
showDownloadList()
show download list
getLMPageGUI($a_id)
Get lm page gui object.
showInfoScreen()
info screen call from inside learning module
getLMPage($a_id)
Get lm page object.
setOfflineDirectory($offdir)
set offline directory to offdir
getOfflineDirectory()
get offline directory
getCurrentFrameSet()
get frames of current frame set
ilTOC($a_get_explorer=false)
table of contents
ilLMHead()
output lm header
getSuccessorPage()
Get successor page.
showPrintViewSelection()
show selection screen for print view
setExportFormat($a_format)
set export format
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
ilLMSubMenu()
output learning module submenu
showTableOfContents()
table of contents
saveFrameUrl()
Save frame url.
getLinkXML($a_int_links, $a_layoutframes)
get xml for links
redrawHeaderAction()
Redraw header action.
downloadExportFile()
send download file (xml/html)
getLinkTargetsXML()
Get XMl for Link Targets.
determineLayout()
Determine layout.
infoScreen()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually,...
ilPage(&$a_page_node, $a_page_id=0)
process <ilPage> content tag
basicPageGuiInit($a_page_gui)
Basic page gui initialisation.
refreshToc()
Refresh toc (called if questions have been answered correctly)
showNoPageAccess()
Show info message, if page is not accessible in public area.
buildTag($type, $name, $attr="")
generate a tag with given name and attributes
ilLocator($a_std_templ_loaded=false)
locator
ilJavaScript($a_inline="", $a_file="", $a_location="")
Puts JS into template.
ilGlossary()
show glossary term
showNoPublicAccess()
Show info message, if page is not accessible in public area.
getLMPresentationTitle()
Get lm presentationtitle.
LM presentation (left frame) explorer GUI class.
LM presentation (separate toc screen) explorer GUI class.
static getInstance($a_ref_id, $a_user_id=0)
Get instance.
static getInstance($a_tree_id)
Get Instance.
const LP_CONTEXT_REPOSITORY
Class ilObjUserTrackingGUI.
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
static _parseCopyright($a_copyright)
Parse copyright.
static _getLastAccessedPage($a_ref_id, $a_user_id="")
get last accessed page
static getSupplyingExportFiles($a_target_dir=".")
Get supplying export files.
static _getMissingPreconditionsTopChapter($cont_obj_ref_id, $cont_obj_id, $page_id)
get top chapter of page for that any precondition is missing
static _checkPreconditionsOfPage($cont_ref_id, $cont_obj_id, $page_id)
checks wether the preconditions of a page are fulfilled or not
static _getMissingPreconditionsOfPage($cont_ref_id, $cont_obj_id, $page_id)
gets all missing preconditions of page
Class ilLearningModuleGUI.
static getContentPrintStyle()
get content print style
static getSyntaxStylePath()
get syntax style path
static getEffectiveContentStyleId($a_style_id, $a_type="")
Get effective Style Id.
static getContentStylePath($a_style_id)
get content style path
static getInstance($a_obj_id)
Get instance.
static _lookupObjId($a_id)
static _lookupTitle($a_id)
lookup object title
static _getAllReferences($a_id)
get all reference ids of object
static _lookupType($a_id, $a_reference=false)
lookup object type
static _lookupActive($a_id, $a_parent_type, $a_check_scheduled_activation=false, $a_lang="-")
lookup activation status
static lookupParentId($a_id, $a_type)
Lookup parent id.
static _lookupActivationData($a_id, $a_parent_type, $a_lang="-")
Lookup activation data.
static _exists($a_parent_type, $a_id, $a_lang="", $a_no_cache=false)
Checks whether page exists.
Class for permanent links.
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.
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.
Session based immediate storage.
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="-")
get presentation title
special template class to simplify handling of ITX/PEAR
static highlight($a_dom_node_id, $a_text, $a_tpl=null)
Searches for all occurences of a text (case-insensitive) and highlights it.
static init($a_tpl=null)
Init.
static _getInstance($a_usr_id)
Get singleton instance.
static appendUrlParameterString($a_url, $a_par, $xml_style=false)
append URL parameter string ("par1=value1&par2=value2...") to given URL string
static shortenText($a_str, $a_len, $a_dots=false, $a_next_blank=false, $a_keep_extension=false)
shorten a string to given length.
static sortArray($array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
static getWebspaceDir($mode="filesystem")
get webspace directory
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static now()
Return current timestamp in Y-m-d H:i:s format.
static makeDirParents($a_dir)
Create a new directory and all parent directories.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
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.
static initjQueryUI()
Init jQuery UI (see included_components.txt for included components)
static initjQuery($a_tpl=null)
Init jQuery.
if(!is_dir( $entity_dir)) exit("Fatal Error ([A-Za-z0-9]+)\s+" &#(? foreach( $entity_files as $file) $output
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
xpath_eval($xpath_context, $eval_str, $contextnode=null)
domxml_open_mem($str, $mode=0, &$error=NULL)
xpath_new_context($dom_document)
for($i=1; $i<=count($kw_cases_sel); $i+=1) $lang
if(!file_exists("$old.txt")) if( $old===$new) if(file_exists("$new.txt")) $file