31 protected \ILIAS\COPage\Xsl\XslManager
$xsl;
34 protected \ILIAS\Notes\DomainService
$notes;
80 protected \ILIAS\DI\UIServices
$ui;
95 string $a_export_format =
"",
96 bool $a_all_languages =
false,
97 string $a_export_dir =
"",
98 bool $claim_repo_context =
true,
99 array $query_params = null,
100 bool $embed_mode =
false 104 $this->offline = ($a_export_format !=
"");
105 $this->export_all_languages = $a_all_languages;
106 $this->export_format = $a_export_format;
107 $this->offline_directory = $a_export_dir;
109 $this->
tabs = $DIC->tabs();
110 $this->
toolbar = $DIC->toolbar();
111 $this->
user = $DIC->user();
112 $this->rbacsystem = $DIC->rbac()->system();
113 $this->nav_history = $DIC[
"ilNavigationHistory"];
114 $this->
access = $DIC->access();
116 $this->
locator = $DIC[
"ilLocator"];
117 $this->tree = $DIC->repositoryTree();
118 $this->
help = $DIC[
"ilHelp"];
119 $this->global_screen = $DIC->globalScreen();
121 $lng = $DIC->language();
122 $rbacsystem = $DIC->rbac()->system();
123 $ilCtrl = $DIC->ctrl();
130 $this->
ui = $DIC->ui();
131 $this->tpl = $DIC->ui()->mainTemplate();
132 $this->frames = array();
133 $this->
ctrl = $ilCtrl;
134 $this->
ctrl->saveParameter($this, array(
"ref_id",
"transl",
"focus_id",
"focus_return"));
136 $this->cs = $DIC->contentStyle();
141 if (!$rbacsystem->
checkAccess(
"write", $this->requested_ref_id)) {
142 if ($this->lm->getOfflineStatus()) {
147 if ($claim_repo_context) {
148 $DIC->globalScreen()->tool()->context()->claim()->repository();
151 if (!$ilCtrl->isAsynch()) {
154 if ($this->service->getPresentationStatus()->isTocNecessary()) {
155 $DIC->globalScreen()->tool()->context()->current()->addAdditionalData(
161 $DIC->globalScreen()->tool()->context()->current()->addAdditionalData(
168 $ilCtrl->setParameter($this,
"embed_mode", 1);
171 "ref_id" => $this->lm->getRefId(),
174 $DIC->globalScreen()->tool()->context()->current()->addAdditionalData(
179 $this->reading_time_manager = new \ILIAS\LearningModule\ReadingTime\ReadingTimeManager();
180 $this->notes = $DIC->notes()->domain();
181 $this->xsl = $DIC->copage()->internal()->domain()->xsl();
182 $this->dom_util = $DIC->copage()->internal()->domain()->domUtil();
183 $this->notes_gui = $DIC->notes()->gui();
205 ?array $query_params = null,
206 bool $embed_mode =
false 214 $this->export_all_languages,
215 $this->export_format,
220 $post = is_null($query_params)
224 $request = $DIC->learningModule()
233 $this->requested_obj_type = $request->getObjType();
234 $this->requested_ref_id = $request->getRefId();
235 $this->requested_transl = $request->getTranslation();
236 $this->requested_obj_id = $request->getObjId();
237 $this->requested_back_pg = $request->getBackPage();
238 $this->requested_frame = $request->getFrame();
239 $this->requested_search_string = $request->getSearchString();
240 $this->requested_focus_return = $request->getFocusReturn();
241 $this->requested_mob_id = $request->getMobId();
242 $this->requested_cmd = $request->getCmd();
243 $this->requested_pg_id = $request->getPgId();
244 $this->requested_pg_type = $request->getPgType();
245 $this->requested_notification_switch = $request->getNotificationSwitch();
246 $this->requested_type = $request->getType();
247 $this->requested_url = $request->getUrl();
249 $this->lm_set = $this->service->getSettings();
250 $this->lm_gui = $this->service->getLearningModuleGUI();
251 $this->lm = $this->service->getLearningModule();
252 $this->tracker = $this->service->getTracker();
253 $this->linker = $this->service->getLinker();
255 if ($request->getEmbedMode()) {
256 $this->embed_mode =
true;
260 $this->lang = $this->service->getPresentationStatus()->getLang();
262 $this->lm_tree = $this->service->getLMTree();
263 $this->focus_id = $this->service->getPresentationStatus()->getFocusId();
265 $this->content_style_gui = $this->cs->gui();
266 $this->content_style_domain = $this->cs->domain()->styleForRefId($this->lm->getRefId());
281 return $this->service->getTracker();
299 if (!$ilAccess->checkAccess(
"read",
"", $this->requested_ref_id) &&
300 (!(($this->
ctrl->getCmd() ==
"infoScreen" || $this->
ctrl->getNextClass() ==
"ilinfoscreengui")
301 && $ilAccess->checkAccess(
"visible",
"", $this->requested_ref_id)))) {
305 $next_class = $this->
ctrl->getNextClass($this);
306 $cmd = $this->
ctrl->getCmd(
"layout");
309 $this->
ctrl->setParameter($this,
"obj_id", $this->requested_obj_id);
310 $ilNavigationHistory->addItem($this->requested_ref_id, $this->
ctrl->getLinkTarget($this),
"lm");
311 $this->
ctrl->setParameter($this,
"obj_id", $obj_id);
313 switch ($next_class) {
318 case "ilinfoscreengui":
322 case "ilcommonactiondispatchergui":
324 $gui->enableCommentsSettings(
false);
325 $this->
ctrl->forwardCommand($gui);
329 $page_gui = $this->
getLMPageGUI($this->requested_obj_id);
331 $ret = $ilCtrl->forwardCommand($page_gui);
334 case "ilassgenfeedbackpagegui":
337 $ret = $ilCtrl->forwardCommand($page_gui);
340 case "ilglossarydefpagegui":
345 $ret = $ilCtrl->forwardCommand($page_gui);
348 case "illearningprogressgui":
352 $this->requested_ref_id,
355 $this->
ctrl->forwardCommand($new_gui);
358 if ($this->
ctrl->getCmd() !==
"editManual") {
359 $this->tpl->printToStdout();
366 $this->
ctrl->forwardCommand($rating_gui);
370 if ($this->requested_notification_switch > 0) {
371 switch ($this->requested_notification_switch) {
375 $this->
user->getId(),
384 $this->
user->getId(),
393 $this->
user->getId(),
402 $this->
user->getId(),
408 $ilCtrl->redirect($this,
"layout");
410 $ret = $this->$cmd();
431 public function nop(): void
435 public function attrib2arr(?DOMNamedNodeMap $a_attributes): array
438 if (!is_null($a_attributes)) {
439 foreach ($a_attributes as $attribute) {
440 $attr[$attribute->name] = $attribute->value;
471 string $a_xml =
"main.xml",
482 $xmlfile = file_get_contents(
"./Modules/LearningModule/layouts/lm/" . $layout .
"/" . $a_xml);
485 $doc = $this->dom_util->docFromString($xmlfile, $error);
486 $this->layout_doc = $doc;
489 $path = (empty($this->requested_frame) || ($this->requested_frame ==
"_blank"))
490 ?
"/ilLayout/ilFrame[1]" 491 :
"//ilFrame[@name='" . $this->requested_frame .
"']";
492 $nodes = $this->dom_util->path($doc,
$path);
493 if (count($nodes) != 1) {
495 " path " .
$path .
" in " . $layout .
"/" . $a_xml .
". LM Layout is " . $this->lm->getLayout());
497 $node = $nodes->item(0);
501 $attributes = $this->
attrib2arr($node->attributes);
503 $this->frames = array();
506 if ((empty($attributes[
"template"]) || !empty($this->requested_obj_type))
507 && ($this->requested_frame !=
"_blank" || $this->requested_obj_type !=
"MediaObject")) {
513 if (empty($this->requested_obj_type)) {
514 $obj_type =
"PageObject";
521 foreach ($node->childNodes as $child) {
522 if ($child->nodeName == $obj_type) {
524 $attributes = $this->
attrib2arr($child->attributes);
532 $this->requested_frame .
"' and object type '" . $obj_type .
"'.");
540 $style_name = $ilUser->getPref(
"style") .
".css";
541 $this->tpl->setVariable(
"LOCATION_STYLESHEET",
"./style/" . $style_name);
547 foreach ($node->childNodes as $child) {
548 $child_attr = $this->
attrib2arr($child->attributes);
550 switch ($child->nodeName) {
558 $additional = $this->
ui->renderer()->render($this->additional_content);
559 $this->tpl->setContent($content . $additional);
566 case "ilLMNavigation":
581 $child_attr[
"inline"],
583 $child_attr[
"location"]
627 $this->tpl->addJavaScript(
"./Modules/LearningModule/js/LearningModule.js");
630 if ($this->requested_frame ==
"") {
632 $last_frame_url = $store->get(
"cf_" . $this->lm->getId());
633 if ($last_frame_url !=
"") {
634 $this->tpl->addOnLoadCode(
"il.LearningModule.setLastFrameUrl('" . $last_frame_url .
"', 'center_bottom');");
637 $this->tpl->addOnLoadCode(
"il.LearningModule.setSaveUrl('" .
638 $this->
ctrl->getLinkTarget($this,
"saveFrameUrl",
"",
false,
false) .
"'); 639 il.LearningModule.openInitFrames(); 642 $this->tpl->addOnLoadCode(
"il.LearningModule.setTocRefreshUrl('" .
643 $this->
ctrl->getLinkTarget($this,
"refreshToc",
"",
false,
false) .
"'); 661 return $this->
media();
666 $this->tpl =
new ilGlobalTemplate(
"tpl.fullscreen.html",
true,
true,
"Modules/LearningModule");
674 $this->tpl->printToStdout();
676 return $this->tpl->printToString();
683 $this->tpl =
new ilGlobalTemplate(
"tpl.glossary_term_output.html",
true,
true,
"Modules/LearningModule");
698 $js = $this->global_screen->layout()->meta()->getJs();
699 foreach ($js->getItemsInOrderOfDelivery() as $item) {
700 $this->tpl->addJavaScript($item->getContent());
704 $this->tpl->printToStdout();
706 return $this->tpl->printToString();
715 $this->tpl =
new ilGlobalTemplate(
"tpl.page_fullscreen.html",
true,
true,
"Modules/LearningModule");
725 $style_name = $ilUser->getPref(
"style") .
".css";
726 $this->tpl->setVariable(
"LOCATION_STYLESHEET",
"./style/" . $style_name);
731 $this->tpl->printToStdout();
733 return $this->tpl->get();
744 $exp = $fac->getExplorer($this->service,
"ilTOC");
745 $exp->handleCommand();
751 return $this->service->getPresentationStatus()->getLMPresentationTitle();
771 if ($this->
abstract) {
777 $tpl_menu =
new ilTemplate(
"tpl.lm_sub_menu.html",
true,
true,
"Modules/LearningModule");
786 if ($rbacsystem->
checkAccess(
"write", $this->requested_ref_id)) {
787 $tpl_menu->setCurrentBlock(
"edit_page");
789 $tpl_menu->setVariable(
791 ILIAS_HTTP_PATH .
"/ilias.php?baseClass=ilLMEditorGUI&ref_id=" . $this->requested_ref_id .
792 "&obj_id=" . $page_id .
"&to_page=1" 794 $tpl_menu->setVariable(
"EDIT_TXT", $this->
lng->txt(
"edit_page"));
795 $tpl_menu->setVariable(
"EDIT_TARGET", $buttonTarget);
796 $tpl_menu->parseCurrentBlock();
802 $this->tpl->setPermanentLink(
"pg", null, $page_id .
"_" . $this->lm->getRefId());
805 $this->tpl->setVariable(
"SUBMENU", $tpl_menu->get());
821 bool $a_redraw =
false 823 if ($this->offline) {
830 $lm_id = $this->lm->getId();
833 $this->
lng->loadLanguageModule(
"content");
838 $this->lm->getType(),
839 $this->lm->getRefId(),
844 $this->
ctrl->setParameter($this,
"embed_mode", (
int) $this->embed_mode);
845 $this->
ctrl->setParameterByClass(
"ilcommentgui",
"embed_mode", (
int) $this->embed_mode);
846 $this->
ctrl->setParameterByClass(
"iltagginggui",
"embed_mode", (
int) $this->embed_mode);
848 $this->
ctrl->getLinkTarget($this,
"redrawHeaderAction",
"",
true),
850 $this->
ctrl->getLinkTargetByClass(
851 array(
"ilcommonactiondispatchergui",
"iltagginggui"),
860 $lg = $dispatcher->initHeaderAction();
862 $lg->enableNotes(
true);
863 if (!$this->embed_mode) {
864 $lg->enableComments($this->lm->publicNotes(),
false);
868 if ($this->lm->hasRating() && !$this->
offlineMode()) {
871 $this->
lng->txt(
"lm_rating"),
873 array(
"ilcommonactiondispatchergui",
"ilratinggui"),
881 $this->
ctrl->setParameter($this,
"ntf", 1);
883 $lg->addCustomCommand($this->
ctrl->getLinkTarget($this),
"cont_notification_deactivate_lm");
889 $this->
lng->txt(
"cont_notification_activated")
892 $this->
ctrl->setParameter($this,
"ntf", 2);
893 $lg->addCustomCommand($this->
ctrl->getLinkTarget($this),
"cont_notification_activate_lm");
896 $this->
ctrl->setParameter($this,
"ntf", 3);
897 $lg->addCustomCommand($this->
ctrl->getLinkTarget($this),
"cont_notification_deactivate_page");
902 $this->
lng->txt(
"cont_page_notification_activated")
905 $this->
ctrl->setParameter($this,
"ntf", 4);
906 $lg->addCustomCommand($this->
ctrl->getLinkTarget($this),
"cont_notification_activate_page");
911 $this->
lng->txt(
"cont_notification_deactivated")
915 $this->
ctrl->setParameter($this,
"ntf",
"");
918 if (!$this->offline) {
919 if ($ilAccess->checkAccess(
"write",
"", $this->requested_ref_id)) {
921 $link = $this->
ctrl->getLinkTargetByClass([
"ilLMEditorGUI",
"ilobjlearningmodulegui"],
"chapters");
923 $link = ILIAS_HTTP_PATH .
"/ilias.php?baseClass=ilLMEditorGUI&ref_id=" . $this->requested_ref_id .
926 $lg->addCustomCommand($link,
"edit_page");
931 return $lg->getHeaderAction($this->tpl);
934 return $lg->getHeaderAction() .
957 if (!$this->lm->publicNotes()) {
961 $next_class = $this->
ctrl->getNextClass($this);
968 $notes_gui = $this->notes_gui->getCommentsGUI($this->lm->getId(), $this->
getCurrentPageId(),
"pg");
969 $notes_gui->setUseObjectTitleHeader(
false);
971 if ($ilAccess->checkAccess(
"write",
"", $this->requested_ref_id) &&
973 $notes_gui->enablePublicNotesDeletion(
true);
976 $this->
ctrl->setParameter($this,
"frame", $this->requested_frame);
977 $this->
ctrl->setParameter($this,
"obj_id", $this->requested_obj_id);
979 $notes_gui->enablePrivateNotes();
980 if ($this->lm->publicNotes()) {
981 $notes_gui->enablePublicNotes();
984 $callback = array($this,
"observeNoteAction");
985 $notes_gui->addObserver($callback);
987 if ($next_class ==
"ilcommentgui") {
988 $html = $this->
ctrl->forwardCommand($notes_gui);
990 $html = $notes_gui->getListHTML();
998 $ltiview = $DIC[
"lti"];
1001 if (empty($this->requested_obj_id)) {
1002 $a_id = $this->lm_tree->getRootId();
1007 if (!$this->lm->cleanFrames()) {
1015 $frame_target =
"_top";
1020 if ($ltiview->isActive()) {
1023 $ilLocator->addRepositoryItems();
1026 $ilLocator->setOffline(
true);
1029 if ($this->lm_tree->isInTree($a_id)) {
1030 $path = $this->lm_tree->getPathFull($a_id);
1033 if ($row[
"type"] !=
"pg") {
1034 if ($row[
"child"] != $this->lm_tree->getRootId()) {
1035 $ilLocator->addItem(
1040 $this->lm->isActiveNumbering(),
1041 (bool) $this->lm_set->get(
"time_scheduled_page_activation"),
1049 $this->linker->getLink(
"layout", $row[
"child"], $frame_param,
"StructureObject"),
1053 $ilLocator->addItem(
1055 $this->linker->getLink(
"layout", 0, $frame_param),
1063 $ilLocator->addItem(
1065 $this->linker->getLink(
"layout", 0, $this->requested_frame)
1070 $ilLocator->addItem(
1071 $lm_obj->getTitle(),
1072 $this->linker->getLink(
"layout", $a_id, $frame_param),
1077 $this->tpl->setLocator();
1085 return $this->service->getNavigationStatus()->getCurrentPage();
1094 $this->content_style_gui->addCss(
1096 $this->lm->getRefId()
1110 bool $skip_nav =
false 1112 $this->fill_on_load_code =
true;
1115 $tpl =
new ilTemplate(
"tpl.lm_content.html",
true,
true,
"Modules/LearningModule/Presentation");
1124 $this->requested_obj_id,
1125 $this->requested_back_pg,
1126 $this->requested_frame,
1131 $navigation_renderer->renderTop();
1151 $this->requested_obj_id
1154 return $content_renderer->render();
1161 if ($this->lm->hasRatingPages() && !$this->
offlineMode()) {
1163 $rating_gui->setObject($this->lm->getId(),
"lm", $this->
getCurrentPageId(),
"lm");
1164 $rating_gui->setYourRatingText($this->
lng->txt(
"lm_rate_page"));
1167 $this->tpl->addOnLoadCode(
"il.LearningModule.setRatingUrl('" .
1168 $this->
ctrl->getLinkTarget($this,
"updatePageRating",
"",
true,
false) .
1170 $this->
ctrl->setParameter($this,
"pg_id",
"");
1172 $rating =
'<div id="ilrtrpg" style="text-align:right">' .
1173 $rating_gui->getHTML(
true,
true,
"il.LearningModule.saveRating(%rating%);") .
1182 $pg_id = $this->service->getRequest()->getPgId();
1183 if (!$this->
ctrl->isAsynch() || !$pg_id) {
1187 $rating = $this->service->getRequest()->getRating();
1208 $rating->setObject($this->lm->getId(),
"lm", $pg_id,
"lm");
1209 $rating->setYourRatingText($this->
lng->txt(
"lm_rate_page"));
1211 echo $rating->getHTML(
true,
true,
"il.LearningModule.saveRating(%rating%);");
1213 echo $this->tpl->getOnLoadCodeForAsynch();
1220 $this->content_style_domain->getEffectiveStyleId()
1224 $this->fill_on_load_code =
true;
1228 $this->fill_on_load_code =
false;
1235 "sourcecodeDownload",
1236 $this->getCurrentPageId()
1239 $this->
ctrl->setParameter($this,
"obj_id", $this->requested_obj_id);
1254 $term_gui->setPageLinker($this->linker);
1258 $ilCtrl->setParameter($this,
"pg_type",
"glo");
1260 $term_gui->output($this->
offlineMode(), $this->tpl);
1263 $ilCtrl->setParameter($this,
"pg_type",
"");
1274 $this->tpl->setCurrentBlock(
"ilMedia");
1276 $link_xml = $this->linker->getLinkXML($med_links);
1279 if (!empty($this->requested_pg_id)) {
1280 $pg_obj = $this->
getLMPage($this->requested_pg_id, $this->requested_pg_type);
1281 $pg_obj->buildDom();
1286 $xml .= $pg_obj->getMediaAliasElement($this->requested_mob_id);
1303 $mode = ($this->requested_cmd ==
"fullscreen")
1308 $this->linker->getLink(
"fullscreen");
1309 $params = array(
'mode' => $mode,
1310 'enlarge_path' => $enlarge_path,
1311 'link_params' =>
"ref_id=" . $this->lm->getRefId(),
1312 'fullscreen_link' => $fullscreen_link,
1314 'ref_id' => $this->lm->getRefId(),
1315 'pg_frame' => $pg_frame,
1316 'webspace_path' => $wb_path
1318 $output = $this->xsl->process($xml,
$params);
1321 $this->tpl->setVariable(
"MEDIA_CONTENT", $output);
1328 string $a_inline =
"",
1329 string $a_file =
"",
1330 string $a_location =
"" 1332 if ($a_inline !=
"") {
1333 $js_tpl =
new ilTemplate($a_inline,
true,
false, $a_location);
1334 $js = $js_tpl->get();
1335 $this->tpl->setVariable(
"INLINE_JS", $js);
1346 $this->
ctrl->setCmd(
"showSummary");
1347 $this->
ctrl->setCmdClass(
"ilinfoscreengui");
1360 string $a_active_tab =
"info" 1367 $this->tpl->loadStandardTemplate();
1374 if ($ilAccess->checkAccess(
"read",
"", $this->requested_ref_id)) {
1377 $ilLocator->addRepositoryItems();
1378 $this->tpl->setLocator();
1389 if (!$this->lm->isInfoEnabled()) {
1395 $this->
lng->loadLanguageModule(
"meta");
1398 $info->enablePrivateNotes();
1400 $info->enableNews();
1401 if ($ilAccess->checkAccess(
"write",
"", $this->requested_ref_id)) {
1403 $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
1405 $info->enableNewsEditing();
1407 if ($enable_internal_rss) {
1408 $info->setBlockProperty(
"news",
"settings",
true);
1413 $info->addMetaDataSections($this->lm->getId(), 0, $this->lm->getType());
1415 $this->
lng->loadLanguageModule(
"copg");
1416 $est_reading_time = $this->reading_time_manager->getReadingTime($this->lm->getId());
1417 if (!is_null($est_reading_time)) {
1419 $this->
lng->txt(
"copg_est_reading_time"),
1420 sprintf($this->
lng->txt(
"copg_x_minutes"), $est_reading_time)
1425 $this->tpl->setContent($info->getHTML());
1426 return $this->tpl->get();
1429 $this->
ctrl->forwardCommand($info);
1431 $this->tpl->printToStdout();
1444 if (!$this->lm->isActivePrintView() || !$this->lm->isActiveLMMenu()) {
1451 $tpl =
new ilTemplate(
"tpl.lm_print_selection.html",
true,
true,
"Modules/LearningModule");
1453 $this->
ctrl->setParameterByClass(
"illmpresentationgui",
"obj_id", $this->requested_obj_id);
1456 $nodes = $this->lm_tree->getSubTree($this->lm_tree->getNodeData($this->lm_tree->getRootId()));
1461 foreach ($nodes as $node) {
1469 $this->lm->getType(),
1470 (bool) $this->lm_set->get(
"time_scheduled_page_activation")
1473 if ($node[
"type"] ==
"pg" &&
1482 switch ($node[
"type"]) {
1488 $this->lm->getPageHeader(),
1489 $this->lm->isActiveNumbering(),
1490 (bool) $this->lm_set->get(
"time_scheduled_page_activation"),
1497 $this->lm_gui->getObject()->getPublicAccessMode() ==
"selected") {
1500 $text .=
" (" . $this->
lng->txt(
"cont_no_access") .
")";
1504 $img_alt = $lng->
txt(
"icon") .
" " . $lng->
txt(
"pg");
1511 $img_alt = $lng->
txt(
"icon") .
" " . $lng->
txt(
"obj_lm");
1520 $this->lm->isActiveNumbering(),
1521 (bool) $this->lm_set->get(
"time_scheduled_page_activation"),
1527 $this->lm_gui->getObject()->getPublicAccessMode() ==
"selected") {
1530 $text .=
" (" . $this->
lng->txt(
"cont_no_access") .
")";
1534 $img_alt = $lng->
txt(
"icon") .
" " . $lng->
txt(
"st");
1539 $this->lm->getRefId(),
1543 $text .=
" (" . $this->
lng->txt(
"cont_no_access") .
")";
1546 $this->nl->addListNode(
1558 if ($this->requested_obj_id > 0 && !$this->lm_tree->isInTree($this->requested_obj_id)) {
1561 $this->requested_obj_id,
1562 $this->lm->getPageHeader(),
1563 $this->lm->isActiveNumbering(),
1564 (bool) $this->lm_set->get(
"time_scheduled_page_activation"),
1571 $this->lm_gui->getObject()->getPublicAccessMode() ==
"selected") {
1574 $text .=
" (" . $this->
lng->txt(
"cont_no_access") .
")";
1582 $this->nl->addListNode(
1593 $f = $this->
form->getHTMLAsync();
1597 $modal = $this->
ui->factory()->modal()->roundtrip(
1598 $this->
lng->txt(
"cont_print_view"),
1599 $this->
ui->factory()->legacy($tpl->
get())
1601 echo $this->
ui->renderer()->render($modal);
1612 if ($this->lm->getRestrictForwardNavigation()) {
1613 $nodes = array_filter($nodes,
function ($node) use ($tracker) {
1627 $this->
form->setForceTopButtons(
true);
1633 $radg->addOption($op1);
1635 $radg->addOption($op2);
1637 $radg->addOption($op3);
1641 $op3->addSubItem($nl);
1643 $this->
form->addItem($radg);
1645 $this->
form->addCommandButton(
"showPrintView", $lng->
txt(
"cont_show_print_view"));
1646 $this->
form->setOpenTag(
false);
1647 $this->
form->setCloseTag(
false);
1649 $this->
form->setTitle(
" ");
1650 $this->
form->setFormAction($ilCtrl->getFormAction($this));
1659 $header_page_content =
"";
1660 $footer_page_content =
"";
1661 $chapter_title =
"";
1662 $did_chap_page_header =
false;
1665 if (!$this->lm->isActivePrintView() || !$this->lm->isActiveLMMenu()) {
1673 $ilCtrl->getLinkTarget($this,
"layout")
1678 $sel_type = $this->service->getRequest()->getSelectedType();
1679 $sel_obj_ids = $this->service->getRequest()->getSelectedObjIds();
1680 if ($sel_type ==
"page") {
1681 if (!in_array($c_obj_id, $sel_obj_ids)) {
1682 $sel_obj_ids[] = $c_obj_id;
1685 if ($sel_type ==
"chapter" && $c_obj_id > 0) {
1686 $path = $this->lm_tree->getPathFull($c_obj_id);
1687 $chap_id =
$path[1][
"child"];
1689 $sel_obj_ids[] = $chap_id;
1696 $tpl =
new ilTemplate(
"tpl.lm_print_view.html",
true,
true,
"Modules/LearningModule");
1701 $nodes = $this->lm_tree->getSubTree($this->lm_tree->getNodeData($this->lm_tree->getRootId()));
1706 $glossary_links = array();
1707 $output_header =
false;
1708 $media_links = array();
1709 $last_page_title =
"";
1712 if ($this->lm->getFooterPage() > 0 && !$this->lm->getHideHeaderFooterPrint()) {
1714 $page_object_gui = $this->
getLMPageGUI($this->lm->getFooterPage());
1715 $page_object_gui->setStyleId(
1716 $this->content_style_domain->getEffectiveStyleId()
1720 $page_object_gui->setLinkFrame($this->requested_frame);
1721 $page_object_gui->setOutputMode(
"print");
1722 $page_object_gui->setPresentationTitle(
"");
1723 $page_object_gui->setFileDownloadLink(
"#");
1724 $page_object_gui->setFullscreenLink(
"#");
1725 $page_object_gui->setSourcecodeDownloadScript(
"#");
1726 $footer_page_content = $page_object_gui->showPage();
1729 if ($this->lm->getHeaderPage() > 0 && !$this->lm->getHideHeaderFooterPrint()) {
1731 $page_object_gui = $this->
getLMPageGUI($this->lm->getHeaderPage());
1732 $page_object_gui->setStyleId(
1733 $this->content_style_domain->getEffectiveStyleId()
1737 $page_object_gui->setLinkFrame($this->requested_frame);
1738 $page_object_gui->setOutputMode(
"print");
1739 $page_object_gui->setPresentationTitle(
"");
1740 $page_object_gui->setFileDownloadLink(
"#");
1741 $page_object_gui->setFullscreenLink(
"#");
1742 $page_object_gui->setSourcecodeDownloadScript(
"#");
1743 $header_page_content = $page_object_gui->showPage();
1748 if (count($sel_obj_ids) > 0) {
1749 foreach ($sel_obj_ids as $k) {
1750 if ($k > 0 && !$this->lm_tree->isInTree($k)) {
1752 $nodes[] = array(
"obj_id" => $k,
"type" =>
"pg",
"free" =>
true);
1757 $this->tpl->setOnScreenMessage(
'failure', $lng->
txt(
"cont_print_no_page_selected"),
true);
1758 $ilCtrl->redirect($this,
"showPrintViewSelection");
1761 foreach ($nodes as $node_key => $node) {
1765 $this->lm->getType(),
1766 (bool) $this->lm_set->get(
"time_scheduled_page_activation")
1768 if ($node[
"type"] ==
"pg" && !$active) {
1774 if ($node[
"depth"] <= $act_level) {
1775 if (in_array($node[
"obj_id"], $sel_obj_ids)) {
1776 $act_level = $node[
"depth"];
1783 if ($this->lm->getRestrictForwardNavigation()) {
1784 if ($this->
getTracker()->hasPredIncorrectAnswers($node[
"obj_id"])) {
1790 $this->lm->getRefId(),
1795 if ($node[
"type"] ==
"du") {
1796 $output_header =
true;
1800 if ($node[
"type"] ==
"st") {
1802 $this->lm_gui->getObject()->getPublicAccessMode() ==
"selected") {
1811 $chapter_title = $chap->_getPresentationTitle(
1814 $this->lm->isActiveNumbering(),
1815 (bool) $this->lm_set->get(
"time_scheduled_page_activation"),
1826 if ($nodes[$node_key + 1][
"type"] ==
"pg") {
1829 $header_page_content
1831 $did_chap_page_header =
true;
1841 if ($node[
"type"] ===
"pg") {
1843 $this->lm_gui->getObject()->getPublicAccessMode() ===
"selected") {
1852 $page_id = $node[
"obj_id"];
1854 $page_object = $page_object_gui->getPageObject();
1855 $page_object_gui->setStyleId(
1856 $this->content_style_domain->getEffectiveStyleId()
1861 $lm_pg_obj->setLMId($this->lm->getId());
1864 $page_object_gui->setLinkFrame($this->requested_frame);
1865 $page_object_gui->setOutputMode(
"print");
1866 $page_object_gui->setPresentationTitle(
"");
1871 $lm_pg_obj->getId(),
1872 $this->lm->getPageHeader(),
1873 $this->lm->isActiveNumbering(),
1874 (bool) $this->lm_set->get(
"time_scheduled_page_activation"),
1882 $page_title = trim(substr($page_title, 0, strrpos($page_title,
" ")));
1887 if ($this->lm->isActiveNumbering()) {
1888 $chapter_title = trim(substr(
1890 strpos($chapter_title,
" ")
1894 if ($page_title != $chapter_title && $page_title !== $last_page_title) {
1895 $page_object_gui->setPresentationTitle($page_title);
1897 $last_page_title = $page_title;
1901 $hcont = $header_page_content;
1902 $fcont = $footer_page_content;
1905 if ($did_chap_page_header) {
1908 if (($nodes[$node_key + 1][
"type"] ??
"") ==
"pg" &&
1909 !($nodes[$node_key + 1][
"depth"] <= $act_level
1910 && !in_array($nodes[$node_key + 1][
"obj_id"], $sel_obj_ids))) {
1915 $page_object_gui->setFileDownloadLink(
"#");
1916 $page_object_gui->setFullscreenLink(
"#");
1917 $page_object_gui->setSourcecodeDownloadScript(
"#");
1918 $page_content = $page_object_gui->showPage();
1922 $hcont . $page_content . $fcont
1927 $hcont . $page_content . $fcont .
"<br />" 1930 $chapter_title =
"";
1940 foreach ($int_links as
$key => $link) {
1941 if ($link[
"type"] ==
"git" &&
1942 ($link[
"inst"] ==
IL_INST_ID || $link[
"inst"] == 0)) {
1943 $glossary_links[
$key] = $link;
1945 if ($link[
"type"] ==
"mob" &&
1946 ($link[
"inst"] ==
IL_INST_ID || $link[
"inst"] == 0)) {
1948 $mob_links[
$key] = $link;
1958 $page_object->buildDom();
1959 $links = $page_object->getInternalLinks();
1960 $tf = $link[
"TargetFrame"] ??
"";
1961 foreach ($links as $link) {
1962 if ($link[
"Type"] ===
"MediaObject" 1964 && $tf !==
"None") {
1965 $media_links[] = $link;
1977 if (count($glossary_links) > 0 && !$this->lm->isActivePreventGlossaryAppendix()) {
1981 foreach ($glossary_links as
$key => $link) {
1983 $terms[$term .
":" .
$key] = array(
"key" =>
$key,
"link" => $link,
"term" => $term);
1988 foreach ($terms as $t) {
1995 $page_gui->setTemplateOutput(
false);
1996 $page_gui->setOutputMode(
"print");
1999 $page_gui->setFileDownloadLink(
"#");
2000 $page_gui->setFullscreenLink(
"#");
2001 $page_gui->setSourcecodeDownloadScript(
"#");
2002 $output = $page_gui->showPage();
2021 $annex_title = $this->
lng->txt(
"cont_annex") .
" " .
2022 chr(64 + $annex_cnt) .
": " . $this->
lng->txt(
"glo");
2026 $annexes[] = $annex_title;
2030 if (count($media_links) > 0) {
2031 foreach ($media_links as $media) {
2032 if (substr($media[
"Target"], 0, 4) ==
"il__") {
2033 $arr = explode(
"_", $media[
"Target"]);
2034 $id = $arr[count($arr) - 1];
2037 $med_item = $med_obj->getMediaItem(
"Standard");
2038 if (is_object($med_item)) {
2039 if (is_int(strpos($med_item->getFormat(),
"image"))) {
2043 if ($med_item->getLocationType() ==
"LocalFile") {
2047 "/" . $med_item->getLocation()
2052 $med_item->getLocation()
2056 if ($med_item->getCaption() !=
"") {
2057 $tpl->
setVariable(
"IMG_TITLE", $med_item->getCaption());
2059 $tpl->
setVariable(
"IMG_TITLE", $med_obj->getTitle());
2070 $annex_title = $this->
lng->txt(
"cont_annex") .
" " .
2071 chr(64 + $annex_cnt) .
": " . $this->
lng->txt(
"cont_ref_images");
2072 $tpl->
setVariable(
"TXT_REF_IMAGES", $annex_title);
2075 $annexes[] = $annex_title;
2079 if ($output_header) {
2082 if ($this->lm->getDescription() !=
"none") {
2083 $md =
new ilMD($this->lm->getId(), 0, $this->lm->getType());
2085 foreach ($md_gen->getDescriptionIds() as
$id) {
2086 $md_des = $md_gen->getDescription(
$id);
2087 $description = $md_des->getDescription();
2099 foreach ($nodes2 as $node2) {
2100 if ($node2[
"type"] ==
"st" 2102 $this->lm->getRefId(),
2106 for ($j = 1; $j < $node2[
"depth"]; $j++) {
2117 $this->lm->isActiveNumbering(),
2118 (bool) $this->lm_set->get(
"time_scheduled_page_activation"),
2129 foreach ($annexes as $annex) {
2147 $md =
new ilMD($this->lm->getId(), 0, $this->lm->getType());
2148 if (is_object(
$lifecycle = $md->getLifecycle())) {
2149 $sep = $author =
"";
2150 foreach (($ids =
$lifecycle->getContributeIds()) as $con_id) {
2151 $md_con =
$lifecycle->getContribute($con_id);
2152 if ($md_con->getRole() ==
"Author") {
2153 foreach ($ent_ids = $md_con->getEntityIds() as $ent_id) {
2154 $md_ent = $md_con->getEntity($ent_id);
2155 $author = $author . $sep . $md_ent->getEntity();
2160 if ($author !=
"") {
2161 $this->
lng->loadLanguageModule(
"meta");
2170 if (is_object($md_rights = $md->getRights())) {
2171 $copyright = $md_rights->getDescription();
2174 if ($copyright !=
"") {
2175 $this->
lng->loadLanguageModule(
"meta");
2177 $tpl->
setVariable(
"TXT_COPYRIGHT", $this->
lng->txt(
"meta_copyright"));
2182 $this->tpl->setContent($tpl->
get());
2183 $this->tpl->addOnLoadCode(
"il.Util.print();");
2184 $this->tpl->printToStdout();
2193 $page_gui->downloadFile();
2201 if (!$this->lm->isActiveDownloads() || !$this->lm->isActiveLMMenu()) {
2204 $tpl =
new ilTemplate(
"tpl.lm_download_list.html",
true,
true,
"Modules/LearningModule");
2207 $md =
new ilMD($this->lm->getId(), 0, $this->lm->getType());
2208 if (is_object($md_rights = $md->getRights())) {
2209 $copyright = $md_rights->getDescription();
2213 if ($copyright !=
"") {
2214 $this->
lng->loadLanguageModule(
"meta");
2216 $tpl->
setVariable(
"TXT_COPYRIGHT", $this->
lng->txt(
"meta_copyright"));
2223 $tpl->
setVariable(
"DOWNLOAD_TABLE", $download_table->getHTML());
2226 $modal = $this->
ui->factory()->modal()->roundtrip(
2227 $this->
lng->txt(
"download"),
2228 $this->
ui->factory()->legacy($tpl->
get())
2230 echo $this->
ui->renderer()->render($modal);
2239 if (!$this->lm->isActiveDownloads() || !$this->lm->isActiveLMMenu()) {
2244 $base_type = explode(
"_", $type);
2245 $base_type = $base_type[0];
2246 $file = $this->lm->getPublicExportFile($base_type);
2247 if ($this->lm->getPublicExportFile($base_type) !=
"") {
2248 $dir = $this->lm->getExportDirectory($type);
2249 if (is_file($dir .
"/" . $file)) {
2265 int $a_return_ref_id
2267 return "ilias.php?baseClass=ilLMPresentationGUI&ref_id=" . $a_ref_id .
"&obj_id=" . $a_obj_id .
"&focus_id=" .
2268 $a_obj_id .
"&focus_return=" . $a_return_ref_id;
2277 $tpl =
new ilTemplate(
"tpl.page_message_screen.html",
true,
true,
"Modules/LearningModule");
2278 $tpl->
setVariable(
"TXT_PAGE_NO_PUBLIC_ACCESS", $a_content);
2280 $this->tpl->setVariable(
"PAGE_CONTENT", $tpl->
get());
2311 return $this->
ctrl->getLinkTarget($this,
"");
2332 $directory = $this->
getOfflineDirectory() .
"/codefiles/" . $page_id .
"/" . $paragraph_id;
2334 $file = $directory .
"/" . $title;
2335 if (!($fp = fopen($file,
"w+"))) {
2336 die(
"<strong>Error</strong>: Could not open \"" . $file .
"\" for writing" .
2337 " in <strong>" . __FILE__ .
"</strong> on line <strong>" . __LINE__ .
"</strong><br />");
2352 $concrete_lang = $this->service->getPresentationStatus()->getConcreteLang();
2354 return new ilLMPageGUI($a_id, 0,
false, $this->lang, $concrete_lang);
2357 return new ilLMPageGUI($a_id, 0,
false, $this->ot->getFallbackLanguage(), $concrete_lang);
2359 return new ilLMPageGUI($a_id, 0,
false,
"", $concrete_lang);
2366 $type = ($a_type ==
"mep")
2374 $lang = $this->ot->getFallbackLanguage();
2382 return new ilLMPage($a_id, 0, $lang);
2391 $exp = $this->
ilTOC();
2393 echo $exp->getHTML() .
2394 "<script>" . $exp->getOnLoadCode() .
"</script>";
2409 $note = $this->notes->getById($a_note_id);
2410 $text = $note->getText();
2420 $notification->send();
2426 int $current_page_id
2429 $menu_editor->setObjId($this->lm->getId());
2438 $this->export_all_languages,
2448 function ($additional_content) {
2452 $navigation_renderer->
render();
2461 switch ($pars[
"cmd"]) {
2463 $tpl =
new ilTemplate(
"tpl.embedded_view.html",
true,
true,
"Modules/LearningModule");
printToStdout(string $part=self::DEFAULT_BLOCK, bool $has_tabs=true, bool $skip_main_menu=false)
static getWebspaceDir(string $mode="filesystem")
get webspace directory
showMessageScreen(string $a_content)
determineLayout()
Determine layout.
static _lookupActive(int $a_id, string $a_parent_type, bool $a_check_scheduled_activation=false, string $a_lang="-")
lookup activation status
bool $chapter_has_no_active_page
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _getPresentationTitle(int $a_st_id, string $a_mode=self::CHAPTER_TITLE, bool $a_include_numbers=false, bool $a_time_scheduled_activation=false, bool $a_force_content=false, int $a_lm_id=0, string $a_lang="-", bool $a_include_short=false)
static _getTargetsOfSource(string $a_source_type, int $a_source_id, string $a_source_lang="-")
Get all targets of a source object (e.g., a page)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _isPagePublic(int $a_node_id, bool $a_check_public_mode=false)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
bool $export_all_languages
static getContentPrintStyle()
array $additional_content
downloadFile()
download file of file lists
ilLMPresentationService $service
static _parseCopyright(string $a_copyright)
Returns an empty string if copyright selection is not active, regardless of input.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
ilObjLearningModuleGUI $lm_gui
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getHeaderAction(bool $a_redraw=false)
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
special template class to simplify handling of ITX/PEAR
getSafePostCommands()
This method must return a list of safe POST commands.
setOutputMode(string $a_mode=self::PRESENTATION)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
if(! $DIC->user() ->getId()||!ilLTIConsumerAccess::hasCustomProviderCreationAccess()) $params
hasPredIncorrectAnswers(int $a_obj_id, bool $a_ignore_unlock=false)
Has predecessing incorrect answers.
static prepareJsLinks(string $redraw_url, string $notes_url, string $tags_url, ilGlobalTemplateInterface $tpl=null)
Insert js/ajax links into template.
ILIAS Style Content Service $cs
showDownloadList()
show download list
static getImagePath(string $img, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
setSystemStyle()
Set system style.
static getInstance(ilObjLearningModule $a_content_obj, int $a_id=0, bool $a_halt=true)
ILIAS GlobalScreen Services $global_screen
showNavRestrictionDueToQuestions()
Show message if navigation to page is not allowed due to unanswered questions.
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
ILIAS COPage Xsl XslManager $xsl
ILIAS Notes DomainService $notes
printToString()
Use this method to get the finally rendered page as string.
loadLanguageModule(string $a_module)
Load language module.
ILIAS COPage Dom DomUtil $dom_util
setOfflineDirectory(string $offdir)
setVariable(string $variable, $value='')
Sets the given variable to the given value.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
attrib2arr(?DOMNamedNodeMap $a_attributes)
handleCodeParagraph(int $page_id, int $paragraph_id, string $title, string $text)
store paragraph into file directory files/codefile_$pg_id_$paragraph_id/downloadtitle ...
static getStyleSheetLocation(string $mode="output", string $a_css_name="", string $a_css_location="")
get full style sheet file name (path inclusive) of current user
static makeDirParents(string $a_dir)
Create a new directory and all parent directories.
initScreenHead(string $a_active_tab="info")
ilNavigationHistory $nav_history
ILIAS Style Content GUIService $content_style_gui
static resetRatingForUserAndObject(int $a_obj_id, string $a_obj_type, int $a_sub_obj_id, string $a_sub_obj_type, int $a_user_id)
Reset rating for a user and an object.
showInfoScreen()
info screen call from inside learning module
setStyleId(int $a_styleid)
refreshToc()
Refresh toc (called if questions have been answered correctly)
ilLMSubMenu()
output learning module submenu
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
string $requested_focus_return
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
string $requested_obj_type
static deliverFileLegacy(string $a_file, ?string $a_filename=null, ?string $a_mime=null, ?bool $isInline=false, ?bool $removeAfterDelivery=false, ?bool $a_exit_after=true)
static writeRatingForUserAndObject(int $a_obj_id, string $a_obj_type, ?int $a_sub_obj_id, ?string $a_sub_obj_type, int $a_user_id, int $a_rating, int $a_category_id=0)
Write rating for a user and an object.
Interface ilCtrlBaseClassInterface describes ilCtrl base classes.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getSourcecodeDownloadLink()
static addJavaScript(ilGlobalTemplate $main_tpl=null)
Add javascript files that are necessary to run accordion.
getCurrentFrameSet()
get frames of current frame set
checkAccess(string $a_operations, int $a_ref_id, string $a_type="")
checkAccess represents the main method of the RBAC-system in ILIAS3 developers want to use With this ...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
initByRequest(?array $query_params=null, bool $embed_mode=false)
Init services and this class by request params.
getLMPage(int $a_id, string $a_type="")
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static addCss()
Add required css.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static setNotification(int $type, int $user_id, int $id, bool $status=true)
Set notification status for object and user.
static _checkPreconditionsOfPage(int $cont_ref_id, int $cont_obj_id, int $page_id)
checks whether the preconditions of a page are fulfilled or not
static _exists(string $a_parent_type, int $a_id, string $a_lang="", bool $a_no_cache=false)
Checks whether page exists.
observeNoteAction(int $a_lm_id, int $a_page_id, string $a_type, string $a_action, int $a_note_id)
Generate new ilNote and send Notifications to the users informing that there are new comments in the ...
layout(string $a_xml="main.xml", bool $doShow=true)
filterNonAccessibleNode(array $nodes)
Extension of ilPageObjectGUI for learning modules.
Class ilPageObject Handles PageObjects of ILIAS Learning Modules (see ILIAS DTD)
static _lookGlossaryTerm(int $term_id)
get glossary term
static getInstance(int $obj_id)
setBackTarget(string $a_title, string $a_target, string $a_frame="")
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
__construct(string $a_export_format="", bool $a_all_languages=false, string $a_export_dir="", bool $claim_repo_context=true, array $query_params=null, bool $embed_mode=false)
offlineMode()
checks whether offline content generation is activated
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
downloadExportFile()
send download file (xml/html)
ilLMPresentationLinker $linker
string $requested_search_string
static initjQueryUI(ilGlobalTemplateInterface $a_tpl=null)
inits and adds the jQuery-UI JS-File to the global template (see included_components.txt for included components)
setFullscreenLink(string $a_fullscreen_link)
ilJavaScript(string $a_inline="", string $a_file="", string $a_location="")
getCurrentPageId()
Get the current page id.
setSourcecodeDownloadScript(string $script_name)
static getSyntaxStylePath()
showPrintViewSelection()
show selection screen for print view
ILIAS Notes GUIService $notes_gui
Last visited history for repository items.
getFocusLink(int $a_ref_id, int $a_obj_id, int $a_return_ref_id)
Get focused link (used in learning objectives courses)
ILIAS LearningModule ReadingTime ReadingTimeManager $reading_time_manager
nop()
this dummy function is needed for offline package creation
setCurrentBlock(string $part=self::DEFAULT_BLOCK)
Sets the template to the given block.
basicPageGuiInit(\ilPageObjectGUI $a_page_gui)
string $requested_pg_type
string $offline_directory
setFileDownloadLink(string $a_download_link)
static init(ilGlobalTemplateInterface $template=null)
showNoPageAccess()
Show info message, if page is not accessible in public area.
getUnsafeGetCommands()
This method must return a list of unsafe GET commands.
static _exists(int $a_id)
checks wether a lm content object with specified id exists or not
form( $class_path, string $cmd, string $submit_caption="")
showNoPublicAccess()
Show info message, if page is not accessible in public area.
getContent(bool $skip_nav=false)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
renderTabs(string $active_tab, int $current_page_id)
static initjQuery(ilGlobalTemplateInterface $a_tpl=null)
inits and adds the jQuery JS-File to the global or a passed template
static _getPresentationTitle(int $a_pg_id, string $a_mode=self::CHAPTER_TITLE, bool $a_include_numbers=false, bool $a_time_scheduled_activation=false, bool $a_force_content=false, int $a_lm_id=0, string $a_lang="-", bool $a_include_short=false)
presentation title doesn't have to be page title, it may be chapter title + page title or chapter tit...
getHTML(array $pars)
Get HTML (called by kiosk mode through ilCtrl)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
ilGlobalTemplateInterface $tpl
const LP_CONTEXT_REPOSITORY
static shortenTextExtended(string $a_str, int $a_len, bool $a_dots=false, bool $a_next_blank=false, bool $a_keep_extension=false)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _lookupType(int $a_obj_id, int $a_lm_id=0)
ILIAS Style Content Object ObjectFacade $content_style_domain
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
infoScreen()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually...
static hasNotification(int $type, int $user_id, int $id)
Check notification status for object and user.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getOnLoadCodeForAsynch()
Get js onload code for ajax calls.
outputInfoScreen()
info screen
ilLMNotes()
output notes of page
setSubObject(?string $sub_obj_type, ?int $sub_obj_id)
Set sub object attributes.
parseCurrentBlock(string $block_name=self::DEFAULT_BLOCK)
Parses the given block.
Interface ilCtrlSecurityInterface provides ilCtrl security information.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static initConnection(?ilGlobalTemplateInterface $a_main_tpl=null)
Init YUI Connection module.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setContentStyles()
Set content style.
initPrintViewSelectionForm()
Main service init and factory.
injectTemplate(ilGlobalTemplateInterface $tpl)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static sortArray(array $array, string $a_array_sortby_key, string $a_array_sortorder="asc", bool $a_numeric=false, bool $a_keep_keys=false)
static hasOptOut(int $obj_id)
Is opt out (disable notification) allowed?
string $requested_back_pg
int $requested_notification_switch