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