33     protected \ILIAS\COPage\Xsl\XslManager 
$xsl;
    36     protected \ILIAS\Notes\DomainService 
$notes;
    83     protected \ILIAS\DI\UIServices 
$ui;
    98         string $a_export_format = 
"",
    99         bool $a_all_languages = 
false,
   100         string $a_export_dir = 
"",
   101         bool $claim_repo_context = 
true,
   102         array $query_params = null,
   103         bool $embed_mode = 
false   107         $this->offline = ($a_export_format != 
"");
   108         $this->export_all_languages = $a_all_languages;
   109         $this->export_format = $a_export_format;        
   110         $this->offline_directory = $a_export_dir;
   112         $this->
tabs = $DIC->tabs();
   113         $this->
toolbar = $DIC->toolbar();
   114         $this->
user = $DIC->user();
   115         $this->rbacsystem = $DIC->rbac()->system();
   116         $this->nav_history = $DIC[
"ilNavigationHistory"];
   117         $this->
access = $DIC->access();
   119         $this->
locator = $DIC[
"ilLocator"];
   120         $this->tree = $DIC->repositoryTree();
   121         $this->
help = $DIC[
"ilHelp"];
   122         $this->global_screen = $DIC->globalScreen();
   123         $this->lom_services = $DIC->learningObjectMetadata();
   125         $lng = $DIC->language();
   126         $rbacsystem = $DIC->rbac()->system();
   127         $ilCtrl = $DIC->ctrl();
   134         $this->
ui = $DIC->ui();
   135         $this->tpl = $DIC->ui()->mainTemplate();
   136         $this->frames = array();
   137         $this->
ctrl = $ilCtrl;
   138         $this->
ctrl->saveParameter($this, array(
"ref_id", 
"transl", 
"focus_id", 
"focus_return"));
   140         $this->cs = $DIC->contentStyle();
   145         if (!$rbacsystem->
checkAccess(
"write", $this->requested_ref_id)) {
   146             if ($this->lm->getOfflineStatus()) {
   151         if ($claim_repo_context) {
   152             $DIC->globalScreen()->tool()->context()->claim()->repository();
   155         if (!$ilCtrl->isAsynch()) {
   158                 if ($this->service->getPresentationStatus()->isTocNecessary()) {
   159                     $DIC->globalScreen()->tool()->context()->current()->addAdditionalData(
   165             $DIC->globalScreen()->tool()->context()->current()->addAdditionalData(
   172             $ilCtrl->setParameter($this, 
"embed_mode", 1);
   175                 "ref_id" => $this->lm->getRefId(),
   178             $DIC->globalScreen()->tool()->context()->current()->addAdditionalData(
   183         $this->reading_time_manager = new \ILIAS\LearningModule\ReadingTime\ReadingTimeManager();
   184         $this->notes = $DIC->notes()->domain();
   185         $this->xsl = $DIC->copage()->internal()->domain()->xsl();
   186         $this->dom_util = $DIC->copage()->internal()->domain()->domUtil();
   187         $this->notes_gui = $DIC->notes()->gui();
   209         ?array $query_params = null,
   210         bool $embed_mode = 
false   218             $this->export_all_languages,
   219             $this->export_format,
   224         $post = is_null($query_params)
   228         $request = $DIC->learningModule()
   237         $this->requested_obj_type = $request->getObjType();
   238         $this->requested_ref_id = $request->getRefId();
   239         $this->requested_transl = $request->getTranslation();      
   240         $this->requested_obj_id = $request->getObjId();            
   241         $this->requested_back_pg = $request->getBackPage();
   242         $this->requested_frame = $request->getFrame();
   243         $this->requested_search_string = $request->getSearchString();
   244         $this->requested_focus_return = $request->getFocusReturn();
   245         $this->requested_mob_id = $request->getMobId();
   246         $this->requested_cmd = $request->getCmd();
   247         $this->requested_pg_id = $request->getPgId();
   248         $this->requested_pg_type = $request->getPgType();
   249         $this->requested_notification_switch = $request->getNotificationSwitch();
   250         $this->requested_type = $request->getType();
   251         $this->requested_url = $request->getUrl();
   253         $this->lm_set = $this->service->getSettings();
   254         $this->lm_gui = $this->service->getLearningModuleGUI();
   255         $this->lm = $this->service->getLearningModule();
   256         $this->tracker = $this->service->getTracker();
   257         $this->linker = $this->service->getLinker();
   259         if ($request->getEmbedMode()) {
   260             $this->embed_mode = 
true;
   264         $this->lang = $this->service->getPresentationStatus()->getLang();
   266         $this->lm_tree = $this->service->getLMTree();
   267         $this->focus_id = $this->service->getPresentationStatus()->getFocusId();
   269         $this->content_style_gui = $this->cs->gui();
   270         $this->content_style_domain = $this->cs->domain()->styleForRefId($this->lm->getRefId());
   285         return $this->service->getTracker();
   303         if (!$ilAccess->checkAccess(
"read", 
"", $this->requested_ref_id) &&
   304             (!(($this->
ctrl->getCmd() == 
"infoScreen" || $this->
ctrl->getNextClass() == 
"ilinfoscreengui")
   305                 && $ilAccess->checkAccess(
"visible", 
"", $this->requested_ref_id)))) {
   309         $next_class = $this->
ctrl->getNextClass($this);
   310         $cmd = $this->
ctrl->getCmd(
"layout");
   313         $this->
ctrl->setParameter($this, 
"obj_id", $this->requested_obj_id);
   314         $ilNavigationHistory->addItem($this->requested_ref_id, $this->
ctrl->getLinkTarget($this), 
"lm");
   315         $this->
ctrl->setParameter($this, 
"obj_id", $obj_id);
   317         switch ($next_class) {
   322             case "ilinfoscreengui":
   326             case "ilcommonactiondispatchergui":
   328                 $gui->enableCommentsSettings(
false);
   329                 $this->
ctrl->forwardCommand($gui);
   333                 $page_gui = $this->
getLMPageGUI($this->requested_obj_id);
   335                 $ret = $ilCtrl->forwardCommand($page_gui);
   338             case "ilassgenfeedbackpagegui":
   341                 $ret = $ilCtrl->forwardCommand($page_gui);
   344             case "ilglossarydefpagegui":
   349                 $ret = $ilCtrl->forwardCommand($page_gui);
   352             case "illearningprogressgui":
   356                     $this->requested_ref_id,
   359                 $this->
ctrl->forwardCommand($new_gui);
   362                 if ($this->
ctrl->getCmd() !== 
"editManual") {
   363                     $this->tpl->printToStdout();
   370                 $this->
ctrl->forwardCommand($rating_gui);
   374                 if ($this->requested_notification_switch > 0) {
   375                     switch ($this->requested_notification_switch) {
   379                                 $this->
user->getId(),
   388                                 $this->
user->getId(),
   397                                 $this->
user->getId(),
   406                                 $this->
user->getId(),
   412                     $ilCtrl->redirect($this, 
"layout");
   414                 $ret = $this->$cmd();
   435     public function nop(): void
   439     public function attrib2arr(?DOMNamedNodeMap $a_attributes): array
   442         if (!is_null($a_attributes)) {
   443             foreach ($a_attributes as $attribute) {
   444                 $attr[$attribute->name] = $attribute->value;
   475         string $a_xml = 
"main.xml",
   486         $xmlfile = file_get_contents(ILIAS_ABSOLUTE_PATH . 
"/components/ILIAS/LearningModule/layouts/lm/" . $layout . 
"/" . $a_xml);
   489         $doc = $this->dom_util->docFromString($xmlfile, $error);
   490         $this->layout_doc = $doc;
   493         $path = (empty($this->requested_frame) || ($this->requested_frame == 
"_blank"))
   494             ? 
"/ilLayout/ilFrame[1]"   495             : 
"//ilFrame[@name='" . $this->requested_frame . 
"']";
   496         $nodes = $this->dom_util->path($doc, 
$path);
   497         if (count($nodes) != 1) {
   499                 " path " . 
$path . 
" in " . $layout . 
"/" . $a_xml . 
". LM Layout is " . $this->lm->getLayout());
   501         $node = $nodes->item(0);
   505         $attributes = $this->
attrib2arr($node->attributes);
   507         $this->frames = array();
   510         if ((empty($attributes[
"template"]) || !empty($this->requested_obj_type))
   511             && ($this->requested_frame != 
"_blank" || $this->requested_obj_type != 
"MediaObject")) {
   517             if (empty($this->requested_obj_type)) {
   518                 $obj_type = 
"PageObject";
   525             foreach ($node->childNodes as $child) {
   526                 if ($child->nodeName == $obj_type) {
   528                     $attributes = $this->
attrib2arr($child->attributes);
   536                     $this->requested_frame . 
"' and object type '" . $obj_type . 
"'.");
   544             $style_name = $ilUser->getPref(
"style") . 
".css";
   545             $this->tpl->setVariable(
"LOCATION_STYLESHEET", 
"./style/" . $style_name);
   551         foreach ($node->childNodes as $child) {
   552             $child_attr = $this->
attrib2arr($child->attributes);
   554             switch ($child->nodeName) {
   562                     $additional = $this->
ui->renderer()->render($this->additional_content);
   563                     $this->tpl->setContent($content . $additional);
   570                 case "ilLMNavigation":
   585                         $child_attr[
"inline"],
   587                         $child_attr[
"location"]
   630             $this->tpl->addJavaScript(
"assets/js/LearningModule.js");
   633             if ($this->requested_frame == 
"") {
   635                 $last_frame_url = $store->get(
"cf_" . $this->lm->getId());
   636                 if ($last_frame_url != 
"") {
   637                     $this->tpl->addOnLoadCode(
"il.LearningModule.setLastFrameUrl('" . $last_frame_url . 
"', 'center_bottom');");
   640                 $this->tpl->addOnLoadCode(
"il.LearningModule.setSaveUrl('" .
   641                     $this->
ctrl->getLinkTarget($this, 
"saveFrameUrl", 
"", 
false, 
false) . 
"');   642                         il.LearningModule.openInitFrames();   645                 $this->tpl->addOnLoadCode(
"il.LearningModule.setTocRefreshUrl('" .
   646                     $this->
ctrl->getLinkTarget($this, 
"refreshToc", 
"", 
false, 
false) . 
"');   664         return $this->
media();
   669         $this->tpl = 
new ilGlobalTemplate(
"tpl.fullscreen.html", 
true, 
true, 
"components/ILIAS/LearningModule");
   677             $this->tpl->printToStdout();
   679             return $this->tpl->printToString();
   686         $this->tpl = 
new ilGlobalTemplate(
"tpl.glossary_term_output.html", 
true, 
true, 
"components/ILIAS/LearningModule");
   700         $js = $this->global_screen->layout()->meta()->getJs();
   701         foreach ($js->getItemsInOrderOfDelivery() as $item) {
   702             $this->tpl->addJavaScript($item->getContent());
   706             $this->tpl->printToStdout();
   708             return $this->tpl->printToString();
   717         $this->tpl = 
new ilGlobalTemplate(
"tpl.page_fullscreen.html", 
true, 
true, 
"components/ILIAS/LearningModule");
   727             $style_name = $ilUser->getPref(
"style") . 
".css";
   728             $this->tpl->setVariable(
"LOCATION_STYLESHEET", 
"./style/" . $style_name);
   733             $this->tpl->printToStdout();
   735             return $this->tpl->get();
   746         $exp = $fac->getExplorer($this->service, 
"ilTOC");
   747         $exp->handleCommand();
   753         return $this->service->getPresentationStatus()->getLMPresentationTitle();
   773         if ($this->
abstract) {
   778         $tpl_menu = 
new ilTemplate(
"tpl.lm_sub_menu.html", 
true, 
true, 
"components/ILIAS/LearningModule");
   787             if ($rbacsystem->
checkAccess(
"write", $this->requested_ref_id)) {
   788                 $tpl_menu->setCurrentBlock(
"edit_page");
   790                 $tpl_menu->setVariable(
   792                     ILIAS_HTTP_PATH . 
"/ilias.php?baseClass=ilLMEditorGUI&ref_id=" . $this->requested_ref_id .
   793                     "&obj_id=" . $page_id . 
"&to_page=1"   795                 $tpl_menu->setVariable(
"EDIT_TXT", $this->
lng->txt(
"edit_page"));
   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);
  1032             foreach (
$path as $key => $row) {
  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, 
"components/ILIAS/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->redirectByClass(ilInfoScreenGUI::class, 
"showSummary");
  1358         string $a_active_tab = 
"info"  1365         $this->tpl->loadStandardTemplate();
  1372         if ($ilAccess->checkAccess(
"read", 
"", $this->requested_ref_id)) {
  1375             $ilLocator->addRepositoryItems();
  1376             $this->tpl->setLocator();
  1387         if (!$this->lm->isInfoEnabled()) {
  1393         $this->
lng->loadLanguageModule(
"meta");
  1396         $info->enablePrivateNotes();
  1398         $info->enableNews();
  1399         if ($ilAccess->checkAccess(
"write", 
"", $this->requested_ref_id)) {
  1401             $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
  1403             $info->enableNewsEditing();
  1405             if ($enable_internal_rss) {
  1406                 $info->setBlockProperty(
"news", 
"settings", 
true);
  1411         $info->addMetaDataSections($this->lm->getId(), 0, $this->lm->getType());
  1413         $this->
lng->loadLanguageModule(
"copg");
  1414         $est_reading_time = $this->reading_time_manager->getReadingTime($this->lm->getId());
  1415         if (!is_null($est_reading_time)) {
  1417                 $this->
lng->txt(
"copg_est_reading_time"),
  1418                 sprintf($this->
lng->txt(
"copg_x_minutes"), $est_reading_time)
  1423             $this->tpl->setContent($info->getHTML());
  1424             return $this->tpl->get();
  1427             $this->
ctrl->forwardCommand($info);
  1429             $this->tpl->printToStdout();
  1442         if (!$this->lm->isActivePrintView() || !$this->lm->isActiveLMMenu()) {
  1449         $tpl = 
new ilTemplate(
"tpl.lm_print_selection.html", 
true, 
true, 
"components/ILIAS/LearningModule");
  1451         $this->
ctrl->setParameterByClass(
"illmpresentationgui", 
"obj_id", $this->requested_obj_id);
  1454         $nodes = $this->lm_tree->getSubTree($this->lm_tree->getNodeData($this->lm_tree->getRootId()));
  1459         foreach ($nodes as $node) {
  1467                 $this->lm->getType(),
  1468                 (bool) $this->lm_set->get(
"time_scheduled_page_activation")
  1471             if ($node[
"type"] == 
"pg" &&
  1480             switch ($node[
"type"]) {
  1486                             $this->lm->getPageHeader(),
  1487                             $this->lm->isActiveNumbering(),
  1488                             (bool) $this->lm_set->get(
"time_scheduled_page_activation"),
  1495                     $img_alt = $lng->
txt(
"icon") . 
" " . $lng->
txt(
"pg");
  1502                     $img_alt = $lng->
txt(
"icon") . 
" " . $lng->
txt(
"obj_lm");
  1511                             $this->lm->isActiveNumbering(),
  1512                             (bool) $this->lm_set->get(
"time_scheduled_page_activation"),
  1518                     $img_alt = $lng->
txt(
"icon") . 
" " . $lng->
txt(
"st");
  1523                 $this->lm->getRefId(),
  1527                 $text .= 
" (" . $this->
lng->txt(
"cont_no_access") . 
")";
  1530             $this->nl->addListNode(
  1542         if ($this->requested_obj_id > 0 && !$this->lm_tree->isInTree($this->requested_obj_id)) {
  1545                     $this->requested_obj_id,
  1546                     $this->lm->getPageHeader(),
  1547                     $this->lm->isActiveNumbering(),
  1548                     (bool) $this->lm_set->get(
"time_scheduled_page_activation"),
  1559             $this->nl->addListNode(
  1570         $f = $this->
form->getHTMLAsync();
  1574         $modal = $this->
ui->factory()->modal()->roundtrip(
  1575             $this->
lng->txt(
"cont_print_view"),
  1576             $this->
ui->factory()->legacy($tpl->
get())
  1578         echo $this->
ui->renderer()->render($modal);
  1589             if ($this->lm->getRestrictForwardNavigation()) {
  1590                 $nodes = array_filter($nodes, 
function ($node) use ($tracker) {
  1604         $this->
form->setForceTopButtons(
true);
  1610         $radg->addOption($op1);
  1612         $radg->addOption($op2);
  1614         $radg->addOption($op3);
  1618         $op3->addSubItem($nl);
  1620         $this->
form->addItem($radg);
  1622         $this->
form->addCommandButton(
"showPrintView", $lng->
txt(
"cont_show_print_view"));
  1623         $this->
form->setOpenTag(
false);
  1624         $this->
form->setCloseTag(
false);
  1626         $this->
form->setTitle(
" ");
  1627         $this->
form->setFormAction($ilCtrl->getFormAction($this));
  1636         $header_page_content = 
"";
  1637         $footer_page_content = 
"";
  1638         $chapter_title = 
"";
  1639         $did_chap_page_header = 
false;
  1641         $lom_paths = $this->lom_services->paths();
  1642         $lom_data_helper = $this->lom_services->dataHelper();
  1643         $lom_cp_helper = $this->lom_services->copyrightHelper();
  1644         $lom_reader = $this->lom_services->read($this->lm->getId(), 0, $this->lm->getType());
  1646         if (!$this->lm->isActivePrintView() || !$this->lm->isActiveLMMenu()) {
  1654             $ilCtrl->getLinkTarget($this, 
"layout")
  1659         $sel_type = $this->service->getRequest()->getSelectedType();
  1660         $sel_obj_ids = $this->service->getRequest()->getSelectedObjIds();
  1661         if ($sel_type == 
"page") {
  1662             if (!in_array($c_obj_id, $sel_obj_ids)) {
  1663                 $sel_obj_ids[] = $c_obj_id;
  1666         if ($sel_type == 
"chapter" && $c_obj_id > 0) {
  1667             $path = $this->lm_tree->getPathFull($c_obj_id);
  1668             $chap_id = 
$path[1][
"child"];
  1670                 $sel_obj_ids[] = $chap_id;
  1677         $tpl = 
new ilTemplate(
"tpl.lm_print_view.html", 
true, 
true, 
"components/ILIAS/LearningModule");
  1682         $nodes = $this->lm_tree->getSubTree($this->lm_tree->getNodeData($this->lm_tree->getRootId()));
  1687         $glossary_links = array();
  1688         $output_header = 
false;
  1689         $media_links = array();
  1690         $last_page_title = 
"";
  1693         if ($this->lm->getFooterPage() > 0 && !$this->lm->getHideHeaderFooterPrint()) {
  1695                 $page_object_gui = $this->
getLMPageGUI($this->lm->getFooterPage());
  1696                 $page_object_gui->setStyleId(
  1697                     $this->content_style_domain->getEffectiveStyleId()
  1701                 $page_object_gui->setLinkFrame($this->requested_frame);
  1702                 $page_object_gui->setOutputMode(
"print");
  1703                 $page_object_gui->setPresentationTitle(
"");
  1704                 $page_object_gui->setFileDownloadLink(
"#");
  1705                 $page_object_gui->setFullscreenLink(
"#");
  1706                 $page_object_gui->setSourcecodeDownloadScript(
"#");
  1707                 $footer_page_content = $page_object_gui->showPage();
  1710         if ($this->lm->getHeaderPage() > 0 && !$this->lm->getHideHeaderFooterPrint()) {
  1712                 $page_object_gui = $this->
getLMPageGUI($this->lm->getHeaderPage());
  1713                 $page_object_gui->setStyleId(
  1714                     $this->content_style_domain->getEffectiveStyleId()
  1718                 $page_object_gui->setLinkFrame($this->requested_frame);
  1719                 $page_object_gui->setOutputMode(
"print");
  1720                 $page_object_gui->setPresentationTitle(
"");
  1721                 $page_object_gui->setFileDownloadLink(
"#");
  1722                 $page_object_gui->setFullscreenLink(
"#");
  1723                 $page_object_gui->setSourcecodeDownloadScript(
"#");
  1724                 $header_page_content = $page_object_gui->showPage();
  1729         if (count($sel_obj_ids) > 0) {
  1730             foreach ($sel_obj_ids as $k) {
  1731                 if ($k > 0 && !$this->lm_tree->isInTree($k)) {
  1733                         $nodes[] = array(
"obj_id" => $k, 
"type" => 
"pg", 
"free" => 
true);
  1738             $this->tpl->setOnScreenMessage(
'failure', $lng->
txt(
"cont_print_no_page_selected"), 
true);
  1739             $ilCtrl->redirect($this, 
"showPrintViewSelection");
  1742         foreach ($nodes as $node_key => $node) {
  1746                 $this->lm->getType(),
  1747                 (bool) $this->lm_set->get(
"time_scheduled_page_activation")
  1749             if ($node[
"type"] == 
"pg" && !$active) {
  1755             if ($node[
"depth"] <= $act_level) {
  1756                 if (in_array($node[
"obj_id"], $sel_obj_ids)) {
  1757                     $act_level = $node[
"depth"];
  1764             if ($this->lm->getRestrictForwardNavigation()) {
  1765                 if ($this->
getTracker()->hasPredIncorrectAnswers($node[
"obj_id"])) {
  1771                     $this->lm->getRefId(),
  1776                 if ($node[
"type"] == 
"du") {
  1777                     $output_header = 
true;
  1781                 if ($node[
"type"] == 
"st") {
  1786                     $chapter_title = $chap->_getPresentationTitle(
  1789                         $this->lm->isActiveNumbering(),
  1790                         (bool) $this->lm_set->get(
"time_scheduled_page_activation"),
  1801                         if ($nodes[$node_key + 1][
"type"] == 
"pg") {
  1804                                 $header_page_content
  1806                             $did_chap_page_header = 
true;
  1816                 if ($node[
"type"] === 
"pg") {
  1821                     $page_id = $node[
"obj_id"];
  1823                     $page_object = $page_object_gui->getPageObject();
  1824                     $page_object_gui->setStyleId(
  1825                         $this->content_style_domain->getEffectiveStyleId()
  1830                     $lm_pg_obj->setLMId($this->lm->getId());
  1833                     $page_object_gui->setLinkFrame($this->requested_frame);
  1834                     $page_object_gui->setOutputMode(
"print");
  1835                     $page_object_gui->setPresentationTitle(
"");
  1840                             $lm_pg_obj->getId(),
  1841                             $this->lm->getPageHeader(),
  1842                             $this->lm->isActiveNumbering(),
  1843                             (bool) $this->lm_set->get(
"time_scheduled_page_activation"),
  1851                             $page_title = trim(substr($page_title, 0, strrpos($page_title, 
" ")));
  1856                         if ($this->lm->isActiveNumbering()) {
  1857                             $chapter_title = trim(substr(
  1859                                 strpos($chapter_title, 
" ")
  1863                         if ($page_title != $chapter_title && $page_title !== $last_page_title) {
  1864                             $page_object_gui->setPresentationTitle($page_title);
  1866                         $last_page_title = $page_title;
  1870                     $hcont = $header_page_content;
  1871                     $fcont = $footer_page_content;
  1874                         if ($did_chap_page_header) {
  1877                         if (($nodes[$node_key + 1][
"type"] ?? 
"") == 
"pg" &&
  1878                             !($nodes[$node_key + 1][
"depth"] <= $act_level
  1879                                 && !in_array($nodes[$node_key + 1][
"obj_id"], $sel_obj_ids))) {
  1884                     $page_object_gui->setFileDownloadLink(
"#");
  1885                     $page_object_gui->setFullscreenLink(
"#");
  1886                     $page_object_gui->setSourcecodeDownloadScript(
"#");
  1887                     $page_content = $page_object_gui->showPage();
  1891                             $hcont . $page_content . $fcont
  1896                             $hcont . $page_content . $fcont . 
"<br />"  1899                     $chapter_title = 
"";
  1909                     foreach ($int_links as $key => $link) {
  1910                         if ($link[
"type"] == 
"git" &&
  1911                             ($link[
"inst"] == 
IL_INST_ID || $link[
"inst"] == 0)) {
  1912                             $glossary_links[$key] = $link;
  1914                         if ($link[
"type"] == 
"mob" &&
  1915                             ($link[
"inst"] == 
IL_INST_ID || $link[
"inst"] == 0)) {
  1917                             $mob_links[$key] = $link;
  1927                         $page_object->buildDom();
  1928                         $links = $page_object->getInternalLinks();
  1929                         $tf = $link[
"TargetFrame"] ?? 
"";
  1930                         foreach ($links as $link) {
  1931                             if ($link[
"Type"] === 
"MediaObject"  1933                                 && $tf !== 
"None") {
  1934                                 $media_links[] = $link;
  1946         if (count($glossary_links) > 0 && !$this->lm->isActivePreventGlossaryAppendix()) {
  1950             foreach ($glossary_links as $key => $link) {
  1952                 $terms[$term . 
":" . $key] = array(
"key" => $key, 
"link" => $link, 
"term" => $term);
  1957             foreach ($terms as $t) {
  1964                     $page_gui->setTemplateOutput(
false);
  1965                     $page_gui->setOutputMode(
"print");
  1968                     $page_gui->setFileDownloadLink(
"#");
  1969                     $page_gui->setFullscreenLink(
"#");
  1970                     $page_gui->setSourcecodeDownloadScript(
"#");
  1971                     $output = $page_gui->showPage();
  1990             $annex_title = $this->
lng->txt(
"cont_annex") . 
" " .
  1991                 chr(64 + $annex_cnt) . 
": " . $this->
lng->txt(
"glo");
  1995             $annexes[] = $annex_title;
  1999         if (count($media_links) > 0) {
  2000             foreach ($media_links as $media) {
  2001                 if (substr($media[
"Target"], 0, 4) == 
"il__") {
  2002                     $arr = explode(
"_", $media[
"Target"]);
  2003                     $id = $arr[count($arr) - 1];
  2006                     $med_item = $med_obj->getMediaItem(
"Standard");
  2007                     if (is_object($med_item)) {
  2008                         if (is_int(strpos($med_item->getFormat(), 
"image"))) {
  2012                             if ($med_item->getLocationType() == 
"LocalFile") {
  2016                                     "/" . $med_item->getLocation()
  2021                                     $med_item->getLocation()
  2025                             if ($med_item->getCaption() != 
"") {
  2026                                 $tpl->
setVariable(
"IMG_TITLE", $med_item->getCaption());
  2028                                 $tpl->
setVariable(
"IMG_TITLE", $med_obj->getTitle());
  2039             $annex_title = $this->
lng->txt(
"cont_annex") . 
" " .
  2040                 chr(64 + $annex_cnt) . 
": " . $this->
lng->txt(
"cont_ref_images");
  2041             $tpl->
setVariable(
"TXT_REF_IMAGES", $annex_title);
  2044             $annexes[] = $annex_title;
  2048         if ($output_header) {
  2051             if ($this->lm->getDescription() != 
"none") {
  2054                     $lom_reader->firstData($lom_paths->firstDescription())->value()
  2061             foreach ($nodes2 as $node2) {
  2062                 if ($node2[
"type"] == 
"st"  2064                         $this->lm->getRefId(),
  2068                     for ($j = 1; $j < $node2[
"depth"]; $j++) {
  2079                             $this->lm->isActiveNumbering(),
  2080                             (bool) $this->lm_set->get(
"time_scheduled_page_activation"),
  2091             foreach ($annexes as $annex) {
  2109         $authors = $lom_data_helper->makePresentableAsList(
  2111             ...$lom_reader->allData($lom_paths->authors())
  2113         if ($authors != 
"") {
  2114             $this->
lng->loadLanguageModule(
"meta");
  2122         if ($lom_cp_helper->hasPresetCopyright($lom_reader)) {
  2123             $copyright = $this->
ui->renderer()->render(
  2124                 $lom_cp_helper->readPresetCopyright($lom_reader)->presentAsUIComponents()
  2127             $copyright = $lom_cp_helper->readCustomCopyright($lom_reader);
  2129         if ($copyright != 
"") {
  2130             $this->
lng->loadLanguageModule(
"meta");
  2132             $tpl->
setVariable(
"TXT_COPYRIGHT", $this->
lng->txt(
"meta_copyright"));
  2136         $this->tpl->setContent($tpl->
get());
  2137         $this->tpl->addOnLoadCode(
"il.Util.print();");
  2138         $this->tpl->printToStdout();
  2147         $page_gui->downloadFile();
  2159         int $a_return_ref_id
  2161         return "ilias.php?baseClass=ilLMPresentationGUI&ref_id=" . $a_ref_id . 
"&obj_id=" . $a_obj_id . 
"&focus_id=" .
  2162             $a_obj_id . 
"&focus_return=" . $a_return_ref_id;
  2171         $tpl = 
new ilTemplate(
"tpl.page_message_screen.html", 
true, 
true, 
"components/ILIAS/LearningModule");
  2172         $tpl->
setVariable(
"TXT_PAGE_NO_PUBLIC_ACCESS", $a_content);
  2174         $this->tpl->setVariable(
"PAGE_CONTENT", $tpl->
get());
  2205             return $this->
ctrl->getLinkTarget($this, 
"");
  2226         $directory = $this->
getOfflineDirectory() . 
"/codefiles/" . $page_id . 
"/" . $paragraph_id;
  2228         $file = $directory . 
"/" . $title;
  2229         if (!($fp = fopen($file, 
"w+"))) {
  2230             die(
"<strong>Error</strong>: Could not open \"" . $file . 
"\" for writing" .
  2231                 " in <strong>" . __FILE__ . 
"</strong> on line <strong>" . __LINE__ . 
"</strong><br />");
  2246         $concrete_lang = $this->service->getPresentationStatus()->getConcreteLang();
  2248             return new ilLMPageGUI($a_id, 0, 
false, $this->lang, $concrete_lang);
  2251             return new ilLMPageGUI($a_id, 0, 
false, $this->ot->getFallbackLanguage(), $concrete_lang);
  2253         return new ilLMPageGUI($a_id, 0, 
false, 
"", $concrete_lang);
  2260         $type = ($a_type == 
"mep")
  2268                 $lang = $this->ot->getFallbackLanguage();
  2276                 return new ilLMPage($a_id, 0, $lang);
  2285         $exp = $this->
ilTOC();
  2287         echo $exp->getHTML() .
  2288             "<script>" . $exp->getOnLoadCode() . 
"</script>";
  2303         $note = $this->notes->getById($a_note_id);
  2304         $text = $note->getText();
  2314         $notification->send();
  2320         int $current_page_id
  2323         $menu_editor->setObjId($this->lm->getId());
  2332             $this->export_all_languages,
  2342             function ($additional_content) {
  2346         $navigation_renderer->
render();
  2355         switch ($pars[
"cmd"]) {
  2357                 $tpl = 
new ilTemplate(
"tpl.embedded_view.html", 
true, 
true, 
"components/ILIAS/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
 
static getStyleSheetLocation(string $mode="output", string $a_css_name="")
get full style sheet file name (path inclusive) of current user 
 
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...
 
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
 
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
 
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 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 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="")
 
__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...
 
static getImagePath(string $image_name, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory) 
 
ilLMPresentationLinker $linker
 
string $requested_search_string
 
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)
 
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...
 
LOMServices $lom_services
 
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) 
 
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins 
 
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...
 
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. 
 
Session based immediate storage. 
 
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...
 
Class ilCommonActionDispatcherGUI. 
 
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)
 
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