ILIAS  release_10 Revision v10.1-43-ga1241a92c2f
ilLMPresentationGUI Class Reference

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V. More...

+ Inheritance diagram for ilLMPresentationGUI:
+ Collaboration diagram for ilLMPresentationGUI:

Public Member Functions

 __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)
 
 getUnsafeGetCommands ()
 This method must return a list of unsafe GET commands. More...
 
 getSafePostCommands ()
 This method must return a list of safe POST commands. More...
 
 initByRequest (?array $query_params=null, bool $embed_mode=false)
 Init services and this class by request params. More...
 
 getService ()
 
 injectTemplate (ilGlobalTemplateInterface $tpl)
 
 executeCommand ()
 
 offlineMode ()
 checks whether offline content generation is activated More...
 
 getExportFormat ()
 
 nop ()
 this dummy function is needed for offline package creation More...
 
 attrib2arr (?DOMNamedNodeMap $a_attributes)
 
 getCurrentFrameSet ()
 get frames of current frame set More...
 
 determineLayout ()
 Determine layout. More...
 
 resume ()
 
 layout (string $a_xml="main.xml", bool $doShow=true)
 
 saveFrameUrl ()
 
 fullscreen ()
 
 media ()
 
 glossary ()
 
 page ()
 
 ilTOC ()
 table of contents More...
 
 getLMPresentationTitle ()
 
 ilLMMenu ()
 
 setHeader ()
 
 ilLMSubMenu ()
 output learning module submenu More...
 
 redrawHeaderAction ()
 
 addHeaderAction ()
 
 getHeaderAction (bool $a_redraw=false)
 
 ilLMNotes ()
 output notes of page More...
 
 ilLocator ()
 
 getCurrentPageId ()
 Get the current page id. More...
 
 getContent (bool $skip_nav=false)
 
 updatePageRating ()
 
 basicPageGuiInit (\ilPageObjectGUI $a_page_gui)
 
 ilGlossary ()
 
 ilMedia ()
 
 ilJavaScript (string $a_inline="", string $a_file="", string $a_location="")
 
 infoScreen ()
 this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually, if everything works through ilCtrl in the future this may be changed More...
 
 showInfoScreen ()
 info screen call from inside learning module More...
 
 outputInfoScreen ()
 info screen More...
 
 showPrintViewSelection ()
 show selection screen for print view More...
 
 initPrintViewSelectionForm ()
 
 showPrintView ()
 
 downloadFile ()
 download file of file lists More...
 
 getFocusLink (int $a_ref_id, int $a_obj_id, int $a_return_ref_id)
 Get focused link (used in learning objectives courses) More...
 
 showMessageScreen (string $a_content)
 
 showNoPublicAccess ()
 Show info message, if page is not accessible in public area. More...
 
 showNoPageAccess ()
 Show info message, if page is not accessible in public area. More...
 
 showNavRestrictionDueToQuestions ()
 Show message if navigation to page is not allowed due to unanswered questions. More...
 
 getSourcecodeDownloadLink ()
 
 getOfflineDirectory ()
 
 handleCodeParagraph (int $page_id, int $paragraph_id, string $title, string $text)
 store paragraph into file directory files/codefile_$pg_id_$paragraph_id/downloadtitle More...
 
 getLMPageGUI (int $a_id)
 
 getLMPage (int $a_id, string $a_type="")
 
 refreshToc ()
 Refresh toc (called if questions have been answered correctly) More...
 
 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 LM. More...
 
 getHTML (array $pars)
 Get HTML (called by kiosk mode through ilCtrl) More...
 

Data Fields

string $lang
 
ilGlobalTemplateInterface $tpl
 
ilLanguage $lng
 
DOMDocument $layout_doc
 
bool $offline
 
string $offline_directory
 
bool $chapter_has_no_active_page = false
 
bool $deactivated_page = false
 

Protected Member Functions

 getTracker ()
 
 addResourceFiles ()
 
 setContentStyles ()
 Set content style. More...
 
 setSystemStyle ()
 Set system style. More...
 
 getPageContent ()
 
 renderRating ()
 
 initScreenHead (string $a_active_tab="info")
 
 filterNonAccessibleNode (array $nodes)
 
 renderPageTitle ()
 
 renderTabs (string $active_tab, int $current_page_id)
 

Protected Attributes

ILIAS COPage Dom DomUtil $dom_util
 
ILIAS COPage Xsl XslManager $xsl
 
ILIAS Notes GUIService $notes_gui
 
ILIAS GlobalScreen Services $global_screen
 
ILIAS Notes DomainService $notes
 
ILIAS LearningModule ReadingTime ReadingTimeManager $reading_time_manager
 
string $requested_url
 
string $requested_type
 
ilLMTracker $tracker
 
ilTabsGUI $tabs
 
ilNestedListInputGUI $nl
 
ilSetting $lm_set
 
ilObjLearningModuleGUI $lm_gui
 
bool $fill_on_load_code
 
ilLMTree $lm_tree
 
array $frames
 
string $export_format
 
ilPropertyFormGUI $form
 
ilObjUser $user
 
ilRbacSystem $rbacsystem
 
ilCtrl $ctrl
 
ilNavigationHistory $nav_history
 
ilAccessHandler $access
 
ilSetting $settings
 
ilLocatorGUI $locator
 
ilTree $tree
 
ilHelpGUI $help
 
LOMServices $lom_services
 
ilObjLearningModule $lm
 
bool $embed_mode = false
 
int $current_page_id = 0
 
int $focus_id = 0
 
bool $export_all_languages = false
 
string $requested_back_pg
 
string $requested_search_string
 
string $requested_focus_return
 
int $requested_ref_id
 
int $requested_obj_id
 
string $requested_obj_type
 
string $requested_transl
 
string $requested_frame
 
ilLMPresentationLinker $linker
 
ilLMPresentationService $service
 
ILIAS DI UIServices $ui
 
ilToolbarGUI $toolbar
 
array $additional_content = []
 
string $requested_cmd = ""
 
int $requested_pg_id = 0
 
string $requested_pg_type = ""
 
int $requested_mob_id = 0
 
int $requested_notification_switch = 0
 
bool $abstract = false
 
ilObjectTranslation $ot
 
ILIAS Style Content Object ObjectFacade $content_style_domain
 
ILIAS Style Content GUIService $content_style_gui
 
ILIAS Style Content Service $cs = null
 

Detailed Description

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V.

ILIAS is licensed with the GPL-3.0, see https://www.gnu.org/licenses/gpl-3.0.en.html You should have received a copy of said license along with the source code, too.

If this is not the case or you just want to try ILIAS, you'll find us at: https://www.ilias.de https://github.com/ILIAS-eLearning Class ilLMPresentationGUI GUI class for learning module presentation

Author
Alexander Killing killi.nosp@m.ng@l.nosp@m.eifos.nosp@m..de ilLMPresentationGUI: ilCommentGUI, ilInfoScreenGUI ilLMPresentationGUI: ilLMPageGUI, ilGlossaryDefPageGUI, ilCommonActionDispatcherGUI ilLMPresentationGUI: ilLearningProgressGUI, ilAssGenFeedbackPageGUI ilLMPresentationGUI: ilRatingGUI

Definition at line 30 of file class.ilLMPresentationGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilLMPresentationGUI::__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 
)

Definition at line 97 of file class.ilLMPresentationGUI.php.

References $DIC, $ilErr, $lng, $params, $requested_obj_id, ILIAS\Repository\access(), ilRbacSystem\checkAccess(), ILIAS\Repository\ctrl(), ILIAS\Repository\help(), initByRequest(), ilLMGSToolProvider\LM_QUERY_PARAMS, ILIAS\Repository\lng(), ilLanguage\loadLanguageModule(), ILIAS\Repository\locator(), ILIAS\Repository\settings(), ilLMGSToolProvider\SHOW_LINK_SLATES, ilLMGSToolProvider\SHOW_TOC_TOOL, ILIAS\Repository\tabs(), ILIAS\Repository\toolbar(), ilLanguage\txt(), ILIAS\Repository\ui(), and ILIAS\Repository\user().

104  {
105  global $DIC;
106 
107  $this->offline = ($a_export_format != "");
108  $this->export_all_languages = $a_all_languages;
109  $this->export_format = $a_export_format; // html/scorm
110  $this->offline_directory = $a_export_dir;
111 
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();
118  $this->settings = $DIC->settings();
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();
124 
125  $lng = $DIC->language();
126  $rbacsystem = $DIC->rbac()->system();
127  $ilCtrl = $DIC->ctrl();
128  $ilErr = $DIC["ilErr"];
129 
130  // load language vars
131  $lng->loadLanguageModule("content");
132 
133  $this->lng = $lng;
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"));
139 
140  $this->cs = $DIC->contentStyle();
141 
142  $this->initByRequest($query_params, $embed_mode);
143 
144  // check, if learning module is online
145  if (!$rbacsystem->checkAccess("write", $this->requested_ref_id)) {
146  if ($this->lm->getOfflineStatus()) {
147  $ilErr->raiseError($lng->txt("permission_denied"), $ilErr->WARNING);
148  }
149  }
150 
151  if ($claim_repo_context) {
152  $DIC->globalScreen()->tool()->context()->claim()->repository();
153  }
154 
155  if (!$ilCtrl->isAsynch()) {
156  // moved this into the if due to #0027200
157  if (!$embed_mode) {
158  if ($this->service->getPresentationStatus()->isTocNecessary()) {
159  $DIC->globalScreen()->tool()->context()->current()->addAdditionalData(
161  true
162  );
163  }
164  }
165  $DIC->globalScreen()->tool()->context()->current()->addAdditionalData(
167  true
168  );
169  }
170 
171  if ($embed_mode) {
172  $ilCtrl->setParameter($this, "embed_mode", 1);
173  $params = [
174  "obj_id" => $this->requested_obj_id,
175  "ref_id" => $this->lm->getRefId(),
176  "frame" => ""
177  ];
178  $DIC->globalScreen()->tool()->context()->current()->addAdditionalData(
180  $params
181  );
182  }
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();
188  }
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...
if(! $DIC->user() ->getId()||!ilLTIConsumerAccess::hasCustomProviderCreationAccess()) $params
Definition: ltiregstart.php:31
loadLanguageModule(string $a_module)
Load language module.
$ilErr
Definition: raiseError.php:17
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 ...
initByRequest(?array $query_params=null, bool $embed_mode=false)
Init services and this class by request params.
global $DIC
Definition: shib_login.php:25
+ Here is the call graph for this function:

Member Function Documentation

◆ addHeaderAction()

ilLMPresentationGUI::addHeaderAction ( )

Definition at line 814 of file class.ilLMPresentationGUI.php.

References getHeaderAction().

Referenced by layout().

814  : void
815  {
816  //$this->tpl->setVariable("HEAD_ACTION", $this->getHeaderAction());
817  $this->tpl->setHeaderActionMenu($this->getHeaderAction());
818  }
getHeaderAction(bool $a_redraw=false)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addResourceFiles()

ilLMPresentationGUI::addResourceFiles ( )
protected

Definition at line 621 of file class.ilLMPresentationGUI.php.

References ilAccordionGUI\addCss(), ilAccordionGUI\addJavaScript(), ILIAS\Repository\ctrl(), ilYuiUtil\initConnection(), iljQueryUtil\initjQuery(), and offlineMode().

Referenced by getHTML(), and layout().

621  : void
622  {
623  iljQueryUtil::initjQuery($this->tpl);
624  //iljQueryUtil::initjQueryUI($this->tpl);
625 
626  if (!$this->offlineMode()) {
629 
630  $this->tpl->addJavaScript("assets/js/LearningModule.js");
631 
632  // handle initial content
633  if ($this->requested_frame == "") {
634  $store = new ilSessionIStorage("lm");
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');");
638  }
639 
640  $this->tpl->addOnLoadCode("il.LearningModule.setSaveUrl('" .
641  $this->ctrl->getLinkTarget($this, "saveFrameUrl", "", false, false) . "');
642  il.LearningModule.openInitFrames();
643  ");
644 
645  $this->tpl->addOnLoadCode("il.LearningModule.setTocRefreshUrl('" .
646  $this->ctrl->getLinkTarget($this, "refreshToc", "", false, false) . "');
647  ");
648  }
649 
650  // from main menu
651  // $this->tpl->addJavascript("assets/js/Basic.js");
652  ilYuiUtil::initConnection($this->tpl);
653  }
654  }
static addJavaScript(ilGlobalTemplate $main_tpl=null)
Add javascript files that are necessary to run accordion.
static addCss()
Add required css.
offlineMode()
checks whether offline content generation is activated
static initjQuery(ilGlobalTemplateInterface $a_tpl=null)
inits and adds the jQuery JS-File to the global or a passed template
Session based immediate storage.
static initConnection(?ilGlobalTemplateInterface $a_main_tpl=null)
Init YUI Connection module.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ attrib2arr()

ilLMPresentationGUI::attrib2arr ( ?DOMNamedNodeMap  $a_attributes)

Definition at line 439 of file class.ilLMPresentationGUI.php.

Referenced by layout().

439  : array
440  {
441  $attr = array();
442  if (!is_null($a_attributes)) {
443  foreach ($a_attributes as $attribute) {
444  $attr[$attribute->name] = $attribute->value;
445  }
446  }
447  return $attr;
448  }
+ Here is the caller graph for this function:

◆ basicPageGuiInit()

ilLMPresentationGUI::basicPageGuiInit ( \ilPageObjectGUI  $a_page_gui)

Definition at line 1217 of file class.ilLMPresentationGUI.php.

References ILIAS\Repository\ctrl(), getCurrentPageId(), getOfflineDirectory(), offlineMode(), ilPageObjectGUI\setFileDownloadLink(), ilPageObjectGUI\setFullscreenLink(), ilPageObjectGUI\setOfflineDirectory(), ilPageObjectGUI\setOutputMode(), ilPageObjectGUI\setSourcecodeDownloadScript(), and ilPageObjectGUI\setStyleId().

Referenced by executeCommand().

1217  : void
1218  {
1219  $a_page_gui->setStyleId(
1220  $this->content_style_domain->getEffectiveStyleId()
1221  );
1222  if (!$this->offlineMode()) {
1223  $a_page_gui->setOutputMode("presentation");
1224  $this->fill_on_load_code = true;
1225  } else {
1226  $a_page_gui->setOutputMode("offline");
1227  $a_page_gui->setOfflineDirectory($this->getOfflineDirectory());
1228  $this->fill_on_load_code = false;
1229  }
1230  if (!$this->offlineMode()) {
1231  $this->ctrl->setParameter($this, "obj_id", $this->getCurrentPageId()); // see #22403
1232  }
1233  $a_page_gui->setFileDownloadLink($this->linker->getLink("downloadFile"));
1234  $a_page_gui->setSourcecodeDownloadScript($this->linker->getLink(
1235  "sourcecodeDownload",
1236  $this->getCurrentPageId()
1237  ));
1238  if (!$this->offlineMode()) {
1239  $this->ctrl->setParameter($this, "obj_id", $this->requested_obj_id);
1240  }
1241  $a_page_gui->setFullscreenLink($this->linker->getLink("fullscreen"));
1242  $a_page_gui->setSourcecodeDownloadScript($this->linker->getLink("download_paragraph"));
1243  }
offlineMode()
checks whether offline content generation is activated
getCurrentPageId()
Get the current page id.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ determineLayout()

ilLMPresentationGUI::determineLayout ( )

Determine layout.

Definition at line 461 of file class.ilLMPresentationGUI.php.

Referenced by layout().

461  : string
462  {
463  return "standard";
464  }
+ Here is the caller graph for this function:

◆ downloadFile()

ilLMPresentationGUI::downloadFile ( )

download file of file lists

Definition at line 2144 of file class.ilLMPresentationGUI.php.

References getCurrentPageId(), and getLMPageGUI().

2144  : void
2145  {
2146  $page_gui = $this->getLMPageGUI($this->getCurrentPageId());
2147  $page_gui->downloadFile();
2148  }
getCurrentPageId()
Get the current page id.
+ Here is the call graph for this function:

◆ executeCommand()

ilLMPresentationGUI::executeCommand ( )
Exceptions
ilCtrlException
ilLMPresentationException
ilPermissionException

Definition at line 293 of file class.ilLMPresentationGUI.php.

References $access, $ctrl, $lng, $nav_history, $requested_obj_id, $user, basicPageGuiInit(), ILIAS\Repository\ctrl(), getCurrentPageId(), ilCommonActionDispatcherGUI\getInstanceFromAjaxCall(), getLMPageGUI(), initScreenHead(), layout(), ilLearningProgressBaseGUI\LP_CONTEXT_REPOSITORY, outputInfoScreen(), ilNotification\setNotification(), ilLanguage\txt(), ilNotification\TYPE_LM, ilNotification\TYPE_LM_PAGE, and ILIAS\Repository\user().

293  : void
294  {
295  $ilNavigationHistory = $this->nav_history;
296  $ilAccess = $this->access;
297  $lng = $this->lng;
298  $ilCtrl = $this->ctrl;
299  $ilUser = $this->user;
300 
301  // check read permission and parent conditions
302  // todo: replace all this by ilAccess call
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)))) {
306  throw new ilPermissionException($lng->txt("permission_denied"));
307  }
308 
309  $next_class = $this->ctrl->getNextClass($this);
310  $cmd = $this->ctrl->getCmd("layout");
311 
312  $obj_id = $this->requested_obj_id;
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);
316 
317  switch ($next_class) {
318  case "ilcommentgui":
319  $ret = $this->layout();
320  break;
321 
322  case "ilinfoscreengui":
323  $ret = $this->outputInfoScreen();
324  break;
325 
326  case "ilcommonactiondispatchergui":
328  $gui->enableCommentsSettings(false);
329  $this->ctrl->forwardCommand($gui);
330  break;
331 
332  case "illmpagegui":
333  $page_gui = $this->getLMPageGUI($this->requested_obj_id);
334  $this->basicPageGuiInit($page_gui);
335  $ret = $ilCtrl->forwardCommand($page_gui);
336  break;
337 
338  case "ilassgenfeedbackpagegui":
339  $page_gui = new ilAssGenFeedbackPageGUI($this->requested_pg_id);
340  //$this->basicPageGuiInit($page_gui);
341  $ret = $ilCtrl->forwardCommand($page_gui);
342  break;
343 
344  case "ilglossarydefpagegui":
345  // see #32198
346  //$page_gui = new ilGlossaryDefPageGUI($this->requested_obj_id);
347  $page_gui = new ilGlossaryDefPageGUI($this->requested_pg_id);
348  $this->basicPageGuiInit($page_gui);
349  $ret = $ilCtrl->forwardCommand($page_gui);
350  break;
351 
352  case "illearningprogressgui":
353  $this->initScreenHead("learning_progress");
354  $new_gui = new ilLearningProgressGUI(
356  $this->requested_ref_id,
357  $ilUser->getId()
358  );
359  $this->ctrl->forwardCommand($new_gui);
360  // this is nasty, but the LP classes do "sometimes" a printToStdout
361  // sometimes not, (here editManual does, other commands not)
362  if ($this->ctrl->getCmd() !== "editManual") {
363  $this->tpl->printToStdout();
364  }
365  break;
366 
367  case "ilratinggui":
368  $rating_gui = new ilRatingGUI();
369  $rating_gui->setObject($this->lm->getId(), "lm", $this->requested_obj_id, "lm");
370  $this->ctrl->forwardCommand($rating_gui);
371  break;
372 
373  default:
374  if ($this->requested_notification_switch > 0) {
375  switch ($this->requested_notification_switch) {
376  case 1:
379  $this->user->getId(),
380  $this->lm->getId(),
381  false
382  );
383  break;
384 
385  case 2:
388  $this->user->getId(),
389  $this->lm->getId(),
390  true
391  );
392  break;
393 
394  case 3:
397  $this->user->getId(),
398  $this->getCurrentPageId(),
399  false
400  );
401  break;
402 
403  case 4:
406  $this->user->getId(),
407  $this->getCurrentPageId(),
408  true
409  );
410  break;
411  }
412  $ilCtrl->redirect($this, "layout");
413  }
414  $ret = $this->$cmd();
415  break;
416  }
417  }
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...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
initScreenHead(string $a_active_tab="info")
ilNavigationHistory $nav_history
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 setNotification(int $type, int $user_id, int $id, bool $status=true)
Set notification status for object and user.
layout(string $a_xml="main.xml", bool $doShow=true)
getCurrentPageId()
Get the current page id.
basicPageGuiInit(\ilPageObjectGUI $a_page_gui)
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
+ Here is the call graph for this function:

◆ filterNonAccessibleNode()

ilLMPresentationGUI::filterNonAccessibleNode ( array  $nodes)
protected

Definition at line 1582 of file class.ilLMPresentationGUI.php.

References getTracker(), ilLMTracker\hasPredIncorrectAnswers(), and offlineMode().

Referenced by showPrintViewSelection().

1584  : array {
1585  $tracker = $this->getTracker();
1586  // if navigation is restricted based on correct answered questions
1587  // check if we have preceeding pages including unsanswered/incorrect answered questions
1588  if (!$this->offlineMode()) {
1589  if ($this->lm->getRestrictForwardNavigation()) {
1590  $nodes = array_filter($nodes, function ($node) use ($tracker) {
1591  return !$tracker->hasPredIncorrectAnswers($node["child"]);
1592  });
1593  }
1594  }
1595  return $nodes;
1596  }
hasPredIncorrectAnswers(int $a_obj_id, bool $a_ignore_unlock=false)
Has predecessing incorrect answers.
offlineMode()
checks whether offline content generation is activated
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fullscreen()

ilLMPresentationGUI::fullscreen ( )

Definition at line 662 of file class.ilLMPresentationGUI.php.

References media().

662  : string
663  {
664  return $this->media();
665  }
+ Here is the call graph for this function:

◆ getContent()

ilLMPresentationGUI::getContent ( bool  $skip_nav = false)

Definition at line 1109 of file class.ilLMPresentationGUI.php.

References ilGlobalTemplateInterface\get(), getPageContent(), ILIAS\Repository\lng(), renderRating(), setContentStyles(), ilGlobalTemplateInterface\setVariable(), ILIAS\Repository\toolbar(), ILIAS\Repository\ui(), and ILIAS\Repository\user().

Referenced by getHTML(), and layout().

1111  : string {
1112  $this->fill_on_load_code = true;
1113  $this->setContentStyles();
1114 
1115  $tpl = new ilTemplate("tpl.lm_content.html", true, true, "components/ILIAS/LearningModule/Presentation");
1116 
1117  if (!$skip_nav) {
1118  $navigation_renderer = new ilLMNavigationRendererGUI(
1119  $this->service,
1120  $this,
1121  $this->lng,
1122  $this->user,
1123  $this->tpl,
1124  $this->requested_obj_id,
1125  $this->requested_back_pg,
1126  $this->requested_frame,
1127  $this->toolbar,
1128  $this->ui
1129  );
1130 
1131  $navigation_renderer->renderTop();
1132  //$tpl->setVariable("TOP_NAVIGATION", $navigation_renderer->renderTop());
1133  //$tpl->setVariable("BOTTOM_NAVIGATION", $navigation_renderer->renderBottom());
1134  }
1135  $tpl->setVariable("PAGE_CONTENT", $this->getPageContent());
1136  $tpl->setVariable("RATING", $this->renderRating());
1137 
1138  return $tpl->get();
1139  }
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
ilGlobalTemplateInterface $tpl
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setContentStyles()
Set content style.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getCurrentFrameSet()

ilLMPresentationGUI::getCurrentFrameSet ( )

get frames of current frame set

Definition at line 453 of file class.ilLMPresentationGUI.php.

References $frames.

453  : array
454  {
455  return $this->frames;
456  }

◆ getCurrentPageId()

ilLMPresentationGUI::getCurrentPageId ( )

Get the current page id.

Definition at line 1083 of file class.ilLMPresentationGUI.php.

Referenced by basicPageGuiInit(), downloadFile(), executeCommand(), getHeaderAction(), ilLMMenu(), ilLMNotes(), ilLMSubMenu(), renderRating(), and showPrintView().

1083  : ?int
1084  {
1085  return $this->service->getNavigationStatus()->getCurrentPage();
1086  }
+ Here is the caller graph for this function:

◆ getExportFormat()

ilLMPresentationGUI::getExportFormat ( )

Definition at line 427 of file class.ilLMPresentationGUI.php.

References $export_format.

Referenced by renderTabs().

427  : string
428  {
429  return $this->export_format;
430  }
+ Here is the caller graph for this function:

◆ getFocusLink()

ilLMPresentationGUI::getFocusLink ( int  $a_ref_id,
int  $a_obj_id,
int  $a_return_ref_id 
)

Get focused link (used in learning objectives courses)

Parameters
int$a_ref_idreference id of learning module
int$a_obj_idchapter or page id
int$a_return_ref_idreturn ref id

Definition at line 2156 of file class.ilLMPresentationGUI.php.

2160  : string {
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;
2163  }

◆ getHeaderAction()

ilLMPresentationGUI::getHeaderAction ( bool  $a_redraw = false)

Definition at line 820 of file class.ilLMPresentationGUI.php.

References $access, $embed_mode, $ilSetting, $settings, $tpl, ANONYMOUS_USER_ID, ILIAS\Repository\ctrl(), getCurrentPageId(), ilUtil\getImagePath(), ilGlobalTemplateInterface\getOnLoadCodeForAsynch(), ilNotification\hasNotification(), ilNotification\hasOptOut(), ILIAS\Repository\lng(), offlineMode(), ilObjectListGUI\prepareJsLinks(), ilCommonActionDispatcherGUI\setSubObject(), ilNotification\TYPE_LM, ilNotification\TYPE_LM_PAGE, ilCommonActionDispatcherGUI\TYPE_REPOSITORY, and ILIAS\Repository\user().

Referenced by addHeaderAction(), getHTML(), and redrawHeaderAction().

822  : string {
823  if ($this->offline) {
824  return "";
825  }
826  $ilAccess = $this->access;
828  $tpl = $this->tpl;
829 
830  $lm_id = $this->lm->getId();
831  $pg_id = $this->getCurrentPageId();
832 
833  $this->lng->loadLanguageModule("content");
834 
835  $dispatcher = new ilCommonActionDispatcherGUI(
837  $ilAccess,
838  $this->lm->getType(),
839  $this->lm->getRefId(),
840  $this->lm->getId()
841  );
842  $dispatcher->setSubObject("pg", $this->getCurrentPageId());
843 
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),
849  "",
850  $this->ctrl->getLinkTargetByClass(
851  array("ilcommonactiondispatchergui", "iltagginggui"),
852  "",
853  "",
854  true,
855  false
856  ),
857  $this->tpl
858  );
859 
860  $lg = $dispatcher->initHeaderAction();
861  if (!$ilSetting->get("disable_notes")) {
862  $lg->enableNotes(true);
863  if (!$this->embed_mode) {
864  $lg->enableComments($this->lm->publicNotes(), false);
865  }
866  }
867 
868  if ($this->lm->hasRating() && !$this->offlineMode()) {
869  $lg->enableRating(
870  true,
871  $this->lng->txt("lm_rating"),
872  false,
873  array("ilcommonactiondispatchergui", "ilratinggui"),
874  true
875  );
876  }
877 
878  // notification
879  if ($this->user->getId() != ANONYMOUS_USER_ID && !$this->embed_mode) {
880  if (ilNotification::hasNotification(ilNotification::TYPE_LM, $this->user->getId(), $lm_id)) {
881  $this->ctrl->setParameter($this, "ntf", 1);
882  if (ilNotification::hasOptOut($lm_id)) {
883  $lg->addCustomCommand($this->ctrl->getLinkTarget($this), "cont_notification_deactivate_lm");
884  }
885 
886  $lg->addHeaderIcon(
887  "not_icon",
888  ilUtil::getImagePath("object/notification_on.svg"),
889  $this->lng->txt("cont_notification_activated")
890  );
891  } else {
892  $this->ctrl->setParameter($this, "ntf", 2);
893  $lg->addCustomCommand($this->ctrl->getLinkTarget($this), "cont_notification_activate_lm");
894 
895  if (ilNotification::hasNotification(ilNotification::TYPE_LM_PAGE, $this->user->getId(), $pg_id)) {
896  $this->ctrl->setParameter($this, "ntf", 3);
897  $lg->addCustomCommand($this->ctrl->getLinkTarget($this), "cont_notification_deactivate_page");
898 
899  $lg->addHeaderIcon(
900  "not_icon",
901  ilUtil::getImagePath("object/notification_on.svg"),
902  $this->lng->txt("cont_page_notification_activated")
903  );
904  } else {
905  $this->ctrl->setParameter($this, "ntf", 4);
906  $lg->addCustomCommand($this->ctrl->getLinkTarget($this), "cont_notification_activate_page");
907 
908  $lg->addHeaderIcon(
909  "not_icon",
910  ilUtil::getImagePath("object/notification_off.svg"),
911  $this->lng->txt("cont_notification_deactivated")
912  );
913  }
914  }
915  $this->ctrl->setParameter($this, "ntf", "");
916  }
917 
918  if (!$this->offline) {
919  if ($ilAccess->checkAccess("write", "", $this->requested_ref_id)) {
920  if ($this->getCurrentPageId() <= 0) {
921  $link = $this->ctrl->getLinkTargetByClass(["ilLMEditorGUI", "ilobjlearningmodulegui"], "chapters");
922  } else {
923  $link = ILIAS_HTTP_PATH . "/ilias.php?baseClass=ilLMEditorGUI&ref_id=" . $this->requested_ref_id .
924  "&obj_id=" . $this->getCurrentPageId() . "&to_page=1";
925  }
926  $lg->addCustomCommand($link, "edit_page");
927  }
928  }
929 
930  if (!$a_redraw) {
931  return $lg->getHeaderAction($this->tpl);
932  } else {
933  // we need to add onload code manually (rating, comments, etc.)
934  return $lg->getHeaderAction() .
936  }
937  }
const ANONYMOUS_USER_ID
Definition: constants.php:27
static prepareJsLinks(string $redraw_url, string $notes_url, string $tags_url, ilGlobalTemplateInterface $tpl=null)
Insert js/ajax links into template.
offlineMode()
checks whether offline content generation is activated
static getImagePath(string $image_name, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
getCurrentPageId()
Get the current page id.
global $ilSetting
Definition: privfeed.php:32
ilGlobalTemplateInterface $tpl
static hasNotification(int $type, int $user_id, int $id)
Check notification status for object and user.
getOnLoadCodeForAsynch()
Get js onload code for ajax calls.
setSubObject(?string $sub_obj_type, ?int $sub_obj_id)
Set sub object attributes.
Class ilCommonActionDispatcherGUI.
static hasOptOut(int $obj_id)
Is opt out (disable notification) allowed?
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getHTML()

ilLMPresentationGUI::getHTML ( array  $pars)

Get HTML (called by kiosk mode through ilCtrl)

Definition at line 2352 of file class.ilLMPresentationGUI.php.

References addResourceFiles(), ilGlobalTemplateInterface\get(), getContent(), getHeaderAction(), ilLMNotes(), renderRating(), and ilGlobalTemplateInterface\setVariable().

2352  : string
2353  {
2354  $this->addResourceFiles();
2355  switch ($pars["cmd"]) {
2356  case "layout":
2357  $tpl = new ilTemplate("tpl.embedded_view.html", true, true, "components/ILIAS/LearningModule");
2358  $tpl->setVariable("HEAD_ACTION", $this->getHeaderAction());
2359  $tpl->setVariable("PAGE_RATING", $this->renderRating());
2360  $tpl->setVariable("PAGE", $this->getContent(true));
2361  $tpl->setVariable("COMMENTS", $this->ilLMNotes());
2362  return $tpl->get();
2363  }
2364  return "";
2365  }
getHeaderAction(bool $a_redraw=false)
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
getContent(bool $skip_nav=false)
ilGlobalTemplateInterface $tpl
ilLMNotes()
output notes of page
+ Here is the call graph for this function:

◆ getLMPage()

ilLMPresentationGUI::getLMPage ( int  $a_id,
string  $a_type = "" 
)

Definition at line 2256 of file class.ilLMPresentationGUI.php.

References $lang, and ilPageObject\_exists().

Referenced by ilMedia().

2259  : ilPageObject {
2260  $type = ($a_type == "mep")
2261  ? "mep"
2262  : "lm";
2263 
2264  $lang = $this->lang;
2265  if (!ilPageObject::_exists($type, $a_id, $lang)) {
2266  $lang = "-";
2267  if ($this->lang != "-" && ilPageObject::_exists($type, $a_id, $this->ot->getFallbackLanguage())) {
2268  $lang = $this->ot->getFallbackLanguage();
2269  }
2270  }
2271 
2272  switch ($type) {
2273  case "mep":
2274  return new ilMediaPoolPage($a_id, 0, $lang);
2275  default:
2276  return new ilLMPage($a_id, 0, $lang);
2277  }
2278  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _exists(string $a_parent_type, int $a_id, string $a_lang="", bool $a_no_cache=false)
Checks whether page exists.
Class ilPageObject Handles PageObjects of ILIAS Learning Modules (see ILIAS DTD)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getLMPageGUI()

ilLMPresentationGUI::getLMPageGUI ( int  $a_id)

Definition at line 2244 of file class.ilLMPresentationGUI.php.

References ilPageObject\_exists().

Referenced by downloadFile(), executeCommand(), and showPrintView().

2244  : ilLMPageGUI
2245  {
2246  $concrete_lang = $this->service->getPresentationStatus()->getConcreteLang();
2247  if ($this->lang != "-" && ilPageObject::_exists("lm", $a_id, $this->lang)) {
2248  return new ilLMPageGUI($a_id, 0, false, $this->lang, $concrete_lang);
2249  }
2250  if ($this->lang != "-" && ilPageObject::_exists("lm", $a_id, $this->ot->getFallbackLanguage())) {
2251  return new ilLMPageGUI($a_id, 0, false, $this->ot->getFallbackLanguage(), $concrete_lang);
2252  }
2253  return new ilLMPageGUI($a_id, 0, false, "", $concrete_lang);
2254  }
static _exists(string $a_parent_type, int $a_id, string $a_lang="", bool $a_no_cache=false)
Checks whether page exists.
Extension of ilPageObjectGUI for learning modules.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getLMPresentationTitle()

ilLMPresentationGUI::getLMPresentationTitle ( )

Definition at line 751 of file class.ilLMPresentationGUI.php.

Referenced by ilLocator(), initScreenHead(), renderPageTitle(), setHeader(), showPrintView(), and showPrintViewSelection().

751  : string
752  {
753  return $this->service->getPresentationStatus()->getLMPresentationTitle();
754  }
+ Here is the caller graph for this function:

◆ getOfflineDirectory()

ilLMPresentationGUI::getOfflineDirectory ( )

Definition at line 2211 of file class.ilLMPresentationGUI.php.

References $offline_directory.

Referenced by basicPageGuiInit(), handleCodeParagraph(), and ilGlossary().

2211  : string
2212  {
2213  return $this->offline_directory;
2214  }
+ Here is the caller graph for this function:

◆ getPageContent()

ilLMPresentationGUI::getPageContent ( )
protected

Definition at line 1141 of file class.ilLMPresentationGUI.php.

References ILIAS\Repository\access(), ILIAS\Repository\ctrl(), ILIAS\Repository\help(), ILIAS\Repository\lng(), and ILIAS\Repository\user().

Referenced by getContent(), and page().

1141  : string
1142  {
1143  $content_renderer = new ilLMContentRendererGUI(
1144  $this->service,
1145  $this,
1146  $this->lng,
1147  $this->ctrl,
1148  $this->access,
1149  $this->user,
1150  $this->help,
1151  $this->requested_obj_id
1152  );
1153 
1154  return $content_renderer->render();
1155  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSafePostCommands()

ilLMPresentationGUI::getSafePostCommands ( )

This method must return a list of safe POST commands.

Safe post commands returned by this method will no longer be CSRF protected and will NOT be appended by an ilCtrlToken.

Returns
string[]

Implements ilCtrlSecurityInterface.

Definition at line 195 of file class.ilLMPresentationGUI.php.

195  : array
196  {
197  return [
198  "showPrintView",
199  ];
200  }

◆ getService()

ilLMPresentationGUI::getService ( )

Definition at line 273 of file class.ilLMPresentationGUI.php.

References $service.

Referenced by renderTabs().

274  {
275  return $this->service;
276  }
ilLMPresentationService $service
Main service init and factory.
+ Here is the caller graph for this function:

◆ getSourcecodeDownloadLink()

ilLMPresentationGUI::getSourcecodeDownloadLink ( )

Definition at line 2202 of file class.ilLMPresentationGUI.php.

References ILIAS\Repository\ctrl(), and offlineMode().

2202  : string
2203  {
2204  if (!$this->offlineMode()) {
2205  return $this->ctrl->getLinkTarget($this, "");
2206  } else {
2207  return "";
2208  }
2209  }
offlineMode()
checks whether offline content generation is activated
+ Here is the call graph for this function:

◆ getTracker()

ilLMPresentationGUI::getTracker ( )
protected

Definition at line 283 of file class.ilLMPresentationGUI.php.

Referenced by filterNonAccessibleNode(), and showPrintView().

283  : ilLMTracker
284  {
285  return $this->service->getTracker();
286  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the caller graph for this function:

◆ getUnsafeGetCommands()

ilLMPresentationGUI::getUnsafeGetCommands ( )

This method must return a list of unsafe GET commands.

Unsafe get commands returned by this method will now be CSRF protected, which means an ilCtrlToken is appended each time a link-target is generated to the class implementing this interface with a command from that list.

Tokens will be validated in

See also
ilCtrlInterface::getCmd(), whereas the fallback command will be used if the CSRF validation fails.
Returns
string[]

Implements ilCtrlSecurityInterface.

Definition at line 190 of file class.ilLMPresentationGUI.php.

190  : array
191  {
192  return [];
193  }

◆ glossary()

ilLMPresentationGUI::glossary ( )

Definition at line 684 of file class.ilLMPresentationGUI.php.

References ilAccordionGUI\addCss(), ilAccordionGUI\addJavaScript(), ilGlossary(), iljQueryUtil\initjQuery(), offlineMode(), renderPageTitle(), setContentStyles(), and setSystemStyle().

684  : string
685  {
686  $this->tpl = new ilGlobalTemplate("tpl.glossary_term_output.html", true, true, "components/ILIAS/LearningModule");
687  $this->renderPageTitle();
688 
689  iljQueryUtil::initjQuery($this->tpl);
690  //iljQueryUtil::initjQueryUI($this->tpl);
691  ilAccordionGUI::addJavaScript($this->tpl);
692  ilAccordionGUI::addCss($this->tpl);
693 
694  // set style sheets
695  $this->setContentStyles();
696  $this->setSystemStyle();
697 
698  $this->ilGlossary();
699 
700  $js = $this->global_screen->layout()->meta()->getJs();
701  foreach ($js->getItemsInOrderOfDelivery() as $item) {
702  $this->tpl->addJavaScript($item->getContent());
703  }
704 
705  if (!$this->offlineMode()) {
706  $this->tpl->printToStdout();
707  } else {
708  return $this->tpl->printToString();
709  }
710 
711  return "";
712  }
special template class to simplify handling of ITX/PEAR
setSystemStyle()
Set system style.
static addJavaScript(ilGlobalTemplate $main_tpl=null)
Add javascript files that are necessary to run accordion.
static addCss()
Add required css.
offlineMode()
checks whether offline content generation is activated
static initjQuery(ilGlobalTemplateInterface $a_tpl=null)
inits and adds the jQuery JS-File to the global or a passed template
setContentStyles()
Set content style.
+ Here is the call graph for this function:

◆ handleCodeParagraph()

ilLMPresentationGUI::handleCodeParagraph ( int  $page_id,
int  $paragraph_id,
string  $title,
string  $text 
)

store paragraph into file directory files/codefile_$pg_id_$paragraph_id/downloadtitle

Definition at line 2220 of file class.ilLMPresentationGUI.php.

References getOfflineDirectory(), and ilFileUtils\makeDirParents().

2225  : void {
2226  $directory = $this->getOfflineDirectory() . "/codefiles/" . $page_id . "/" . $paragraph_id;
2227  ilFileUtils::makeDirParents($directory);
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 />");
2232  }
2233  chmod($file, 0770);
2234  fwrite($fp, $text);
2235  fclose($fp);
2236  }
static makeDirParents(string $a_dir)
Create a new directory and all parent directories.
$text
Definition: xapiexit.php:21
+ Here is the call graph for this function:

◆ ilGlossary()

ilLMPresentationGUI::ilGlossary ( )

Definition at line 1245 of file class.ilLMPresentationGUI.php.

References $ctrl, getOfflineDirectory(), offlineMode(), and setContentStyles().

Referenced by glossary(), and layout().

1245  : void
1246  {
1247  $ilCtrl = $this->ctrl;
1248 
1249  $term_gui = new ilGlossaryTermGUI($this->requested_obj_id);
1250 
1251  // content style
1252  $this->setContentStyles();
1253 
1254  $term_gui->setPageLinker($this->linker);
1255 
1256  $term_gui->setOfflineDirectory($this->getOfflineDirectory());
1257  if (!$this->offlineMode()) {
1258  $ilCtrl->setParameter($this, "pg_type", "glo");
1259  }
1260  $term_gui->output($this->offlineMode(), $this->tpl);
1261 
1262  if (!$this->offlineMode()) {
1263  $ilCtrl->setParameter($this, "pg_type", "");
1264  }
1265  }
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...
setContentStyles()
Set content style.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ilJavaScript()

ilLMPresentationGUI::ilJavaScript ( string  $a_inline = "",
string  $a_file = "",
string  $a_location = "" 
)

Definition at line 1327 of file class.ilLMPresentationGUI.php.

Referenced by layout().

1331  : void {
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);
1336  }
1337  }
+ Here is the caller graph for this function:

◆ ilLMMenu()

ilLMPresentationGUI::ilLMMenu ( )

Definition at line 756 of file class.ilLMPresentationGUI.php.

References getCurrentPageId(), and renderTabs().

Referenced by layout().

756  : void
757  {
758  $this->renderTabs("content", $this->getCurrentPageId());
759  }
getCurrentPageId()
Get the current page id.
renderTabs(string $active_tab, int $current_page_id)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ilLMNotes()

ilLMPresentationGUI::ilLMNotes ( )

output notes of page

Definition at line 942 of file class.ilLMPresentationGUI.php.

References $access, $ilSetting, $settings, ILIAS\Repository\ctrl(), getCurrentPageId(), and offlineMode().

Referenced by getHTML(), and layout().

942  : string
943  {
944  $ilAccess = $this->access;
946 
947  // no notes in offline (export) mode
948  if ($this->offlineMode()) {
949  return "";
950  }
951 
952  // now output comments
953 
954  if ($ilSetting->get("disable_comments")) {
955  return "";
956  }
957  if (!$this->lm->publicNotes()) {
958  return "";
959  }
960 
961  $next_class = $this->ctrl->getNextClass($this);
962 
963  $pg_id = $this->getCurrentPageId();
964 
965  if ($pg_id == 0) {
966  return "";
967  }
968  $notes_gui = $this->notes_gui->getCommentsGUI($this->lm->getId(), $this->getCurrentPageId(), "pg");
969  $notes_gui->setUseObjectTitleHeader(false);
970 
971  if ($ilAccess->checkAccess("write", "", $this->requested_ref_id) &&
972  $ilSetting->get("comments_del_tutor", '1')) {
973  $notes_gui->enablePublicNotesDeletion(true);
974  }
975 
976  $this->ctrl->setParameter($this, "frame", $this->requested_frame);
977  $this->ctrl->setParameter($this, "obj_id", $this->requested_obj_id);
978 
979  $notes_gui->enablePrivateNotes();
980  if ($this->lm->publicNotes()) {
981  $notes_gui->enablePublicNotes();
982  }
983 
984  $callback = array($this, "observeNoteAction");
985  $notes_gui->addObserver($callback);
986 
987  if ($next_class == "ilcommentgui") {
988  $html = $this->ctrl->forwardCommand($notes_gui);
989  } else {
990  $html = $notes_gui->getListHTML();
991  }
992  return $html;
993  }
offlineMode()
checks whether offline content generation is activated
getCurrentPageId()
Get the current page id.
ILIAS Notes GUIService $notes_gui
global $ilSetting
Definition: privfeed.php:32
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ilLMSubMenu()

ilLMPresentationGUI::ilLMSubMenu ( )

output learning module submenu

Definition at line 770 of file class.ilLMPresentationGUI.php.

References $rbacsystem, ilRbacSystem\checkAccess(), getCurrentPageId(), ILIAS\Repository\lng(), and offlineMode().

Referenced by layout().

770  : void
771  {
773  if ($this->abstract) {
774  return;
775  }
776 
777 
778  $tpl_menu = new ilTemplate("tpl.lm_sub_menu.html", true, true, "components/ILIAS/LearningModule");
779 
780  $pg_id = $this->getCurrentPageId();
781  if ($pg_id == 0) {
782  return;
783  }
784 
785  // edit learning module
786  if (!$this->offlineMode()) {
787  if ($rbacsystem->checkAccess("write", $this->requested_ref_id)) {
788  $tpl_menu->setCurrentBlock("edit_page");
789  $page_id = $this->getCurrentPageId();
790  $tpl_menu->setVariable(
791  "EDIT_LINK",
792  ILIAS_HTTP_PATH . "/ilias.php?baseClass=ilLMEditorGUI&ref_id=" . $this->requested_ref_id .
793  "&obj_id=" . $page_id . "&to_page=1"
794  );
795  $tpl_menu->setVariable("EDIT_TXT", $this->lng->txt("edit_page"));
796  $tpl_menu->parseCurrentBlock();
797  }
798 
799  $page_id = $this->getCurrentPageId();
800 
801  // permanent link
802  $this->tpl->setPermanentLink("pg", null, $page_id . "_" . $this->lm->getRefId());
803  }
804 
805  $this->tpl->setVariable("SUBMENU", $tpl_menu->get());
806  }
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 ...
offlineMode()
checks whether offline content generation is activated
getCurrentPageId()
Get the current page id.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ilLocator()

ilLMPresentationGUI::ilLocator ( )

Definition at line 995 of file class.ilLMPresentationGUI.php.

References $DIC, $lang, $locator, $path, $requested_frame, $requested_obj_id, $requested_ref_id, ilFrameTargetInfo\_getFrame(), ilStructureObject\_getPresentationTitle(), ilLMObject\CHAPTER_TITLE, ilLMObjectFactory\getInstance(), getLMPresentationTitle(), offlineMode(), and ilStr\shortenTextExtended().

Referenced by initScreenHead(), and layout().

995  : void
996  {
997  global $DIC;
998  $ltiview = $DIC["lti"];
999  $ilLocator = $this->locator;
1000 
1001  if (empty($this->requested_obj_id)) {
1002  $a_id = $this->lm_tree->getRootId();
1003  } else {
1004  $a_id = $this->requested_obj_id;
1005  }
1006 
1007  if (!$this->lm->cleanFrames()) {
1008  $frame_param = $this->requested_frame;
1009  $frame_target = "";
1010  } elseif (!$this->offlineMode()) {
1011  $frame_param = "";
1012  $frame_target = ilFrameTargetInfo::_getFrame("MainContent");
1013  } else {
1014  $frame_param = "";
1015  $frame_target = "_top";
1016  }
1017 
1018  if (!$this->offlineMode()) {
1019  // LTI
1020  if ($ltiview->isActive()) {
1021  // Do nothing, its complicated...
1022  } else {
1023  $ilLocator->addRepositoryItems();
1024  }
1025  } else {
1026  $ilLocator->setOffline(true);
1027  }
1028 
1029  if ($this->lm_tree->isInTree($a_id)) {
1030  $path = $this->lm_tree->getPathFull($a_id);
1031 
1032  foreach ($path as $key => $row) {
1033  if ($row["type"] != "pg") {
1034  if ($row["child"] != $this->lm_tree->getRootId()) {
1035  $ilLocator->addItem(
1038  $row["child"],
1040  $this->lm->isActiveNumbering(),
1041  (bool) $this->lm_set->get("time_scheduled_page_activation"),
1042  false,
1043  0,
1044  $this->lang
1045  ),
1046  50,
1047  true
1048  ),
1049  $this->linker->getLink("layout", $row["child"], $frame_param, "StructureObject"),
1050  $frame_target
1051  );
1052  } else {
1053  $ilLocator->addItem(
1055  $this->linker->getLink("layout", 0, $frame_param),
1056  $frame_target,
1058  );
1059  }
1060  }
1061  }
1062  } else { // lonely page
1063  $ilLocator->addItem(
1064  $this->getLMPresentationTitle(),
1065  $this->linker->getLink("layout", 0, $this->requested_frame)
1066  );
1067 
1068  $lm_obj = ilLMObjectFactory::getInstance($this->lm, $a_id);
1069 
1070  $ilLocator->addItem(
1071  $lm_obj->getTitle(),
1072  $this->linker->getLink("layout", $a_id, $frame_param),
1073  $frame_target
1074  );
1075  }
1076 
1077  $this->tpl->setLocator();
1078  }
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 getInstance(ilObjLearningModule $a_content_obj, int $a_id=0, bool $a_halt=true)
$path
Definition: ltiservices.php:30
global $DIC
Definition: shib_login.php:25
offlineMode()
checks whether offline content generation is activated
static shortenTextExtended(string $a_str, int $a_len, bool $a_dots=false, bool $a_next_blank=false, bool $a_keep_extension=false)
static _getFrame(string $a_class)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ilMedia()

ilLMPresentationGUI::ilMedia ( )

Definition at line 1267 of file class.ilLMPresentationGUI.php.

References $params, ilMediaItem\_getMapAreasIntLinks(), ilUtil\getImagePath(), getLMPage(), ilFileUtils\getWebspaceDir(), IL_MODE_ALIAS, IL_MODE_OUTPUT, ilObjMediaObjectGUI\includePresentationJS(), ilObjMediaObject\isTypeAllowed(), offlineMode(), renderPageTitle(), and setContentStyles().

Referenced by media().

1267  : void
1268  {
1269  $pg_frame = "";
1270  $this->setContentStyles();
1271 
1272  $this->renderPageTitle();
1273 
1274  $this->tpl->setCurrentBlock("ilMedia");
1275  $med_links = ilMediaItem::_getMapAreasIntLinks($this->requested_mob_id);
1276  $link_xml = $this->linker->getLinkXML($med_links);
1277 
1278  $media_obj = new ilObjMediaObject($this->requested_mob_id);
1279  if (!empty($this->requested_pg_id)) {
1280  $pg_obj = $this->getLMPage($this->requested_pg_id, $this->requested_pg_type);
1281  $pg_obj->buildDom();
1282 
1283  $xml = "<dummy>";
1284  // todo: we get always the first alias now (problem if mob is used multiple
1285  // times in page)
1286  $xml .= $pg_obj->getMediaAliasElement($this->requested_mob_id);
1287  } else {
1288  $xml = "<dummy>";
1289  // todo: we get always the first alias now (problem if mob is used multiple
1290  // times in page)
1291  $xml .= $media_obj->getXML(IL_MODE_ALIAS);
1292  }
1293  $xml .= $media_obj->getXML(IL_MODE_OUTPUT);
1294  $xml .= $link_xml;
1295  $xml .= "</dummy>";
1296 
1297  if (!$this->offlineMode()) {
1298  $wb_path = ilFileUtils::getWebspaceDir("output") . "/";
1299  } else {
1300  $wb_path = "";
1301  }
1302 
1303  $mode = ($this->requested_cmd == "fullscreen")
1304  ? "fullscreen"
1305  : "media";
1306  $enlarge_path = ilUtil::getImagePath("media/enlarge.svg", false, "output", $this->offlineMode());
1307  $fullscreen_link =
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,
1313  'enable_html_mob' => ilObjMediaObject::isTypeAllowed("html") ? "y" : "n",
1314  'ref_id' => $this->lm->getRefId(),
1315  'pg_frame' => $pg_frame,
1316  'webspace_path' => $wb_path
1317  );
1318  $output = $this->xsl->process($xml, $params);
1319 
1320  // unmask user html
1321  $this->tpl->setVariable("MEDIA_CONTENT", $output);
1322 
1323  // add js
1325  }
static getWebspaceDir(string $mode="filesystem")
get webspace directory
if(! $DIC->user() ->getId()||!ilLTIConsumerAccess::hasCustomProviderCreationAccess()) $params
Definition: ltiregstart.php:31
static includePresentationJS(ilGlobalTemplateInterface $a_tpl=null)
Include media object presentation JS.
getLMPage(int $a_id, string $a_type="")
static isTypeAllowed(string $a_type)
offlineMode()
checks whether offline content generation is activated
static getImagePath(string $image_name, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
static _getMapAreasIntLinks(int $a_mob_id)
get all internal links of map areas of a mob
const IL_MODE_ALIAS
const IL_MODE_OUTPUT
setContentStyles()
Set content style.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ilTOC()

ilLMPresentationGUI::ilTOC ( )

table of contents

Definition at line 743 of file class.ilLMPresentationGUI.php.

Referenced by refreshToc().

744  {
745  $fac = new ilLMTOCExplorerGUIFactory();
746  $exp = $fac->getExplorer($this->service, "ilTOC");
747  $exp->handleCommand();
748  return $exp;
749  }
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...
+ Here is the caller graph for this function:

◆ infoScreen()

ilLMPresentationGUI::infoScreen ( )

this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually, if everything works through ilCtrl in the future this may be changed

Definition at line 1344 of file class.ilLMPresentationGUI.php.

References ILIAS\Repository\ctrl().

1344  : void
1345  {
1346  $this->ctrl->redirectByClass(ilInfoScreenGUI::class, "showSummary");
1347  }
+ Here is the call graph for this function:

◆ initByRequest()

ilLMPresentationGUI::initByRequest ( ?array  $query_params = null,
bool  $embed_mode = false 
)

Init services and this class by request params.

The request params are usually retrieved by HTTP request, but also adjusted during HTML exports, this is, why this method needs to be public.

Parameters
array$query_paramsrequest query params

Definition at line 208 of file class.ilLMPresentationGUI.php.

References $DIC, $embed_mode, $post, ilObjectTranslation\getInstance(), and ILIAS\Repository\user().

Referenced by __construct().

211  : void {
212  global $DIC;
213 
214  $this->service = new ilLMPresentationService(
215  $this->user,
216  $query_params,
217  $this->offline,
218  $this->export_all_languages,
219  $this->export_format,
220  null,
222  );
223 
224  $post = is_null($query_params)
225  ? null
226  : [];
227 
228  $request = $DIC->learningModule()
229  ->internal()
230  ->gui()
231  ->presentation()
232  ->request(
233  $query_params,
234  $post
235  );
236 
237  $this->requested_obj_type = $request->getObjType();
238  $this->requested_ref_id = $request->getRefId();
239  $this->requested_transl = $request->getTranslation(); // handled by presentation status
240  $this->requested_obj_id = $request->getObjId(); // handled by navigation status
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();
252 
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();
258  $this->embed_mode = $embed_mode;
259  if ($request->getEmbedMode()) {
260  $this->embed_mode = true;
261  }
262 
263  // language translation
264  $this->lang = $this->service->getPresentationStatus()->getLang();
265 
266  $this->lm_tree = $this->service->getLMTree();
267  $this->focus_id = $this->service->getPresentationStatus()->getFocusId();
268  $this->ot = ilObjectTranslation::getInstance($this->lm->getId());
269  $this->content_style_gui = $this->cs->gui();
270  $this->content_style_domain = $this->cs->domain()->styleForRefId($this->lm->getRefId());
271  }
static getInstance(int $obj_id)
global $DIC
Definition: shib_login.php:25
$post
Definition: ltitoken.php:46
Main service init and factory.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initPrintViewSelectionForm()

ilLMPresentationGUI::initPrintViewSelectionForm ( )

Definition at line 1598 of file class.ilLMPresentationGUI.php.

References $ctrl, $lng, $nl, ILIAS\Repository\form(), ilRadioGroupInputGUI\setValue(), and ilLanguage\txt().

Referenced by showPrintViewSelection().

1598  : void
1599  {
1600  $lng = $this->lng;
1601  $ilCtrl = $this->ctrl;
1602 
1603  $this->form = new ilPropertyFormGUI();
1604  $this->form->setForceTopButtons(true);
1605 
1606  // selection type
1607  $radg = new ilRadioGroupInputGUI($lng->txt("cont_selection"), "sel_type");
1608  $radg->setValue("page");
1609  $op1 = new ilRadioOption($lng->txt("cont_current_page"), "page");
1610  $radg->addOption($op1);
1611  $op2 = new ilRadioOption($lng->txt("cont_current_chapter"), "chapter");
1612  $radg->addOption($op2);
1613  $op3 = new ilRadioOption($lng->txt("cont_selected_pg_chap"), "selection");
1614  $radg->addOption($op3);
1615 
1616  $nl = new ilNestedListInputGUI("", "obj_id");
1617  $this->nl = $nl;
1618  $op3->addSubItem($nl);
1619 
1620  $this->form->addItem($radg);
1621 
1622  $this->form->addCommandButton("showPrintView", $lng->txt("cont_show_print_view"));
1623  $this->form->setOpenTag(false);
1624  $this->form->setCloseTag(false);
1625 
1626  $this->form->setTitle(" ");
1627  $this->form->setFormAction($ilCtrl->getFormAction($this));
1628  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
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...
This class represents a property in a property form.
form( $class_path, string $cmd, string $submit_caption="")
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initScreenHead()

ilLMPresentationGUI::initScreenHead ( string  $a_active_tab = "info")
protected

Definition at line 1357 of file class.ilLMPresentationGUI.php.

References $access, $locator, ilUtil\getImagePath(), getLMPresentationTitle(), ilLocator(), renderPageTitle(), and renderTabs().

Referenced by executeCommand(), and outputInfoScreen().

1359  : void {
1360  $ilAccess = $this->access;
1361  $ilLocator = $this->locator;
1362 
1363  $this->renderPageTitle();
1364 
1365  $this->tpl->loadStandardTemplate();
1366  $this->tpl->setTitle($this->getLMPresentationTitle());
1367  $this->tpl->setTitleIcon(ilUtil::getImagePath("standard/icon_lm.svg"));
1368 
1369  $this->renderTabs($a_active_tab, 0);
1370 
1371  // Full locator, if read permission is given
1372  if ($ilAccess->checkAccess("read", "", $this->requested_ref_id)) {
1373  $this->ilLocator();
1374  } else {
1375  $ilLocator->addRepositoryItems();
1376  $this->tpl->setLocator();
1377  }
1378  }
static getImagePath(string $image_name, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
renderTabs(string $active_tab, int $current_page_id)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ injectTemplate()

ilLMPresentationGUI::injectTemplate ( ilGlobalTemplateInterface  $tpl)

Definition at line 278 of file class.ilLMPresentationGUI.php.

References $tpl.

278  : void
279  {
280  $this->tpl = $tpl;
281  }
ilGlobalTemplateInterface $tpl

◆ layout()

ilLMPresentationGUI::layout ( string  $a_xml = "main.xml",
bool  $doShow = true 
)

Definition at line 474 of file class.ilLMPresentationGUI.php.

References $path, $requested_obj_type, $tpl, $user, addHeaderAction(), addResourceFiles(), attrib2arr(), determineLayout(), getContent(), ilUtil\getStyleSheetLocation(), ilGlossary(), ilJavaScript(), ilLMMenu(), ilLMNotes(), ilLMSubMenu(), ilLocator(), media(), offlineMode(), ilGlobalTemplateInterface\printToStdout(), ilGlobalTemplateInterface\printToString(), renderPageTitle(), setHeader(), and ILIAS\Repository\ui().

Referenced by executeCommand(), and resume().

477  : string {
478  $content = "";
479  $tpl = $this->tpl;
480  $ilUser = $this->user;
481  $layout = $this->determineLayout();
482 
483  // xmldocfile is deprecated! Use domxml_open_file instead.
484  // But since using relative pathes with domxml under windows don't work,
485  // we need another solution:
486  $xmlfile = file_get_contents(ILIAS_ABSOLUTE_PATH . "/components/ILIAS/LearningModule/layouts/lm/" . $layout . "/" . $a_xml);
487 
488  $error = null;
489  $doc = $this->dom_util->docFromString($xmlfile, $error);
490  $this->layout_doc = $doc;
491 
492  // get current frame node
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) {
498  throw new ilLMPresentationException("ilLMPresentation: XML File invalid. Found " . count($nodes) . " nodes for " .
499  " path " . $path . " in " . $layout . "/" . $a_xml . ". LM Layout is " . $this->lm->getLayout());
500  }
501  $node = $nodes->item(0);
502 
503  // ProcessFrameset
504  // node is frameset, if it has cols or rows attribute
505  $attributes = $this->attrib2arr($node->attributes);
506 
507  $this->frames = array();
508 
509  // ProcessContentTag
510  if ((empty($attributes["template"]) || !empty($this->requested_obj_type))
511  && ($this->requested_frame != "_blank" || $this->requested_obj_type != "MediaObject")) {
512  // we got a variable content frame (can display different
513  // object types (PageObject, MediaObject, GlossarItem)
514  // and contains elements for them)
515 
516  // determine object type
517  if (empty($this->requested_obj_type)) {
518  $obj_type = "PageObject";
519  } else {
520  $obj_type = $this->requested_obj_type;
521  }
522 
523  // get object specific node
524  $found = false;
525  foreach ($node->childNodes as $child) {
526  if ($child->nodeName == $obj_type) {
527  $found = true;
528  $attributes = $this->attrib2arr($child->attributes);
529  $node = $child;
530  //echo "<br>2node:".$node->node_name();
531  break;
532  }
533  }
534  if (!$found) {
535  throw new ilLMPresentationException("ilLMPresentation: No template specified for frame '" .
536  $this->requested_frame . "' and object type '" . $obj_type . "'.");
537  }
538  }
539 
540  // set style sheets
541  if (!$this->offlineMode()) {
542  $this->tpl->setVariable("LOCATION_STYLESHEET", ilUtil::getStyleSheetLocation());
543  } else {
544  $style_name = $ilUser->getPref("style") . ".css";
545  $this->tpl->setVariable("LOCATION_STYLESHEET", "./style/" . $style_name);
546  }
547 
548  // to make e.g. advanced seletions lists work:
549  // $GLOBALS["tpl"] = $this->tpl;
550 
551  foreach ($node->childNodes as $child) {
552  $child_attr = $this->attrib2arr($child->attributes);
553 
554  switch ($child->nodeName) {
555  case "ilPage":
556  $this->renderPageTitle();
557  $this->setHeader();
558  $this->addHeaderAction();
559  $content = $this->getContent();
560  $this->ilLMMenu();
561  $content .= $this->ilLMNotes();
562  $additional = $this->ui->renderer()->render($this->additional_content);
563  $this->tpl->setContent($content . $additional);
564  break;
565 
566  case "ilGlossary":
567  $this->ilGlossary();
568  break;
569 
570  case "ilLMNavigation":
571  // @todo 6.0
572  // $this->ilLMNavigation();
573  break;
574 
575  case "ilMedia":
576  $this->media();
577  break;
578 
579  case "ilLocator":
580  $this->ilLocator();
581  break;
582 
583  case "ilJavaScript":
584  $this->ilJavaScript(
585  $child_attr["inline"],
586  $child_attr["file"],
587  $child_attr["location"]
588  );
589  break;
590 
591  case "ilLMMenu":
592  //$this->ilLMMenu();
593  break;
594 
595  case "ilLMHead":
596  // @todo 6.0
597  // $this->ilLMHead();
598  break;
599 
600  case "ilLMSubMenu":
601  $this->ilLMSubMenu();
602  break;
603 
604  case "ilLMNotes":
605  $this->ilLMNotes();
606  break;
607  }
608  }
609 
610  $this->addResourceFiles();
611 
612  if ($doShow) {
613  $tpl->printToStdout();
614  } else {
615  $content = $tpl->printToString();
616  }
617 
618  return ($content);
619  }
printToStdout(string $part=self::DEFAULT_BLOCK, bool $has_tabs=true, bool $skip_main_menu=false)
determineLayout()
Determine layout.
static getStyleSheetLocation(string $mode="output", string $a_css_name="")
get full style sheet file name (path inclusive) of current user
printToString()
Use this method to get the finally rendered page as string.
attrib2arr(?DOMNamedNodeMap $a_attributes)
$path
Definition: ltiservices.php:30
ilLMSubMenu()
output learning module submenu
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
offlineMode()
checks whether offline content generation is activated
ilJavaScript(string $a_inline="", string $a_file="", string $a_location="")
getContent(bool $skip_nav=false)
ilGlobalTemplateInterface $tpl
ilLMNotes()
output notes of page
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ media()

ilLMPresentationGUI::media ( )

Definition at line 667 of file class.ilLMPresentationGUI.php.

References ilMedia(), offlineMode(), setContentStyles(), and setSystemStyle().

Referenced by fullscreen(), and layout().

667  : string
668  {
669  $this->tpl = new ilGlobalTemplate("tpl.fullscreen.html", true, true, "components/ILIAS/LearningModule");
670 
671  // set style sheets
672  $this->setContentStyles();
673  $this->setSystemStyle();
674 
675  $this->ilMedia();
676  if (!$this->offlineMode()) {
677  $this->tpl->printToStdout();
678  } else {
679  return $this->tpl->printToString();
680  }
681  return "";
682  }
special template class to simplify handling of ITX/PEAR
setSystemStyle()
Set system style.
offlineMode()
checks whether offline content generation is activated
setContentStyles()
Set content style.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nop()

ilLMPresentationGUI::nop ( )

this dummy function is needed for offline package creation

Definition at line 435 of file class.ilLMPresentationGUI.php.

435  : void
436  {
437  }

◆ observeNoteAction()

ilLMPresentationGUI::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 LM.

Definition at line 2296 of file class.ilLMPresentationGUI.php.

References $text, ilLearningModuleNotification\ACTION_COMMENT, and ilNotification\TYPE_LM_PAGE.

2302  : void {
2303  $note = $this->notes->getById($a_note_id);
2304  $text = $note->getText();
2305 
2306  $notification = new ilLearningModuleNotification(
2309  $this->lm,
2310  $a_page_id,
2311  $text
2312  );
2313 
2314  $notification->send();
2315  }
$text
Definition: xapiexit.php:21
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

◆ offlineMode()

ilLMPresentationGUI::offlineMode ( )

checks whether offline content generation is activated

Definition at line 422 of file class.ilLMPresentationGUI.php.

References $offline.

Referenced by addResourceFiles(), basicPageGuiInit(), filterNonAccessibleNode(), getHeaderAction(), getSourcecodeDownloadLink(), glossary(), ilGlossary(), ilLMNotes(), ilLMSubMenu(), ilLocator(), ilMedia(), layout(), media(), outputInfoScreen(), page(), renderRating(), and renderTabs().

422  : bool
423  {
424  return $this->offline;
425  }
+ Here is the caller graph for this function:

◆ outputInfoScreen()

ilLMPresentationGUI::outputInfoScreen ( )

info screen

Definition at line 1383 of file class.ilLMPresentationGUI.php.

References $access, ILIAS\Repository\ctrl(), initScreenHead(), ILIAS\Repository\lng(), and offlineMode().

Referenced by executeCommand(), and showInfoScreen().

1383  : string
1384  {
1385  $ilAccess = $this->access;
1386 
1387  if (!$this->lm->isInfoEnabled()) {
1388  return "";
1389  }
1390 
1391  $this->initScreenHead();
1392 
1393  $this->lng->loadLanguageModule("meta");
1394 
1395  $info = new ilInfoScreenGUI($this->lm_gui);
1396  $info->enablePrivateNotes();
1397  //$info->enableLearningProgress();
1398  $info->enableNews();
1399  if ($ilAccess->checkAccess("write", "", $this->requested_ref_id)) {
1400  $news_set = new ilSetting("news");
1401  $enable_internal_rss = $news_set->get("enable_rss_for_internal");
1402 
1403  $info->enableNewsEditing();
1404 
1405  if ($enable_internal_rss) {
1406  $info->setBlockProperty("news", "settings", true);
1407  }
1408  }
1409 
1410  // show standard meta data section
1411  $info->addMetaDataSections($this->lm->getId(), 0, $this->lm->getType());
1412 
1413  $this->lng->loadLanguageModule("copg");
1414  $est_reading_time = $this->reading_time_manager->getReadingTime($this->lm->getId());
1415  if (!is_null($est_reading_time)) {
1416  $info->addProperty(
1417  $this->lng->txt("copg_est_reading_time"),
1418  sprintf($this->lng->txt("copg_x_minutes"), $est_reading_time)
1419  );
1420  }
1421 
1422  if ($this->offlineMode()) {
1423  $this->tpl->setContent($info->getHTML());
1424  return $this->tpl->get();
1425  } else {
1426  // forward the command
1427  $this->ctrl->forwardCommand($info);
1428  //$this->tpl->setContent("aa");
1429  $this->tpl->printToStdout();
1430  }
1431  return "";
1432  }
initScreenHead(string $a_active_tab="info")
offlineMode()
checks whether offline content generation is activated
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ page()

ilLMPresentationGUI::page ( )

Definition at line 714 of file class.ilLMPresentationGUI.php.

References $GLOBALS, $tpl, $user, getPageContent(), ilUtil\getStyleSheetLocation(), offlineMode(), renderPageTitle(), and setContentStyles().

714  : string
715  {
716  $ilUser = $this->user;
717  $this->tpl = new ilGlobalTemplate("tpl.page_fullscreen.html", true, true, "components/ILIAS/LearningModule");
718  $GLOBALS["tpl"] = $this->tpl;
719  $this->renderPageTitle();
720 
721  $this->setContentStyles();
722 
723  // set style sheets
724  if (!$this->offlineMode()) {
725  $this->tpl->setVariable("LOCATION_STYLESHEET", ilUtil::getStyleSheetLocation());
726  } else {
727  $style_name = $ilUser->getPref("style") . ".css";
728  $this->tpl->setVariable("LOCATION_STYLESHEET", "./style/" . $style_name);
729  }
730 
731  $this->tpl->setVariable("PAGE_CONTENT", $this->getPageContent());
732  if (!$this->offlineMode()) {
733  $this->tpl->printToStdout();
734  } else {
735  return $this->tpl->get();
736  }
737  return "";
738  }
static getStyleSheetLocation(string $mode="output", string $a_css_name="")
get full style sheet file name (path inclusive) of current user
special template class to simplify handling of ITX/PEAR
$GLOBALS["DIC"]
Definition: wac.php:30
offlineMode()
checks whether offline content generation is activated
ilGlobalTemplateInterface $tpl
setContentStyles()
Set content style.
+ Here is the call graph for this function:

◆ redrawHeaderAction()

ilLMPresentationGUI::redrawHeaderAction ( )

Definition at line 808 of file class.ilLMPresentationGUI.php.

References exit, and getHeaderAction().

808  : void
809  {
810  echo $this->getHeaderAction(true);
811  exit;
812  }
getHeaderAction(bool $a_redraw=false)
+ Here is the call graph for this function:

◆ refreshToc()

ilLMPresentationGUI::refreshToc ( )

Refresh toc (called if questions have been answered correctly)

Definition at line 2283 of file class.ilLMPresentationGUI.php.

References exit, and ilTOC().

2283  : void
2284  {
2285  $exp = $this->ilTOC();
2286 
2287  echo $exp->getHTML() .
2288  "<script>" . $exp->getOnLoadCode() . "</script>";
2289  exit;
2290  }
+ Here is the call graph for this function:

◆ renderPageTitle()

ilLMPresentationGUI::renderPageTitle ( )
protected

Definition at line 2239 of file class.ilLMPresentationGUI.php.

References getLMPresentationTitle().

Referenced by glossary(), ilMedia(), initScreenHead(), layout(), page(), and showPrintView().

2239  : void
2240  {
2241  $this->tpl->setHeaderPageTitle($this->getLMPresentationTitle());
2242  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ renderRating()

ilLMPresentationGUI::renderRating ( )
protected

Definition at line 1157 of file class.ilLMPresentationGUI.php.

References ILIAS\Repository\ctrl(), getCurrentPageId(), ILIAS\Repository\lng(), and offlineMode().

Referenced by getContent(), and getHTML().

1157  : string
1158  {
1159  // rating
1160  $rating = "";
1161  if ($this->lm->hasRatingPages() && !$this->offlineMode()) {
1162  $rating_gui = new ilRatingGUI();
1163  $rating_gui->setObject($this->lm->getId(), "lm", $this->getCurrentPageId(), "lm");
1164  $rating_gui->setYourRatingText($this->lng->txt("lm_rate_page"));
1165 
1166  $this->ctrl->setParameter($this, "pg_id", $this->getCurrentPageId());
1167  $this->tpl->addOnLoadCode("il.LearningModule.setRatingUrl('" .
1168  $this->ctrl->getLinkTarget($this, "updatePageRating", "", true, false) .
1169  "')");
1170  $this->ctrl->setParameter($this, "pg_id", "");
1171 
1172  $rating = '<div id="ilrtrpg" style="text-align:right">' .
1173  $rating_gui->getHTML(true, true, "il.LearningModule.saveRating(%rating%);") .
1174  "</div>";
1175  }
1176  return $rating;
1177  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
offlineMode()
checks whether offline content generation is activated
getCurrentPageId()
Get the current page id.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ renderTabs()

ilLMPresentationGUI::renderTabs ( string  $active_tab,
int  $current_page_id 
)
protected

Definition at line 2318 of file class.ilLMPresentationGUI.php.

References $additional_content, ILIAS\Repository\access(), ILIAS\Repository\ctrl(), getExportFormat(), getService(), ILIAS\Repository\lng(), offlineMode(), ilLMMenuRendererGUI\render(), ILIAS\Repository\tabs(), ILIAS\Repository\toolbar(), and ILIAS\Repository\user().

Referenced by ilLMMenu(), and initScreenHead().

2321  : void {
2322  $menu_editor = new ilLMMenuEditor();
2323  $menu_editor->setObjId($this->lm->getId());
2324 
2325  $navigation_renderer = new ilLMMenuRendererGUI(
2326  $this->getService(),
2327  $this->tabs,
2328  $this->toolbar,
2330  $active_tab,
2331  $this->getExportFormat(),
2332  $this->export_all_languages,
2333  $this->lm,
2334  $this->offlineMode(),
2335  $menu_editor,
2336  $this->lang,
2337  $this->ctrl,
2338  $this->access,
2339  $this->user,
2340  $this->lng,
2341  $this->tpl,
2342  function ($additional_content) {
2343  $this->additional_content[] = $additional_content;
2344  }
2345  );
2346  $navigation_renderer->render();
2347  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
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...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resume()

ilLMPresentationGUI::resume ( )
Exceptions
ilLMPresentationException

Definition at line 469 of file class.ilLMPresentationGUI.php.

References layout().

469  : void
470  {
471  $this->layout();
472  }
layout(string $a_xml="main.xml", bool $doShow=true)
+ Here is the call graph for this function:

◆ saveFrameUrl()

ilLMPresentationGUI::saveFrameUrl ( )

Definition at line 656 of file class.ilLMPresentationGUI.php.

References $requested_url.

656  : void
657  {
658  $store = new ilSessionIStorage("lm");
659  $store->set("cf_" . $this->lm->getId(), $this->requested_url);
660  }
Session based immediate storage.

◆ setContentStyles()

ilLMPresentationGUI::setContentStyles ( )
protected

Set content style.

Definition at line 1091 of file class.ilLMPresentationGUI.php.

References ilObjStyleSheet\getSyntaxStylePath().

Referenced by getContent(), glossary(), ilGlossary(), ilMedia(), media(), page(), showMessageScreen(), and showPrintView().

1091  : void
1092  {
1093  // content style
1094  $this->content_style_gui->addCss(
1095  $this->tpl,
1096  $this->lm->getRefId()
1097  );
1098  $this->tpl->addCss(ilObjStyleSheet::getSyntaxStylePath());
1099  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setHeader()

ilLMPresentationGUI::setHeader ( )

Definition at line 761 of file class.ilLMPresentationGUI.php.

References ilUtil\getImagePath(), and getLMPresentationTitle().

Referenced by layout().

761  : void
762  {
763  $this->tpl->setTitle($this->getLMPresentationTitle());
764  $this->tpl->setTitleIcon(ilUtil::getImagePath("standard/icon_lm.svg"));
765  }
static getImagePath(string $image_name, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setSystemStyle()

ilLMPresentationGUI::setSystemStyle ( )
protected

Set system style.

Definition at line 1104 of file class.ilLMPresentationGUI.php.

References ilUtil\getStyleSheetLocation().

Referenced by glossary(), and media().

1104  : void
1105  {
1106  $this->tpl->addCss(ilUtil::getStyleSheetLocation());
1107  }
static getStyleSheetLocation(string $mode="output", string $a_css_name="")
get full style sheet file name (path inclusive) of current user
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showInfoScreen()

ilLMPresentationGUI::showInfoScreen ( )

info screen call from inside learning module

Definition at line 1352 of file class.ilLMPresentationGUI.php.

References outputInfoScreen().

1352  : void
1353  {
1354  $this->outputInfoScreen();
1355  }
+ Here is the call graph for this function:

◆ showMessageScreen()

ilLMPresentationGUI::showMessageScreen ( string  $a_content)

Definition at line 2165 of file class.ilLMPresentationGUI.php.

References ilGlobalTemplateInterface\get(), setContentStyles(), and ilGlobalTemplateInterface\setVariable().

Referenced by showNavRestrictionDueToQuestions(), showNoPageAccess(), and showNoPublicAccess().

2167  : void {
2168  // content style
2169  $this->setContentStyles();
2170 
2171  $tpl = new ilTemplate("tpl.page_message_screen.html", true, true, "components/ILIAS/LearningModule");
2172  $tpl->setVariable("TXT_PAGE_NO_PUBLIC_ACCESS", $a_content);
2173 
2174  $this->tpl->setVariable("PAGE_CONTENT", $tpl->get());
2175  }
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
ilGlobalTemplateInterface $tpl
setContentStyles()
Set content style.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showNavRestrictionDueToQuestions()

ilLMPresentationGUI::showNavRestrictionDueToQuestions ( )

Show message if navigation to page is not allowed due to unanswered questions.

Definition at line 2197 of file class.ilLMPresentationGUI.php.

References ILIAS\Repository\lng(), and showMessageScreen().

2197  : void
2198  {
2199  $this->showMessageScreen($this->lng->txt("cont_no_page_access_unansw_q"));
2200  }
showMessageScreen(string $a_content)
+ Here is the call graph for this function:

◆ showNoPageAccess()

ilLMPresentationGUI::showNoPageAccess ( )

Show info message, if page is not accessible in public area.

Definition at line 2188 of file class.ilLMPresentationGUI.php.

References ILIAS\Repository\lng(), and showMessageScreen().

2188  : void
2189  {
2190  $this->showMessageScreen($this->lng->txt("msg_no_page_access"));
2191  }
showMessageScreen(string $a_content)
+ Here is the call graph for this function:

◆ showNoPublicAccess()

ilLMPresentationGUI::showNoPublicAccess ( )

Show info message, if page is not accessible in public area.

Definition at line 2180 of file class.ilLMPresentationGUI.php.

References ILIAS\Repository\lng(), and showMessageScreen().

2180  : void
2181  {
2182  $this->showMessageScreen($this->lng->txt("msg_page_no_public_access"));
2183  }
showMessageScreen(string $a_content)
+ Here is the call graph for this function:

◆ showPrintView()

ilLMPresentationGUI::showPrintView ( )

Definition at line 1630 of file class.ilLMPresentationGUI.php.

References $ctrl, Vendor\Package\$e, $id, $lang, $lng, $path, $tabs, $user, ilObjContentObject\_checkPreconditionsOfPage(), ilLMObject\_exists(), ilStructureObject\_getPresentationTitle(), ilLMPageObject\_getPresentationTitle(), ilInternalLink\_getTargetsOfSource(), ilGlossaryTerm\_lookGlossaryTerm(), ilPageObject\_lookupActive(), ilLMObject\_lookupType(), ilLMObject\CHAPTER_TITLE, ilGlobalTemplateInterface\get(), ilObjStyleSheet\getContentPrintStyle(), getCurrentPageId(), ilUtil\getImagePath(), getLMPageGUI(), getLMPresentationTitle(), getTracker(), ilFileUtils\getWebspaceDir(), IL_INST_ID, ILIAS\Repository\lng(), ilLMObject\PAGE_TITLE, ilGlobalTemplateInterface\parseCurrentBlock(), renderPageTitle(), ilTabsGUI\setBackTarget(), setContentStyles(), ilGlobalTemplateInterface\setCurrentBlock(), ilGlobalTemplateInterface\setVariable(), ilArrayUtil\sortArray(), ilLanguage\txt(), and ILIAS\Repository\ui().

1630  : void
1631  {
1632  $ilUser = $this->user;
1633  $lng = $this->lng;
1634  $ilCtrl = $this->ctrl;
1635  $tabs = $this->tabs;
1636  $header_page_content = "";
1637  $footer_page_content = "";
1638  $chapter_title = "";
1639  $did_chap_page_header = false;
1640 
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());
1645 
1646  if (!$this->lm->isActivePrintView() || !$this->lm->isActiveLMMenu()) {
1647  return;
1648  }
1649 
1650  $this->renderPageTitle();
1651 
1653  $lng->txt("back"),
1654  $ilCtrl->getLinkTarget($this, "layout")
1655  );
1656 
1657  $c_obj_id = $this->getCurrentPageId();
1658  // set values according to selection
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;
1664  }
1665  }
1666  if ($sel_type == "chapter" && $c_obj_id > 0) {
1667  $path = $this->lm_tree->getPathFull($c_obj_id);
1668  $chap_id = $path[1]["child"];
1669  if ($chap_id > 0) {
1670  $sel_obj_ids[] = $chap_id;
1671  }
1672  }
1673 
1674  $this->setContentStyles();
1675  $this->tpl->addCss(ilObjStyleSheet::getContentPrintStyle());
1676 
1677  $tpl = new ilTemplate("tpl.lm_print_view.html", true, true, "components/ILIAS/LearningModule");
1678 
1679  // set title header
1680  $this->tpl->setTitle($this->getLMPresentationTitle());
1681 
1682  $nodes = $this->lm_tree->getSubTree($this->lm_tree->getNodeData($this->lm_tree->getRootId()));
1683 
1684  $act_level = 99999;
1685  $activated = false;
1686 
1687  $glossary_links = array();
1688  $output_header = false;
1689  $media_links = array();
1690  $last_page_title = "";
1691 
1692  // get header and footer
1693  if ($this->lm->getFooterPage() > 0 && !$this->lm->getHideHeaderFooterPrint()) {
1694  if (ilLMObject::_exists($this->lm->getFooterPage())) {
1695  $page_object_gui = $this->getLMPageGUI($this->lm->getFooterPage());
1696  $page_object_gui->setStyleId(
1697  $this->content_style_domain->getEffectiveStyleId()
1698  );
1699 
1700  // determine target frames for internal links
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();
1708  }
1709  }
1710  if ($this->lm->getHeaderPage() > 0 && !$this->lm->getHideHeaderFooterPrint()) {
1711  if (ilLMObject::_exists($this->lm->getHeaderPage())) {
1712  $page_object_gui = $this->getLMPageGUI($this->lm->getHeaderPage());
1713  $page_object_gui->setStyleId(
1714  $this->content_style_domain->getEffectiveStyleId()
1715  );
1716 
1717  // determine target frames for internal links
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();
1725  }
1726  }
1727 
1728  // add free selected pages
1729  if (count($sel_obj_ids) > 0) {
1730  foreach ($sel_obj_ids as $k) {
1731  if ($k > 0 && !$this->lm_tree->isInTree($k)) {
1732  if (ilLMObject::_lookupType($k) == "pg") {
1733  $nodes[] = array("obj_id" => $k, "type" => "pg", "free" => true);
1734  }
1735  }
1736  }
1737  } else {
1738  $this->tpl->setOnScreenMessage('failure', $lng->txt("cont_print_no_page_selected"), true);
1739  $ilCtrl->redirect($this, "showPrintViewSelection");
1740  }
1741 
1742  foreach ($nodes as $node_key => $node) {
1743  // check page activation
1744  $active = ilLMPage::_lookupActive(
1745  $node["obj_id"],
1746  $this->lm->getType(),
1747  (bool) $this->lm_set->get("time_scheduled_page_activation")
1748  );
1749  if ($node["type"] == "pg" && !$active) {
1750  continue;
1751  }
1752 
1753  // print all subchapters/subpages if higher chapter
1754  // has been selected
1755  if ($node["depth"] <= $act_level) {
1756  if (in_array($node["obj_id"], $sel_obj_ids)) {
1757  $act_level = $node["depth"];
1758  $activated = true;
1759  } else {
1760  $act_level = 99999;
1761  $activated = false;
1762  }
1763  }
1764  if ($this->lm->getRestrictForwardNavigation()) {
1765  if ($this->getTracker()->hasPredIncorrectAnswers($node["obj_id"])) {
1766  continue;
1767  }
1768  }
1769  if ($activated &&
1771  $this->lm->getRefId(),
1772  $this->lm->getId(),
1773  $node["obj_id"]
1774  )) {
1775  // output learning module header
1776  if ($node["type"] == "du") {
1777  $output_header = true;
1778  }
1779 
1780  // output chapter title
1781  if ($node["type"] == "st") {
1782 
1783  $chap = new ilStructureObject($this->lm, $node["obj_id"]);
1784  $tpl->setCurrentBlock("print_chapter");
1785 
1786  $chapter_title = $chap->_getPresentationTitle(
1787  $node["obj_id"],
1789  $this->lm->isActiveNumbering(),
1790  (bool) $this->lm_set->get("time_scheduled_page_activation"),
1791  false,
1792  0,
1793  $this->lang
1794  );
1795  $tpl->setVariable(
1796  "CHAP_TITLE",
1797  $chapter_title
1798  );
1799 
1800  if ($this->lm->getPageHeader() == ilLMObject::CHAPTER_TITLE) {
1801  if ($nodes[$node_key + 1]["type"] == "pg") {
1802  $tpl->setVariable(
1803  "CHAP_HEADER",
1804  $header_page_content
1805  );
1806  $did_chap_page_header = true;
1807  }
1808  }
1809 
1811  $tpl->setCurrentBlock("print_block");
1813  }
1814 
1815  // output page
1816  if ($node["type"] === "pg") {
1817 
1818  $tpl->setCurrentBlock("print_item");
1819 
1820  // get page
1821  $page_id = $node["obj_id"];
1822  $page_object_gui = $this->getLMPageGUI($page_id);
1823  $page_object = $page_object_gui->getPageObject();
1824  $page_object_gui->setStyleId(
1825  $this->content_style_domain->getEffectiveStyleId()
1826  );
1827 
1828  // get lm page
1829  $lm_pg_obj = new ilLMPageObject($this->lm, $page_id);
1830  $lm_pg_obj->setLMId($this->lm->getId());
1831 
1832  // determine target frames for internal links
1833  $page_object_gui->setLinkFrame($this->requested_frame);
1834  $page_object_gui->setOutputMode("print");
1835  $page_object_gui->setPresentationTitle("");
1836 
1837  // if ($this->lm->getPageHeader() == ilLMObject::PAGE_TITLE || ($node["free"] ?? false) === true) {
1838  if (true) {
1840  $lm_pg_obj->getId(),
1841  $this->lm->getPageHeader(),
1842  $this->lm->isActiveNumbering(),
1843  (bool) $this->lm_set->get("time_scheduled_page_activation"),
1844  false,
1845  0,
1846  $this->lang
1847  );
1848 
1849  if ($this->lm->getPageHeader() === ilLMObject::CHAPTER_TITLE) {
1850  // remove the suffic (x/n)
1851  $page_title = trim(substr($page_title, 0, strrpos($page_title, " ")));
1852  }
1853 
1854  // prevent page title after chapter title
1855  // that have the same content
1856  if ($this->lm->isActiveNumbering()) {
1857  $chapter_title = trim(substr(
1858  $chapter_title,
1859  strpos($chapter_title, " ")
1860  ));
1861  }
1862 
1863  if ($page_title != $chapter_title && $page_title !== $last_page_title) {
1864  $page_object_gui->setPresentationTitle($page_title);
1865  }
1866  $last_page_title = $page_title;
1867  }
1868 
1869  // handle header / footer
1870  $hcont = $header_page_content;
1871  $fcont = $footer_page_content;
1872 
1873  if ($this->lm->getPageHeader() == ilLMObject::CHAPTER_TITLE) {
1874  if ($did_chap_page_header) {
1875  $hcont = "";
1876  }
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))) {
1880  $fcont = "";
1881  }
1882  }
1883 
1884  $page_object_gui->setFileDownloadLink("#");
1885  $page_object_gui->setFullscreenLink("#");
1886  $page_object_gui->setSourcecodeDownloadScript("#");
1887  $page_content = $page_object_gui->showPage();
1888  if ($this->lm->getPageHeader() != ilLMObject::PAGE_TITLE) {
1889  $tpl->setVariable(
1890  "CONTENT",
1891  $hcont . $page_content . $fcont
1892  );
1893  } else {
1894  $tpl->setVariable(
1895  "CONTENT",
1896  $hcont . $page_content . $fcont . "<br />"
1897  );
1898  }
1899  $chapter_title = "";
1901  $tpl->setCurrentBlock("print_block");
1903 
1904  // get internal links
1905  $int_links = ilInternalLink::_getTargetsOfSource($this->lm->getType() . ":pg", $node["obj_id"]);
1906 
1907  $got_mobs = false;
1908 
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;
1913  }
1914  if ($link["type"] == "mob" &&
1915  ($link["inst"] == IL_INST_ID || $link["inst"] == 0)) {
1916  $got_mobs = true;
1917  $mob_links[$key] = $link;
1918  }
1919  }
1920 
1921  // this is not cool because of performance reasons
1922  // unfortunately the int link table does not
1923  // store the target frame (we want to append all linked
1924  // images but not inline images (i.e. mobs with no target
1925  // frame))
1926  if ($got_mobs) {
1927  $page_object->buildDom();
1928  $links = $page_object->getInternalLinks();
1929  $tf = $link["TargetFrame"] ?? "";
1930  foreach ($links as $link) {
1931  if ($link["Type"] === "MediaObject"
1932  && $tf !== ""
1933  && $tf !== "None") {
1934  $media_links[] = $link;
1935  }
1936  }
1937  }
1938  }
1939  }
1940  }
1941 
1942  $annex_cnt = 0;
1943  $annexes = array();
1944 
1945  // glossary
1946  if (count($glossary_links) > 0 && !$this->lm->isActivePreventGlossaryAppendix()) {
1947  // sort terms
1948  $terms = array();
1949 
1950  foreach ($glossary_links as $key => $link) {
1951  $term = ilGlossaryTerm::_lookGlossaryTerm($link["id"]);
1952  $terms[$term . ":" . $key] = array("key" => $key, "link" => $link, "term" => $term);
1953  }
1954  $terms = ilArrayUtil::sortArray($terms, "term", "asc");
1955  //ksort($terms);
1956 
1957  foreach ($terms as $t) {
1958  $link = $t["link"];
1959  $key = $t["key"];
1960 
1961  try {
1962  // output definition of term
1963  $page_gui = new ilGlossaryDefPageGUI($link["id"]);
1964  $page_gui->setTemplateOutput(false);
1965  $page_gui->setOutputMode("print");
1966 
1967  $tpl->setCurrentBlock("definition");
1968  $page_gui->setFileDownloadLink("#");
1969  $page_gui->setFullscreenLink("#");
1970  $page_gui->setSourcecodeDownloadScript("#");
1971  $output = $page_gui->showPage();
1972  $tpl->setVariable("VAL_DEFINITION", $output);
1974 
1975  // output term
1976  $tpl->setCurrentBlock("term");
1977  $tpl->setVariable(
1978  "VAL_TERM",
1979  $term = ilGlossaryTerm::_lookGlossaryTerm($link["id"])
1980  );
1982  } catch (Exception $e) {
1983 
1984  }
1985  }
1986 
1987  // output glossary header
1988  $annex_cnt++;
1989  $tpl->setCurrentBlock("glossary");
1990  $annex_title = $this->lng->txt("cont_annex") . " " .
1991  chr(64 + $annex_cnt) . ": " . $this->lng->txt("glo");
1992  $tpl->setVariable("TXT_GLOSSARY", $annex_title);
1994 
1995  $annexes[] = $annex_title;
1996  }
1997 
1998  // referenced images
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];
2004 
2005  $med_obj = new ilObjMediaObject($id);
2006  $med_item = $med_obj->getMediaItem("Standard");
2007  if (is_object($med_item)) {
2008  if (is_int(strpos($med_item->getFormat(), "image"))) {
2009  $tpl->setCurrentBlock("ref_image");
2010 
2011  // image source
2012  if ($med_item->getLocationType() == "LocalFile") {
2013  $tpl->setVariable(
2014  "IMG_SOURCE",
2015  ilFileUtils::getWebspaceDir("output") . "/mobs/mm_" . $id .
2016  "/" . $med_item->getLocation()
2017  );
2018  } else {
2019  $tpl->setVariable(
2020  "IMG_SOURCE",
2021  $med_item->getLocation()
2022  );
2023  }
2024 
2025  if ($med_item->getCaption() != "") {
2026  $tpl->setVariable("IMG_TITLE", $med_item->getCaption());
2027  } else {
2028  $tpl->setVariable("IMG_TITLE", $med_obj->getTitle());
2029  }
2031  }
2032  }
2033  }
2034  }
2035 
2036  // output glossary header
2037  $annex_cnt++;
2038  $tpl->setCurrentBlock("ref_images");
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);
2043 
2044  $annexes[] = $annex_title;
2045  }
2046 
2047  // output learning module title and toc
2048  if ($output_header) {
2049  $tpl->setCurrentBlock("print_header");
2050  $tpl->setVariable("LM_TITLE", $this->getLMPresentationTitle());
2051  if ($this->lm->getDescription() != "none") {
2052  $tpl->setVariable(
2053  "LM_DESCRIPTION",
2054  $lom_reader->firstData($lom_paths->firstDescription())->value()
2055  );
2056  }
2058 
2059  // output toc
2060  $nodes2 = $nodes;
2061  foreach ($nodes2 as $node2) {
2062  if ($node2["type"] == "st"
2064  $this->lm->getRefId(),
2065  $this->lm->getId(),
2066  $node2["obj_id"]
2067  )) {
2068  for ($j = 1; $j < $node2["depth"]; $j++) {
2069  $tpl->setCurrentBlock("indent");
2070  $tpl->setVariable("IMG_BLANK", ilUtil::getImagePath("browser/blank.png"));
2072  }
2073  $tpl->setCurrentBlock("toc_entry");
2074  $tpl->setVariable(
2075  "TXT_TOC_TITLE",
2077  $node2["obj_id"],
2079  $this->lm->isActiveNumbering(),
2080  (bool) $this->lm_set->get("time_scheduled_page_activation"),
2081  false,
2082  0,
2083  $this->lang
2084  )
2085  );
2087  }
2088  }
2089 
2090  // annexes
2091  foreach ($annexes as $annex) {
2092  $tpl->setCurrentBlock("indent");
2093  $tpl->setVariable("IMG_BLANK", ilUtil::getImagePath("browser/blank.png"));
2095  $tpl->setCurrentBlock("toc_entry");
2096  $tpl->setVariable("TXT_TOC_TITLE", $annex);
2098  }
2099 
2100  $tpl->setCurrentBlock("toc");
2101  $tpl->setVariable("TXT_TOC", $this->lng->txt("cont_toc"));
2103 
2104  $tpl->setCurrentBlock("print_start_block");
2106  }
2107 
2108  // output author information
2109  $authors = $lom_data_helper->makePresentableAsList(
2110  ", ",
2111  ...$lom_reader->allData($lom_paths->authors())
2112  );
2113  if ($authors != "") {
2114  $this->lng->loadLanguageModule("meta");
2115  $tpl->setCurrentBlock("author");
2116  $tpl->setVariable("TXT_AUTHOR", $this->lng->txt("meta_author"));
2117  $tpl->setVariable("LM_AUTHOR", $authors);
2119  }
2120 
2121  // output copyright information
2122  if ($lom_cp_helper->hasPresetCopyright($lom_reader)) {
2123  $copyright = $this->ui->renderer()->render(
2124  $lom_cp_helper->readPresetCopyright($lom_reader)->presentAsUIComponents()
2125  );
2126  } else {
2127  $copyright = $lom_cp_helper->readCustomCopyright($lom_reader);
2128  }
2129  if ($copyright != "") {
2130  $this->lng->loadLanguageModule("meta");
2131  $tpl->setCurrentBlock("copyright");
2132  $tpl->setVariable("TXT_COPYRIGHT", $this->lng->txt("meta_copyright"));
2133  $tpl->setVariable("LM_COPYRIGHT", $copyright);
2135  }
2136  $this->tpl->setContent($tpl->get());
2137  $this->tpl->addOnLoadCode("il.Util.print();");
2138  $this->tpl->printToStdout();
2139  }
static getWebspaceDir(string $mode="filesystem")
get webspace directory
static _lookupActive(int $a_id, string $a_parent_type, bool $a_check_scheduled_activation=false, string $a_lang="-")
lookup activation status
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)
const IL_INST_ID
Definition: constants.php:40
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...
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
$path
Definition: ltiservices.php:30
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
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 _lookGlossaryTerm(int $term_id)
get glossary term
setBackTarget(string $a_title, string $a_target, string $a_frame="")
static getImagePath(string $image_name, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
getCurrentPageId()
Get the current page id.
setCurrentBlock(string $part=self::DEFAULT_BLOCK)
Sets the template to the given block.
static _exists(int $a_id)
checks wether a lm content object with specified id exists or not
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
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&#39;t have to be page title, it may be chapter title + page title or chapter tit...
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:24
ilGlobalTemplateInterface $tpl
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)
parseCurrentBlock(string $block_name=self::DEFAULT_BLOCK)
Parses the given block.
setContentStyles()
Set content style.
static sortArray(array $array, string $a_array_sortby_key, string $a_array_sortorder="asc", bool $a_numeric=false, bool $a_keep_keys=false)
+ Here is the call graph for this function:

◆ showPrintViewSelection()

ilLMPresentationGUI::showPrintViewSelection ( )

show selection screen for print view

Definition at line 1437 of file class.ilLMPresentationGUI.php.

References Vendor\Package\$f, $id, $lang, $lng, $requested_obj_id, $text, $user, ilObjContentObject\_checkPreconditionsOfPage(), ilStructureObject\_getPresentationTitle(), ilLMPageObject\_getPresentationTitle(), ilPageObject\_lookupActive(), ilLMObject\CHAPTER_TITLE, ILIAS\Repository\ctrl(), exit, filterNonAccessibleNode(), ILIAS\Repository\form(), ilGlobalTemplateInterface\get(), ilUtil\getImagePath(), getLMPresentationTitle(), initPrintViewSelectionForm(), ILIAS\Repository\lng(), ilGlobalTemplateInterface\setVariable(), ilLanguage\txt(), and ILIAS\Repository\ui().

1437  : void
1438  {
1439  $ilUser = $this->user;
1440  $lng = $this->lng;
1441 
1442  if (!$this->lm->isActivePrintView() || !$this->lm->isActiveLMMenu()) {
1443  return;
1444  }
1445 
1446  $disabled = false;
1447  $img_alt = "";
1448 
1449  $tpl = new ilTemplate("tpl.lm_print_selection.html", true, true, "components/ILIAS/LearningModule");
1450 
1451  $this->ctrl->setParameterByClass("illmpresentationgui", "obj_id", $this->requested_obj_id);
1452  $tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
1453 
1454  $nodes = $this->lm_tree->getSubTree($this->lm_tree->getNodeData($this->lm_tree->getRootId()));
1455  $nodes = $this->filterNonAccessibleNode($nodes);
1456 
1457  $this->initPrintViewSelectionForm();
1458 
1459  foreach ($nodes as $node) {
1460  $img_src = "";
1461  $disabled = false;
1462  $img_alt = "";
1463 
1464  // check page activation
1465  $active = ilLMPage::_lookupActive(
1466  $node["obj_id"],
1467  $this->lm->getType(),
1468  (bool) $this->lm_set->get("time_scheduled_page_activation")
1469  );
1470 
1471  if ($node["type"] == "pg" &&
1472  !$active) {
1473  continue;
1474  }
1475 
1476  $text = "";
1477  $img_alt = "";
1478  $checked = false;
1479 
1480  switch ($node["type"]) {
1481  // page
1482  case "pg":
1483  $text =
1485  $node["obj_id"],
1486  $this->lm->getPageHeader(),
1487  $this->lm->isActiveNumbering(),
1488  (bool) $this->lm_set->get("time_scheduled_page_activation"),
1489  false,
1490  0,
1491  $this->lang
1492  );
1493 
1494  $img_src = ilUtil::getImagePath("standard/icon_pg.svg");
1495  $img_alt = $lng->txt("icon") . " " . $lng->txt("pg");
1496  break;
1497 
1498  // learning module
1499  case "du":
1500  $text = $this->getLMPresentationTitle();
1501  $img_src = ilUtil::getImagePath("standard/icon_lm.svg");
1502  $img_alt = $lng->txt("icon") . " " . $lng->txt("obj_lm");
1503  break;
1504 
1505  // chapter
1506  case "st":
1507  $text =
1509  $node["obj_id"],
1511  $this->lm->isActiveNumbering(),
1512  (bool) $this->lm_set->get("time_scheduled_page_activation"),
1513  false,
1514  0,
1515  $this->lang
1516  );
1517  $img_src = ilUtil::getImagePath("standard/icon_st.svg");
1518  $img_alt = $lng->txt("icon") . " " . $lng->txt("st");
1519  break;
1520  }
1521 
1523  $this->lm->getRefId(),
1524  $this->lm->getId(),
1525  $node["obj_id"]
1526  )) {
1527  $text .= " (" . $this->lng->txt("cont_no_access") . ")";
1528  }
1529 
1530  $this->nl->addListNode(
1531  $node["obj_id"],
1532  $text,
1533  $node["parent"],
1534  $checked,
1535  $disabled,
1536  $img_src,
1537  $img_alt
1538  );
1539  }
1540 
1541  // check for free page
1542  if ($this->requested_obj_id > 0 && !$this->lm_tree->isInTree($this->requested_obj_id)) {
1543  $text =
1545  $this->requested_obj_id,
1546  $this->lm->getPageHeader(),
1547  $this->lm->isActiveNumbering(),
1548  (bool) $this->lm_set->get("time_scheduled_page_activation"),
1549  false,
1550  0,
1551  $this->lang
1552  );
1553 
1554  $img_src = ilUtil::getImagePath("standard/icon_pg.svg");
1556 
1557  $checked = true;
1558 
1559  $this->nl->addListNode(
1560  $id,
1561  $text,
1562  0,
1563  $checked,
1564  $disabled,
1565  $img_src,
1566  $img_alt
1567  );
1568  }
1569 
1570  $f = $this->form->getHTMLAsync();
1571 
1572  $tpl->setVariable("ITEM_SELECTION", $f);
1573 
1574  $modal = $this->ui->factory()->modal()->roundtrip(
1575  $this->lng->txt("cont_print_view"),
1576  $this->ui->factory()->legacy($tpl->get())
1577  );
1578  echo $this->ui->renderer()->render($modal);
1579  exit();
1580  }
static _lookupActive(int $a_id, string $a_parent_type, bool $a_check_scheduled_activation=false, string $a_lang="-")
lookup activation status
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)
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...
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
static _checkPreconditionsOfPage(int $cont_ref_id, int $cont_obj_id, int $page_id)
checks whether the preconditions of a page are fulfilled or not
$text
Definition: xapiexit.php:21
static getImagePath(string $image_name, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
form( $class_path, string $cmd, string $submit_caption="")
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&#39;t have to be page title, it may be chapter title + page title or chapter tit...
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:24
ilGlobalTemplateInterface $tpl
+ Here is the call graph for this function:

◆ updatePageRating()

ilLMPresentationGUI::updatePageRating ( )

Definition at line 1179 of file class.ilLMPresentationGUI.php.

References $user, ILIAS\Repository\ctrl(), exit, ILIAS\Repository\lng(), ilRating\resetRatingForUserAndObject(), and ilRating\writeRatingForUserAndObject().

1179  : void
1180  {
1181  $ilUser = $this->user;
1182  $pg_id = $this->service->getRequest()->getPgId();
1183  if (!$this->ctrl->isAsynch() || !$pg_id) {
1184  exit();
1185  }
1186 
1187  $rating = $this->service->getRequest()->getRating();
1188  if ($rating) {
1190  $this->lm->getId(),
1191  "lm",
1192  $pg_id,
1193  "lm",
1194  $ilUser->getId(),
1195  $rating
1196  );
1197  } else {
1199  $this->lm->getId(),
1200  "lm",
1201  $pg_id,
1202  "lm",
1203  $ilUser->getId()
1204  );
1205  }
1206 
1207  $rating = new ilRatingGUI();
1208  $rating->setObject($this->lm->getId(), "lm", $pg_id, "lm");
1209  $rating->setYourRatingText($this->lng->txt("lm_rate_page"));
1210 
1211  echo $rating->getHTML(true, true, "il.LearningModule.saveRating(%rating%);");
1212 
1213  echo $this->tpl->getOnLoadCodeForAsynch();
1214  exit();
1215  }
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.
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.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

Field Documentation

◆ $abstract

bool ilLMPresentationGUI::$abstract = false
protected

Definition at line 91 of file class.ilLMPresentationGUI.php.

◆ $access

ilAccessHandler ilLMPresentationGUI::$access
protected

◆ $additional_content

array ilLMPresentationGUI::$additional_content = []
protected

Definition at line 85 of file class.ilLMPresentationGUI.php.

Referenced by renderTabs().

◆ $chapter_has_no_active_page

bool ilLMPresentationGUI::$chapter_has_no_active_page = false

Definition at line 71 of file class.ilLMPresentationGUI.php.

◆ $content_style_domain

ILIAS Style Content Object ObjectFacade ilLMPresentationGUI::$content_style_domain
protected

Definition at line 93 of file class.ilLMPresentationGUI.php.

◆ $content_style_gui

ILIAS Style Content GUIService ilLMPresentationGUI::$content_style_gui
protected

Definition at line 94 of file class.ilLMPresentationGUI.php.

◆ $cs

ILIAS Style Content Service ilLMPresentationGUI::$cs = null
protected

Definition at line 95 of file class.ilLMPresentationGUI.php.

◆ $ctrl

ilCtrl ilLMPresentationGUI::$ctrl
protected

◆ $current_page_id

int ilLMPresentationGUI::$current_page_id = 0
protected

Definition at line 68 of file class.ilLMPresentationGUI.php.

◆ $deactivated_page

bool ilLMPresentationGUI::$deactivated_page = false

Definition at line 72 of file class.ilLMPresentationGUI.php.

◆ $dom_util

ILIAS COPage Dom DomUtil ilLMPresentationGUI::$dom_util
protected

Definition at line 32 of file class.ilLMPresentationGUI.php.

◆ $embed_mode

bool ilLMPresentationGUI::$embed_mode = false
protected

Definition at line 67 of file class.ilLMPresentationGUI.php.

Referenced by getHeaderAction(), and initByRequest().

◆ $export_all_languages

bool ilLMPresentationGUI::$export_all_languages = false
protected

Definition at line 70 of file class.ilLMPresentationGUI.php.

◆ $export_format

string ilLMPresentationGUI::$export_format
protected

Definition at line 48 of file class.ilLMPresentationGUI.php.

Referenced by getExportFormat().

◆ $fill_on_load_code

bool ilLMPresentationGUI::$fill_on_load_code
protected

Definition at line 45 of file class.ilLMPresentationGUI.php.

◆ $focus_id

int ilLMPresentationGUI::$focus_id = 0
protected

Definition at line 69 of file class.ilLMPresentationGUI.php.

◆ $form

ilPropertyFormGUI ilLMPresentationGUI::$form
protected

Definition at line 50 of file class.ilLMPresentationGUI.php.

◆ $frames

array ilLMPresentationGUI::$frames
protected

Definition at line 47 of file class.ilLMPresentationGUI.php.

Referenced by getCurrentFrameSet().

◆ $global_screen

ILIAS GlobalScreen Services ilLMPresentationGUI::$global_screen
protected

Definition at line 35 of file class.ilLMPresentationGUI.php.

◆ $help

ilHelpGUI ilLMPresentationGUI::$help
protected

Definition at line 59 of file class.ilLMPresentationGUI.php.

◆ $lang

string ilLMPresentationGUI::$lang

◆ $layout_doc

DOMDocument ilLMPresentationGUI::$layout_doc

Definition at line 64 of file class.ilLMPresentationGUI.php.

◆ $linker

ilLMPresentationLinker ilLMPresentationGUI::$linker
protected

Definition at line 81 of file class.ilLMPresentationGUI.php.

◆ $lm

ilObjLearningModule ilLMPresentationGUI::$lm
protected

Definition at line 61 of file class.ilLMPresentationGUI.php.

◆ $lm_gui

ilObjLearningModuleGUI ilLMPresentationGUI::$lm_gui
protected

Definition at line 44 of file class.ilLMPresentationGUI.php.

◆ $lm_set

ilSetting ilLMPresentationGUI::$lm_set
protected

Definition at line 43 of file class.ilLMPresentationGUI.php.

◆ $lm_tree

ilLMTree ilLMPresentationGUI::$lm_tree
protected

Definition at line 46 of file class.ilLMPresentationGUI.php.

◆ $lng

◆ $locator

ilLocatorGUI ilLMPresentationGUI::$locator
protected

Definition at line 57 of file class.ilLMPresentationGUI.php.

Referenced by ilLocator(), and initScreenHead().

◆ $lom_services

LOMServices ilLMPresentationGUI::$lom_services
protected

Definition at line 60 of file class.ilLMPresentationGUI.php.

◆ $nav_history

ilNavigationHistory ilLMPresentationGUI::$nav_history
protected

Definition at line 54 of file class.ilLMPresentationGUI.php.

Referenced by executeCommand().

◆ $nl

ilNestedListInputGUI ilLMPresentationGUI::$nl
protected

Definition at line 42 of file class.ilLMPresentationGUI.php.

Referenced by initPrintViewSelectionForm().

◆ $notes

ILIAS Notes DomainService ilLMPresentationGUI::$notes
protected

Definition at line 36 of file class.ilLMPresentationGUI.php.

◆ $notes_gui

ILIAS Notes GUIService ilLMPresentationGUI::$notes_gui
protected

Definition at line 34 of file class.ilLMPresentationGUI.php.

◆ $offline

bool ilLMPresentationGUI::$offline

Definition at line 65 of file class.ilLMPresentationGUI.php.

Referenced by offlineMode().

◆ $offline_directory

string ilLMPresentationGUI::$offline_directory

Definition at line 66 of file class.ilLMPresentationGUI.php.

Referenced by getOfflineDirectory().

◆ $ot

ilObjectTranslation ilLMPresentationGUI::$ot
protected

Definition at line 92 of file class.ilLMPresentationGUI.php.

◆ $rbacsystem

ilRbacSystem ilLMPresentationGUI::$rbacsystem
protected

Definition at line 52 of file class.ilLMPresentationGUI.php.

Referenced by ilLMSubMenu().

◆ $reading_time_manager

ILIAS LearningModule ReadingTime ReadingTimeManager ilLMPresentationGUI::$reading_time_manager
protected

Definition at line 37 of file class.ilLMPresentationGUI.php.

◆ $requested_back_pg

string ilLMPresentationGUI::$requested_back_pg
protected

Definition at line 73 of file class.ilLMPresentationGUI.php.

◆ $requested_cmd

string ilLMPresentationGUI::$requested_cmd = ""
protected

Definition at line 86 of file class.ilLMPresentationGUI.php.

◆ $requested_focus_return

string ilLMPresentationGUI::$requested_focus_return
protected

Definition at line 75 of file class.ilLMPresentationGUI.php.

◆ $requested_frame

string ilLMPresentationGUI::$requested_frame
protected

Definition at line 80 of file class.ilLMPresentationGUI.php.

Referenced by ilLocator().

◆ $requested_mob_id

int ilLMPresentationGUI::$requested_mob_id = 0
protected

Definition at line 89 of file class.ilLMPresentationGUI.php.

◆ $requested_notification_switch

int ilLMPresentationGUI::$requested_notification_switch = 0
protected

Definition at line 90 of file class.ilLMPresentationGUI.php.

◆ $requested_obj_id

int ilLMPresentationGUI::$requested_obj_id
protected

◆ $requested_obj_type

string ilLMPresentationGUI::$requested_obj_type
protected

Definition at line 78 of file class.ilLMPresentationGUI.php.

Referenced by layout().

◆ $requested_pg_id

int ilLMPresentationGUI::$requested_pg_id = 0
protected

Definition at line 87 of file class.ilLMPresentationGUI.php.

◆ $requested_pg_type

string ilLMPresentationGUI::$requested_pg_type = ""
protected

Definition at line 88 of file class.ilLMPresentationGUI.php.

◆ $requested_ref_id

int ilLMPresentationGUI::$requested_ref_id
protected

Definition at line 76 of file class.ilLMPresentationGUI.php.

Referenced by ilLocator().

◆ $requested_search_string

string ilLMPresentationGUI::$requested_search_string
protected

Definition at line 74 of file class.ilLMPresentationGUI.php.

◆ $requested_transl

string ilLMPresentationGUI::$requested_transl
protected

Definition at line 79 of file class.ilLMPresentationGUI.php.

◆ $requested_type

string ilLMPresentationGUI::$requested_type
protected

Definition at line 39 of file class.ilLMPresentationGUI.php.

◆ $requested_url

string ilLMPresentationGUI::$requested_url
protected

Definition at line 38 of file class.ilLMPresentationGUI.php.

Referenced by saveFrameUrl().

◆ $service

ilLMPresentationService ilLMPresentationGUI::$service
protected

Definition at line 82 of file class.ilLMPresentationGUI.php.

Referenced by getService().

◆ $settings

ilSetting ilLMPresentationGUI::$settings
protected

Definition at line 56 of file class.ilLMPresentationGUI.php.

Referenced by getHeaderAction(), and ilLMNotes().

◆ $tabs

ilTabsGUI ilLMPresentationGUI::$tabs
protected

Definition at line 41 of file class.ilLMPresentationGUI.php.

Referenced by showPrintView().

◆ $toolbar

ilToolbarGUI ilLMPresentationGUI::$toolbar
protected

Definition at line 84 of file class.ilLMPresentationGUI.php.

◆ $tpl

ilGlobalTemplateInterface ilLMPresentationGUI::$tpl

Definition at line 62 of file class.ilLMPresentationGUI.php.

Referenced by getHeaderAction(), injectTemplate(), layout(), and page().

◆ $tracker

ilLMTracker ilLMPresentationGUI::$tracker
protected

Definition at line 40 of file class.ilLMPresentationGUI.php.

◆ $tree

ilTree ilLMPresentationGUI::$tree
protected

Definition at line 58 of file class.ilLMPresentationGUI.php.

◆ $ui

ILIAS DI UIServices ilLMPresentationGUI::$ui
protected

Definition at line 83 of file class.ilLMPresentationGUI.php.

◆ $user

ilObjUser ilLMPresentationGUI::$user
protected

◆ $xsl

ILIAS COPage Xsl XslManager ilLMPresentationGUI::$xsl
protected

Definition at line 33 of file class.ilLMPresentationGUI.php.


The documentation for this class was generated from the following file: