ILIAS  trunk Revision v11.0_alpha-2638-g80c1d007f79
ilLMPresentationGUI Class Reference

Class ilLMPresentationGUI GUI class for learning module presentation. 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
 
Translations $ot
 
ILIAS Style Content Object ObjectFacade $content_style_domain
 
ILIAS Style Content GUIService $content_style_gui
 
ILIAS Style Content Service $cs = null
 

Detailed Description

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 98 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().

105  {
106  global $DIC;
107 
108  $this->offline = ($a_export_format != "");
109  $this->export_all_languages = $a_all_languages;
110  $this->export_format = $a_export_format; // html/scorm
111  $this->offline_directory = $a_export_dir;
112 
113  $this->tabs = $DIC->tabs();
114  $this->toolbar = $DIC->toolbar();
115  $this->user = $DIC->user();
116  $this->rbacsystem = $DIC->rbac()->system();
117  $this->nav_history = $DIC["ilNavigationHistory"];
118  $this->access = $DIC->access();
119  $this->settings = $DIC->settings();
120  $this->locator = $DIC["ilLocator"];
121  $this->tree = $DIC->repositoryTree();
122  $this->help = $DIC["ilHelp"];
123  $this->global_screen = $DIC->globalScreen();
124  $this->lom_services = $DIC->learningObjectMetadata();
125 
126  $lng = $DIC->language();
127  $rbacsystem = $DIC->rbac()->system();
128  $ilCtrl = $DIC->ctrl();
129  $ilErr = $DIC["ilErr"];
130 
131  // load language vars
132  $lng->loadLanguageModule("content");
133 
134  $this->lng = $lng;
135  $this->ui = $DIC->ui();
136  $this->tpl = $DIC->ui()->mainTemplate();
137  $this->frames = array();
138  $this->ctrl = $ilCtrl;
139  $this->ctrl->saveParameter($this, array("ref_id", "transl", "focus_id", "focus_return"));
140 
141  $this->cs = $DIC->contentStyle();
142 
143  $this->initByRequest($query_params, $embed_mode);
144 
145  // check, if learning module is online
146  if (!$rbacsystem->checkAccess("write", $this->requested_ref_id)) {
147  if ($this->lm->getOfflineStatus()) {
148  $ilErr->raiseError($lng->txt("permission_denied"), $ilErr->WARNING);
149  }
150  }
151 
152  if ($claim_repo_context) {
153  $DIC->globalScreen()->tool()->context()->claim()->repository();
154  }
155 
156  if (!$ilCtrl->isAsynch()) {
157  // moved this into the if due to #0027200
158  if (!$embed_mode) {
159  if ($this->service->getPresentationStatus()->isTocNecessary()) {
160  $DIC->globalScreen()->tool()->context()->current()->addAdditionalData(
162  true
163  );
164  }
165  }
166  $DIC->globalScreen()->tool()->context()->current()->addAdditionalData(
168  true
169  );
170  }
171 
172  if ($embed_mode) {
173  $ilCtrl->setParameter($this, "embed_mode", 1);
174  $params = [
175  "obj_id" => $this->requested_obj_id,
176  "ref_id" => $this->lm->getRefId(),
177  "frame" => ""
178  ];
179  $DIC->globalScreen()->tool()->context()->current()->addAdditionalData(
181  $params
182  );
183  }
184  $this->reading_time_manager = new \ILIAS\LearningModule\ReadingTime\ReadingTimeManager();
185  $this->notes = $DIC->notes()->domain();
186  $this->xsl = $DIC->copage()->internal()->domain()->xsl();
187  $this->dom_util = $DIC->copage()->internal()->domain()->domUtil();
188  $this->notes_gui = $DIC->notes()->gui();
189  }
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:33
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:26
+ Here is the call graph for this function:

Member Function Documentation

◆ addHeaderAction()

ilLMPresentationGUI::addHeaderAction ( )

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

References getHeaderAction().

Referenced by layout().

815  : void
816  {
817  //$this->tpl->setVariable("HEAD_ACTION", $this->getHeaderAction());
818  $this->tpl->setHeaderActionMenu($this->getHeaderAction());
819  }
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 622 of file class.ilLMPresentationGUI.php.

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

Referenced by getHTML(), and layout().

622  : void
623  {
624  iljQueryUtil::initjQuery($this->tpl);
625  //iljQueryUtil::initjQueryUI($this->tpl);
626 
627  if (!$this->offlineMode()) {
630 
631  $this->tpl->addJavaScript("assets/js/LearningModule.js");
632 
633  // handle initial content
634  if ($this->requested_frame == "") {
635  $store = new ilSessionIStorage("lm");
636  $last_frame_url = $store->get("cf_" . $this->lm->getId());
637  if ($last_frame_url != "") {
638  $this->tpl->addOnLoadCode("il.LearningModule.setLastFrameUrl('" . $last_frame_url . "', 'center_bottom');");
639  }
640 
641  $this->tpl->addOnLoadCode("il.LearningModule.setSaveUrl('" .
642  $this->ctrl->getLinkTarget($this, "saveFrameUrl", "", false, false) . "');
643  il.LearningModule.openInitFrames();
644  ");
645 
646  $this->tpl->addOnLoadCode("il.LearningModule.setTocRefreshUrl('" .
647  $this->ctrl->getLinkTarget($this, "refreshToc", "", false, false) . "');
648  ");
649  }
650 
651  // from main menu
652  // $this->tpl->addJavascript("assets/js/Basic.js");
653  ilYuiUtil::initConnection($this->tpl);
654  }
655  }
static addJavaScript(?ilGlobalTemplate $main_tpl=null)
Add javascript files that are necessary to run accordion.
static addCss()
Add required css.
static initjQuery(?ilGlobalTemplateInterface $a_tpl=null)
inits and adds the jQuery JS-File to the global or a passed template
offlineMode()
checks whether offline content generation is activated
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 440 of file class.ilLMPresentationGUI.php.

Referenced by layout().

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

◆ basicPageGuiInit()

ilLMPresentationGUI::basicPageGuiInit ( \ilPageObjectGUI  $a_page_gui)

Definition at line 1219 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().

1219  : void
1220  {
1221  $a_page_gui->setStyleId(
1222  $this->content_style_domain->getEffectiveStyleId()
1223  );
1224  if (!$this->offlineMode()) {
1225  $a_page_gui->setOutputMode("presentation");
1226  $this->fill_on_load_code = true;
1227  } else {
1228  $a_page_gui->setOutputMode("offline");
1229  $a_page_gui->setOfflineDirectory($this->getOfflineDirectory());
1230  $this->fill_on_load_code = false;
1231  }
1232  if (!$this->offlineMode()) {
1233  $this->ctrl->setParameter($this, "obj_id", $this->getCurrentPageId()); // see #22403
1234  }
1235  $a_page_gui->setFileDownloadLink($this->linker->getLink("downloadFile"));
1236  $a_page_gui->setSourcecodeDownloadScript($this->linker->getLink(
1237  "sourcecodeDownload",
1238  $this->getCurrentPageId()
1239  ));
1240  if (!$this->offlineMode()) {
1241  $this->ctrl->setParameter($this, "obj_id", $this->requested_obj_id);
1242  }
1243  $a_page_gui->setFullscreenLink($this->linker->getLink("fullscreen"));
1244  $a_page_gui->setSourcecodeDownloadScript($this->linker->getLink("download_paragraph"));
1245  }
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 462 of file class.ilLMPresentationGUI.php.

Referenced by layout().

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

◆ downloadFile()

ilLMPresentationGUI::downloadFile ( )

download file of file lists

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

References getCurrentPageId(), and getLMPageGUI().

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

◆ executeCommand()

ilLMPresentationGUI::executeCommand ( )
Exceptions
ilCtrlException
ilLMPresentationException
ilPermissionException

Definition at line 294 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().

294  : void
295  {
296  $ilNavigationHistory = $this->nav_history;
297  $ilAccess = $this->access;
298  $lng = $this->lng;
299  $ilCtrl = $this->ctrl;
300  $ilUser = $this->user;
301 
302  // check read permission and parent conditions
303  // todo: replace all this by ilAccess call
304  if (!$ilAccess->checkAccess("read", "", $this->requested_ref_id) &&
305  (!(($this->ctrl->getCmd() == "infoScreen" || $this->ctrl->getNextClass() == "ilinfoscreengui")
306  && $ilAccess->checkAccess("visible", "", $this->requested_ref_id)))) {
307  throw new ilPermissionException($lng->txt("permission_denied"));
308  }
309 
310  $next_class = $this->ctrl->getNextClass($this);
311  $cmd = $this->ctrl->getCmd("layout");
312 
313  $obj_id = $this->requested_obj_id;
314  $this->ctrl->setParameter($this, "obj_id", $this->requested_obj_id);
315  $ilNavigationHistory->addItem($this->requested_ref_id, $this->ctrl->getLinkTarget($this), "lm");
316  $this->ctrl->setParameter($this, "obj_id", $obj_id);
317 
318  switch ($next_class) {
319  case "ilcommentgui":
320  $ret = $this->layout();
321  break;
322 
323  case "ilinfoscreengui":
324  $ret = $this->outputInfoScreen();
325  break;
326 
327  case "ilcommonactiondispatchergui":
329  $gui->enableCommentsSettings(false);
330  $this->ctrl->forwardCommand($gui);
331  break;
332 
333  case "illmpagegui":
334  $page_gui = $this->getLMPageGUI($this->requested_obj_id);
335  $this->basicPageGuiInit($page_gui);
336  $ret = $ilCtrl->forwardCommand($page_gui);
337  break;
338 
339  case "ilassgenfeedbackpagegui":
340  $page_gui = new ilAssGenFeedbackPageGUI($this->requested_pg_id);
341  //$this->basicPageGuiInit($page_gui);
342  $ret = $ilCtrl->forwardCommand($page_gui);
343  break;
344 
345  case "ilglossarydefpagegui":
346  // see #32198
347  //$page_gui = new ilGlossaryDefPageGUI($this->requested_obj_id);
348  $page_gui = new ilGlossaryDefPageGUI($this->requested_pg_id);
349  $this->basicPageGuiInit($page_gui);
350  $ret = $ilCtrl->forwardCommand($page_gui);
351  break;
352 
353  case "illearningprogressgui":
354  $this->initScreenHead("learning_progress");
355  $new_gui = new ilLearningProgressGUI(
357  $this->requested_ref_id,
358  $ilUser->getId()
359  );
360  $this->ctrl->forwardCommand($new_gui);
361  // this is nasty, but the LP classes do "sometimes" a printToStdout
362  // sometimes not, (here editManual does, other commands not)
363  if ($this->ctrl->getCmd() !== "editManual") {
364  $this->tpl->printToStdout();
365  }
366  break;
367 
368  case "ilratinggui":
369  $rating_gui = new ilRatingGUI();
370  $rating_gui->setObject($this->lm->getId(), "lm", $this->requested_obj_id, "lm");
371  $this->ctrl->forwardCommand($rating_gui);
372  break;
373 
374  default:
375  if ($this->requested_notification_switch > 0) {
376  switch ($this->requested_notification_switch) {
377  case 1:
380  $this->user->getId(),
381  $this->lm->getId(),
382  false
383  );
384  break;
385 
386  case 2:
389  $this->user->getId(),
390  $this->lm->getId(),
391  true
392  );
393  break;
394 
395  case 3:
398  $this->user->getId(),
399  $this->getCurrentPageId(),
400  false
401  );
402  break;
403 
404  case 4:
407  $this->user->getId(),
408  $this->getCurrentPageId(),
409  true
410  );
411  break;
412  }
413  $ilCtrl->redirect($this, "layout");
414  }
415  $ret = $this->$cmd();
416  break;
417  }
418  }
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...
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...
Class ilObjUserTrackingGUI.
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 1584 of file class.ilLMPresentationGUI.php.

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

Referenced by showPrintViewSelection().

1586  : array {
1587  $tracker = $this->getTracker();
1588  // if navigation is restricted based on correct answered questions
1589  // check if we have preceeding pages including unsanswered/incorrect answered questions
1590  if (!$this->offlineMode()) {
1591  if ($this->lm->getRestrictForwardNavigation()) {
1592  $nodes = array_filter($nodes, function ($node) use ($tracker) {
1593  return !$tracker->hasPredIncorrectAnswers($node["child"]);
1594  });
1595  }
1596  }
1597  return $nodes;
1598  }
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 663 of file class.ilLMPresentationGUI.php.

References media().

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

◆ getContent()

ilLMPresentationGUI::getContent ( bool  $skip_nav = false)

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

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

Referenced by getHTML(), and layout().

1112  : string {
1113  $this->fill_on_load_code = true;
1114  $this->setContentStyles();
1115 
1116  $tpl = new ilTemplate("tpl.lm_content.html", true, true, "components/ILIAS/LearningModule/Presentation");
1117 
1118  if (!$skip_nav) {
1119  $navigation_renderer = new ilLMNavigationRendererGUI(
1120  $this->service,
1121  $this,
1122  $this->lng,
1123  $this->user,
1124  $this->tpl,
1125  $this->requested_obj_id,
1126  $this->requested_back_pg,
1127  $this->requested_frame,
1128  $this->toolbar,
1129  $this->ui
1130  );
1131 
1132  $navigation_renderer->renderTop();
1133  //$tpl->setVariable("TOP_NAVIGATION", $navigation_renderer->renderTop());
1134  //$tpl->setVariable("BOTTOM_NAVIGATION", $navigation_renderer->renderBottom());
1135  }
1136  $tpl->setVariable("PAGE_CONTENT", $this->getPageContent());
1137  $tpl->setVariable("RATING", $this->renderRating());
1138 
1139  return $tpl->get();
1140  }
setVariable(string $variable, $value='')
Sets the given variable to the given value.
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
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 454 of file class.ilLMPresentationGUI.php.

References $frames.

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

◆ getCurrentPageId()

ilLMPresentationGUI::getCurrentPageId ( )

Get the current page id.

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

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

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

◆ getExportFormat()

ilLMPresentationGUI::getExportFormat ( )

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

References $export_format.

Referenced by renderTabs().

428  : string
429  {
430  return $this->export_format;
431  }
+ 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 2158 of file class.ilLMPresentationGUI.php.

2162  : string {
2163  return "ilias.php?baseClass=ilLMPresentationGUI&ref_id=" . $a_ref_id . "&obj_id=" . $a_obj_id . "&focus_id=" .
2164  $a_obj_id . "&focus_return=" . $a_return_ref_id;
2165  }

◆ getHeaderAction()

ilLMPresentationGUI::getHeaderAction ( bool  $a_redraw = false)

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

References $access, $embed_mode, $ilSetting, $settings, $tpl, ANONYMOUS_USER_ID, ILIAS\Repository\ctrl(), getCurrentPageId(), ilUtil\getImagePath(), ILIAS\UICore\GlobalTemplate\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().

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

References addResourceFiles(), ILIAS\UICore\GlobalTemplate\get(), getContent(), getHeaderAction(), ilLMNotes(), renderRating(), and ILIAS\UICore\GlobalTemplate\setVariable().

2354  : string
2355  {
2356  $this->addResourceFiles();
2357  switch ($pars["cmd"]) {
2358  case "layout":
2359  $tpl = new ilTemplate("tpl.embedded_view.html", true, true, "components/ILIAS/LearningModule");
2360  $tpl->setVariable("HEAD_ACTION", $this->getHeaderAction());
2361  $tpl->setVariable("PAGE_RATING", $this->renderRating());
2362  $tpl->setVariable("PAGE", $this->getContent(true));
2363  $tpl->setVariable("COMMENTS", $this->ilLMNotes());
2364  return $tpl->get();
2365  }
2366  return "";
2367  }
getHeaderAction(bool $a_redraw=false)
setVariable(string $variable, $value='')
Sets the given variable to the given value.
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
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 2258 of file class.ilLMPresentationGUI.php.

References $lang, and ilPageObject\_exists().

Referenced by ilMedia().

2261  : ilPageObject {
2262  $type = ($a_type == "mep")
2263  ? "mep"
2264  : "lm";
2265 
2266  $lang = $this->lang;
2267  if (!ilPageObject::_exists($type, $a_id, $lang)) {
2268  $lang = "-";
2269  if ($this->lang != "-" && ilPageObject::_exists($type, $a_id, $this->ot->getDefaultLanguage())) {
2270  $lang = $this->ot->getDefaultLanguage();
2271  }
2272  }
2273 
2274  switch ($type) {
2275  case "mep":
2276  return new ilMediaPoolPage($a_id, 0, $lang);
2277  default:
2278  return new ilLMPage($a_id, 0, $lang);
2279  }
2280  }
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 2246 of file class.ilLMPresentationGUI.php.

References ilPageObject\_exists().

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

2246  : ilLMPageGUI
2247  {
2248  $concrete_lang = $this->service->getPresentationStatus()->getConcreteLang();
2249  if ($this->lang != "-" && ilPageObject::_exists("lm", $a_id, $this->lang)) {
2250  return new ilLMPageGUI($a_id, 0, false, $this->lang, $concrete_lang);
2251  }
2252  if ($this->lang != "-" && ilPageObject::_exists("lm", $a_id, $this->ot->getDefaultLanguage())) {
2253  return new ilLMPageGUI($a_id, 0, false, $this->ot->getDefaultLanguage(), $concrete_lang);
2254  }
2255  return new ilLMPageGUI($a_id, 0, false, "", $concrete_lang);
2256  }
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 752 of file class.ilLMPresentationGUI.php.

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

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

◆ getOfflineDirectory()

ilLMPresentationGUI::getOfflineDirectory ( )

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

References $offline_directory.

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

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

◆ getPageContent()

ilLMPresentationGUI::getPageContent ( )
protected

Definition at line 1142 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().

1142  : string
1143  {
1144  $content_renderer = new ilLMContentRendererGUI(
1145  $this->service,
1146  $this,
1147  $this->lng,
1148  $this->ot,
1149  $this->ctrl,
1150  $this->access,
1151  $this->user,
1152  $this->help,
1153  $this->requested_obj_id
1154  );
1155 
1156  return $content_renderer->render();
1157  }
+ 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 196 of file class.ilLMPresentationGUI.php.

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

◆ getService()

ilLMPresentationGUI::getService ( )

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

References $service.

Referenced by renderTabs().

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

◆ getSourcecodeDownloadLink()

ilLMPresentationGUI::getSourcecodeDownloadLink ( )

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

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

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

◆ getTracker()

ilLMPresentationGUI::getTracker ( )
protected

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

Referenced by filterNonAccessibleNode(), and showPrintView().

284  : ilLMTracker
285  {
286  return $this->service->getTracker();
287  }
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 191 of file class.ilLMPresentationGUI.php.

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

◆ glossary()

ilLMPresentationGUI::glossary ( )

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

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

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

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

2227  : void {
2228  $directory = $this->getOfflineDirectory() . "/codefiles/" . $page_id . "/" . $paragraph_id;
2229  ilFileUtils::makeDirParents($directory);
2230  $file = $directory . "/" . $title;
2231  if (!($fp = fopen($file, "w+"))) {
2232  die("<strong>Error</strong>: Could not open \"" . $file . "\" for writing" .
2233  " in <strong>" . __FILE__ . "</strong> on line <strong>" . __LINE__ . "</strong><br />");
2234  }
2235  chmod($file, 0770);
2236  fwrite($fp, $text);
2237  fclose($fp);
2238  }
static makeDirParents(string $a_dir)
Create a new directory and all parent directories.
+ Here is the call graph for this function:

◆ ilGlossary()

ilLMPresentationGUI::ilGlossary ( )

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

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

Referenced by glossary(), and layout().

1247  : void
1248  {
1249  $ilCtrl = $this->ctrl;
1250 
1251  $term_gui = new ilGlossaryTermGUI($this->requested_obj_id);
1252 
1253  // content style
1254  $this->setContentStyles();
1255 
1256  $term_gui->setPageLinker($this->linker);
1257 
1258  $term_gui->setOfflineDirectory($this->getOfflineDirectory());
1259  if (!$this->offlineMode()) {
1260  $ilCtrl->setParameter($this, "pg_type", "glo");
1261  }
1262  $term_gui->output($this->offlineMode(), $this->tpl);
1263 
1264  if (!$this->offlineMode()) {
1265  $ilCtrl->setParameter($this, "pg_type", "");
1266  }
1267  }
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 1329 of file class.ilLMPresentationGUI.php.

Referenced by layout().

1333  : void {
1334  if ($a_inline != "") {
1335  $js_tpl = new ilTemplate($a_inline, true, false, $a_location);
1336  $js = $js_tpl->get();
1337  $this->tpl->setVariable("INLINE_JS", $js);
1338  }
1339  }
+ Here is the caller graph for this function:

◆ ilLMMenu()

ilLMPresentationGUI::ilLMMenu ( )

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

References getCurrentPageId(), and renderTabs().

Referenced by layout().

757  : void
758  {
759  $this->renderTabs("content", $this->getCurrentPageId());
760  }
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 943 of file class.ilLMPresentationGUI.php.

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

Referenced by getHTML(), and layout().

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

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

Referenced by layout().

771  : void
772  {
774  if ($this->abstract) {
775  return;
776  }
777 
778 
779  $tpl_menu = new ilTemplate("tpl.lm_sub_menu.html", true, true, "components/ILIAS/LearningModule");
780 
781  $pg_id = $this->getCurrentPageId();
782  if ($pg_id == 0) {
783  return;
784  }
785 
786  // edit learning module
787  if (!$this->offlineMode()) {
788  if ($rbacsystem->checkAccess("write", $this->requested_ref_id)) {
789  $tpl_menu->setCurrentBlock("edit_page");
790  $page_id = $this->getCurrentPageId();
791  $tpl_menu->setVariable(
792  "EDIT_LINK",
793  ILIAS_HTTP_PATH . "/ilias.php?baseClass=ilLMEditorGUI&ref_id=" . $this->requested_ref_id .
794  "&obj_id=" . $page_id . "&to_page=1"
795  );
796  $tpl_menu->setVariable("EDIT_TXT", $this->lng->txt("edit_page"));
797  $tpl_menu->parseCurrentBlock();
798  }
799 
800  $page_id = $this->getCurrentPageId();
801 
802  // permanent link
803  $this->tpl->setPermanentLink("pg", null, $page_id . "_" . $this->lm->getRefId());
804  }
805 
806  $this->tpl->setVariable("SUBMENU", $tpl_menu->get());
807  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
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 996 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().

996  : void
997  {
998  global $DIC;
999  $ltiview = $DIC["lti"];
1000  $ilLocator = $this->locator;
1001 
1002  if (empty($this->requested_obj_id)) {
1003  $a_id = $this->lm_tree->getRootId();
1004  } else {
1005  $a_id = $this->requested_obj_id;
1006  }
1007 
1008  if (!$this->lm->cleanFrames()) {
1009  $frame_param = $this->requested_frame;
1010  $frame_target = "";
1011  } elseif (!$this->offlineMode()) {
1012  $frame_param = "";
1013  $frame_target = ilFrameTargetInfo::_getFrame("MainContent");
1014  } else {
1015  $frame_param = "";
1016  $frame_target = "_top";
1017  }
1018 
1019  if (!$this->offlineMode()) {
1020  // LTI
1021  if ($ltiview->isActive()) {
1022  // Do nothing, its complicated...
1023  } else {
1024  $ilLocator->addRepositoryItems();
1025  }
1026  } else {
1027  $ilLocator->setOffline(true);
1028  }
1029 
1030  if ($this->lm_tree->isInTree($a_id)) {
1031  $path = $this->lm_tree->getPathFull($a_id);
1032 
1033  foreach ($path as $key => $row) {
1034  if ($row["type"] != "pg") {
1035  if ($row["child"] != $this->lm_tree->getRootId()) {
1036  $ilLocator->addItem(
1039  $row["child"],
1041  $this->lm->isActiveNumbering(),
1042  (bool) $this->lm_set->get("time_scheduled_page_activation"),
1043  false,
1044  0,
1045  $this->lang
1046  ),
1047  50,
1048  true
1049  ),
1050  $this->linker->getLink("layout", $row["child"], $frame_param, "StructureObject"),
1051  $frame_target
1052  );
1053  } else {
1054  $ilLocator->addItem(
1056  $this->linker->getLink("layout", 0, $frame_param),
1057  $frame_target,
1059  );
1060  }
1061  }
1062  }
1063  } else { // lonely page
1064  $ilLocator->addItem(
1065  $this->getLMPresentationTitle(),
1066  $this->linker->getLink("layout", 0, $this->requested_frame)
1067  );
1068 
1069  $lm_obj = ilLMObjectFactory::getInstance($this->lm, $a_id);
1070 
1071  $ilLocator->addItem(
1072  $lm_obj->getTitle(),
1073  $this->linker->getLink("layout", $a_id, $frame_param),
1074  $frame_target
1075  );
1076  }
1077 
1078  $this->tpl->setLocator();
1079  }
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:29
global $DIC
Definition: shib_login.php:26
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 1269 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().

1269  : void
1270  {
1271  $pg_frame = "";
1272  $this->setContentStyles();
1273 
1274  $this->renderPageTitle();
1275 
1276  $this->tpl->setCurrentBlock("ilMedia");
1277  $med_links = ilMediaItem::_getMapAreasIntLinks($this->requested_mob_id);
1278  $link_xml = $this->linker->getLinkXML($med_links);
1279 
1280  $media_obj = new ilObjMediaObject($this->requested_mob_id);
1281  if (!empty($this->requested_pg_id)) {
1282  $pg_obj = $this->getLMPage($this->requested_pg_id, $this->requested_pg_type);
1283  $pg_obj->buildDom();
1284 
1285  $xml = "<dummy>";
1286  // todo: we get always the first alias now (problem if mob is used multiple
1287  // times in page)
1288  $xml .= $pg_obj->getMediaAliasElement($this->requested_mob_id);
1289  } else {
1290  $xml = "<dummy>";
1291  // todo: we get always the first alias now (problem if mob is used multiple
1292  // times in page)
1293  $xml .= $media_obj->getXML(IL_MODE_ALIAS);
1294  }
1295  $xml .= $media_obj->getXML(IL_MODE_OUTPUT);
1296  $xml .= $link_xml;
1297  $xml .= "</dummy>";
1298 
1299  if (!$this->offlineMode()) {
1300  $wb_path = ilFileUtils::getWebspaceDir("output") . "/";
1301  } else {
1302  $wb_path = "";
1303  }
1304 
1305  $mode = ($this->requested_cmd == "fullscreen")
1306  ? "fullscreen"
1307  : "media";
1308  $enlarge_path = ilUtil::getImagePath("media/enlarge.svg", false, "output", $this->offlineMode());
1309  $fullscreen_link =
1310  $this->linker->getLink("fullscreen");
1311  $params = array('mode' => $mode,
1312  'enlarge_path' => $enlarge_path,
1313  'link_params' => "ref_id=" . $this->lm->getRefId(),
1314  'fullscreen_link' => $fullscreen_link,
1315  'enable_html_mob' => ilObjMediaObject::isTypeAllowed("html") ? "y" : "n",
1316  'ref_id' => $this->lm->getRefId(),
1317  'pg_frame' => $pg_frame,
1318  'webspace_path' => $wb_path
1319  );
1320  $output = $this->xsl->process($xml, $params);
1321 
1322  // unmask user html
1323  $this->tpl->setVariable("MEDIA_CONTENT", $output);
1324 
1325  // add js
1327  }
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 744 of file class.ilLMPresentationGUI.php.

Referenced by refreshToc().

745  {
746  $fac = new ilLMTOCExplorerGUIFactory();
747  $exp = $fac->getExplorer($this->service, "ilTOC");
748  $exp->handleCommand();
749  return $exp;
750  }
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 1346 of file class.ilLMPresentationGUI.php.

References ILIAS\Repository\ctrl().

1346  : void
1347  {
1348  $this->ctrl->redirectByClass(ilInfoScreenGUI::class, "showSummary");
1349  }
+ 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 209 of file class.ilLMPresentationGUI.php.

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

Referenced by __construct().

212  : void {
213  global $DIC;
214 
215  $this->service = new ilLMPresentationService(
216  $this->user,
217  $query_params,
218  $this->offline,
219  $this->export_all_languages,
220  $this->export_format,
221  null,
223  );
224 
225  $post = is_null($query_params)
226  ? null
227  : [];
228 
229  $request = $DIC->learningModule()
230  ->internal()
231  ->gui()
232  ->presentation()
233  ->request(
234  $query_params,
235  $post
236  );
237 
238  $this->requested_obj_type = $request->getObjType();
239  $this->requested_ref_id = $request->getRefId();
240  $this->requested_transl = $request->getTranslation(); // handled by presentation status
241  $this->requested_obj_id = $request->getObjId(); // handled by navigation status
242  $this->requested_back_pg = $request->getBackPage();
243  $this->requested_frame = $request->getFrame();
244  $this->requested_search_string = $request->getSearchString();
245  $this->requested_focus_return = $request->getFocusReturn();
246  $this->requested_mob_id = $request->getMobId();
247  $this->requested_cmd = $request->getCmd();
248  $this->requested_pg_id = $request->getPgId();
249  $this->requested_pg_type = $request->getPgType();
250  $this->requested_notification_switch = $request->getNotificationSwitch();
251  $this->requested_type = $request->getType();
252  $this->requested_url = $request->getUrl();
253 
254  $this->lm_set = $this->service->getSettings();
255  $this->lm_gui = $this->service->getLearningModuleGUI();
256  $this->lm = $this->service->getLearningModule();
257  $this->tracker = $this->service->getTracker();
258  $this->linker = $this->service->getLinker();
259  $this->embed_mode = $embed_mode;
260  if ($request->getEmbedMode()) {
261  $this->embed_mode = true;
262  }
263 
264  // language translation
265  $this->lang = $this->service->getPresentationStatus()->getLang();
266 
267  $this->lm_tree = $this->service->getLMTree();
268  $this->focus_id = $this->service->getPresentationStatus()->getFocusId();
269  $this->ot = $this->lm->getObjectProperties()->getPropertyTranslations();
270  $this->content_style_gui = $this->cs->gui();
271  $this->content_style_domain = $this->cs->domain()->styleForRefId($this->lm->getRefId());
272  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
global $DIC
Definition: shib_login.php:26
$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 1600 of file class.ilLMPresentationGUI.php.

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

Referenced by showPrintViewSelection().

1600  : void
1601  {
1602  $lng = $this->lng;
1603  $ilCtrl = $this->ctrl;
1604 
1605  $this->form = new ilPropertyFormGUI();
1606  $this->form->setForceTopButtons(true);
1607 
1608  // selection type
1609  $radg = new ilRadioGroupInputGUI($lng->txt("cont_selection"), "sel_type");
1610  $radg->setValue("page");
1611  $op1 = new ilRadioOption($lng->txt("cont_current_page"), "page");
1612  $radg->addOption($op1);
1613  $op2 = new ilRadioOption($lng->txt("cont_current_chapter"), "chapter");
1614  $radg->addOption($op2);
1615  $op3 = new ilRadioOption($lng->txt("cont_selected_pg_chap"), "selection");
1616  $radg->addOption($op3);
1617 
1618  $nl = new ilNestedListInputGUI("", "obj_id");
1619  $this->nl = $nl;
1620  $op3->addSubItem($nl);
1621 
1622  $this->form->addItem($radg);
1623 
1624  $this->form->addCommandButton("showPrintView", $lng->txt("cont_show_print_view"));
1625  $this->form->setOpenTag(false);
1626  $this->form->setCloseTag(false);
1627 
1628  $this->form->setTitle(" ");
1629  $this->form->setFormAction($ilCtrl->getFormAction($this));
1630  }
This class represents an option in a radio group.
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 class represents a (nested) list of checkboxes (could be extended for radio items, too)
+ 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 1359 of file class.ilLMPresentationGUI.php.

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

Referenced by executeCommand(), and outputInfoScreen().

1361  : void {
1362  $ilAccess = $this->access;
1363  $ilLocator = $this->locator;
1364 
1365  $this->renderPageTitle();
1366 
1367  $this->tpl->loadStandardTemplate();
1368  $this->tpl->setTitle($this->getLMPresentationTitle());
1369  $this->tpl->setTitleIcon(ilUtil::getImagePath("standard/icon_lm.svg"));
1370 
1371  $this->renderTabs($a_active_tab, 0);
1372 
1373  // Full locator, if read permission is given
1374  if ($ilAccess->checkAccess("read", "", $this->requested_ref_id)) {
1375  $this->ilLocator();
1376  } else {
1377  $ilLocator->addRepositoryItems();
1378  $this->tpl->setLocator();
1379  }
1380  }
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 279 of file class.ilLMPresentationGUI.php.

References $tpl.

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

◆ layout()

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

Definition at line 475 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(), null, offlineMode(), ILIAS\UICore\GlobalTemplate\printToStdout(), ILIAS\UICore\GlobalTemplate\printToString(), renderPageTitle(), setHeader(), and ILIAS\Repository\ui().

Referenced by executeCommand(), and resume().

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

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

Referenced by fullscreen(), and layout().

668  : string
669  {
670  $this->tpl = new ilGlobalTemplate("tpl.fullscreen.html", true, true, "components/ILIAS/LearningModule");
671 
672  // set style sheets
673  $this->setContentStyles();
674  $this->setSystemStyle();
675 
676  $this->ilMedia();
677  if (!$this->offlineMode()) {
678  $this->tpl->printToStdout();
679  } else {
680  return $this->tpl->printToString();
681  }
682  return "";
683  }
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 436 of file class.ilLMPresentationGUI.php.

436  : void
437  {
438  }

◆ 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 2298 of file class.ilLMPresentationGUI.php.

References ilLearningModuleNotification\ACTION_COMMENT, and ilNotification\TYPE_LM_PAGE.

2304  : void {
2305  $note = $this->notes->getById($a_note_id);
2306  $text = $note->getText();
2307 
2308  $notification = new ilLearningModuleNotification(
2311  $this->lm,
2312  $a_page_id,
2313  $text
2314  );
2315 
2316  $notification->send();
2317  }
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 423 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().

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

◆ outputInfoScreen()

ilLMPresentationGUI::outputInfoScreen ( )

info screen

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

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

Referenced by executeCommand(), and showInfoScreen().

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

◆ page()

ilLMPresentationGUI::page ( )

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

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

715  : string
716  {
717  $ilUser = $this->user;
718  $this->tpl = new ilGlobalTemplate("tpl.page_fullscreen.html", true, true, "components/ILIAS/LearningModule");
719  $GLOBALS["tpl"] = $this->tpl;
720  $this->renderPageTitle();
721 
722  $this->setContentStyles();
723 
724  // set style sheets
725  if (!$this->offlineMode()) {
726  $this->tpl->setVariable("LOCATION_STYLESHEET", ilUtil::getStyleSheetLocation());
727  } else {
728  $style_name = $ilUser->getPref("style") . ".css";
729  $this->tpl->setVariable("LOCATION_STYLESHEET", "./style/" . $style_name);
730  }
731 
732  $this->tpl->setVariable("PAGE_CONTENT", $this->getPageContent());
733  if (!$this->offlineMode()) {
734  $this->tpl->printToStdout();
735  } else {
736  return $this->tpl->get();
737  }
738  return "";
739  }
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:53
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 809 of file class.ilLMPresentationGUI.php.

References exit, and getHeaderAction().

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

◆ refreshToc()

ilLMPresentationGUI::refreshToc ( )

Refresh toc (called if questions have been answered correctly)

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

References exit, and ilTOC().

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

◆ renderPageTitle()

ilLMPresentationGUI::renderPageTitle ( )
protected

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

References getLMPresentationTitle().

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

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

◆ renderRating()

ilLMPresentationGUI::renderRating ( )
protected

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

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

Referenced by getContent(), and getHTML().

1159  : string
1160  {
1161  // rating
1162  $rating = "";
1163  if ($this->lm->hasRatingPages() && !$this->offlineMode()) {
1164  $rating_gui = new ilRatingGUI();
1165  $rating_gui->setObject($this->lm->getId(), "lm", $this->getCurrentPageId(), "lm");
1166  $rating_gui->setYourRatingText($this->lng->txt("lm_rate_page"));
1167 
1168  $this->ctrl->setParameter($this, "pg_id", $this->getCurrentPageId());
1169  $this->tpl->addOnLoadCode("il.LearningModule.setRatingUrl('" .
1170  $this->ctrl->getLinkTarget($this, "updatePageRating", "", true, false) .
1171  "')");
1172  $this->ctrl->setParameter($this, "pg_id", "");
1173 
1174  $rating = '<div id="ilrtrpg" style="text-align:right">' .
1175  $rating_gui->getHTML(true, true, "il.LearningModule.saveRating(%rating%);") .
1176  "</div>";
1177  }
1178  return $rating;
1179  }
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 2320 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().

2323  : void {
2324  $menu_editor = new ilLMMenuEditor();
2325  $menu_editor->setObjId($this->lm->getId());
2326 
2327  $navigation_renderer = new ilLMMenuRendererGUI(
2328  $this->getService(),
2329  $this->tabs,
2330  $this->toolbar,
2332  $active_tab,
2333  $this->getExportFormat(),
2334  $this->export_all_languages,
2335  $this->lm,
2336  $this->offlineMode(),
2337  $menu_editor,
2338  $this->lang,
2339  $this->ctrl,
2340  $this->access,
2341  $this->user,
2342  $this->lng,
2343  $this->tpl,
2344  function ($additional_content) {
2345  $this->additional_content[] = $additional_content;
2346  }
2347  );
2348  $navigation_renderer->render();
2349  }
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 470 of file class.ilLMPresentationGUI.php.

References layout().

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

◆ saveFrameUrl()

ilLMPresentationGUI::saveFrameUrl ( )

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

References $requested_url.

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

◆ setContentStyles()

ilLMPresentationGUI::setContentStyles ( )
protected

Set content style.

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

References ilObjStyleSheet\getSyntaxStylePath().

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

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

◆ setHeader()

ilLMPresentationGUI::setHeader ( )

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

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

Referenced by layout().

762  : void
763  {
764  $this->tpl->setTitle($this->getLMPresentationTitle());
765  $this->tpl->setTitleIcon(ilUtil::getImagePath("standard/icon_lm.svg"));
766  }
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 1105 of file class.ilLMPresentationGUI.php.

References ilUtil\getStyleSheetLocation().

Referenced by glossary(), and media().

1105  : void
1106  {
1107  $this->tpl->addCss(ilUtil::getStyleSheetLocation());
1108  }
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 1354 of file class.ilLMPresentationGUI.php.

References outputInfoScreen().

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

◆ showMessageScreen()

ilLMPresentationGUI::showMessageScreen ( string  $a_content)

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

References ILIAS\UICore\GlobalTemplate\get(), setContentStyles(), and ILIAS\UICore\GlobalTemplate\setVariable().

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

2169  : void {
2170  // content style
2171  $this->setContentStyles();
2172 
2173  $tpl = new ilTemplate("tpl.page_message_screen.html", true, true, "components/ILIAS/LearningModule");
2174  $tpl->setVariable("TXT_PAGE_NO_PUBLIC_ACCESS", $a_content);
2175 
2176  $this->tpl->setVariable("PAGE_CONTENT", $tpl->get());
2177  }
setVariable(string $variable, $value='')
Sets the given variable to the given value.
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
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 2199 of file class.ilLMPresentationGUI.php.

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

2199  : void
2200  {
2201  $this->showMessageScreen($this->lng->txt("cont_no_page_access_unansw_q"));
2202  }
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 2190 of file class.ilLMPresentationGUI.php.

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

2190  : void
2191  {
2192  $this->showMessageScreen($this->lng->txt("msg_no_page_access"));
2193  }
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 2182 of file class.ilLMPresentationGUI.php.

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

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

◆ showPrintView()

ilLMPresentationGUI::showPrintView ( )

Definition at line 1632 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, ILIAS\UICore\GlobalTemplate\get(), ilObjStyleSheet\getContentPrintStyle(), getCurrentPageId(), ilUtil\getImagePath(), getLMPageGUI(), getLMPresentationTitle(), getTracker(), ilFileUtils\getWebspaceDir(), IL_INST_ID, ILIAS\Repository\lng(), ilLMObject\PAGE_TITLE, ILIAS\UICore\GlobalTemplate\parseCurrentBlock(), renderPageTitle(), ilTabsGUI\setBackTarget(), setContentStyles(), ILIAS\UICore\GlobalTemplate\setCurrentBlock(), ILIAS\UICore\GlobalTemplate\setVariable(), ilArrayUtil\sortArray(), ilLanguage\txt(), and ILIAS\Repository\ui().

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

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

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

◆ updatePageRating()

ilLMPresentationGUI::updatePageRating ( )

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

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

1181  : void
1182  {
1183  $ilUser = $this->user;
1184  $pg_id = $this->service->getRequest()->getPgId();
1185  if (!$this->ctrl->isAsynch() || !$pg_id) {
1186  exit();
1187  }
1188 
1189  $rating = $this->service->getRequest()->getRating();
1190  if ($rating) {
1192  $this->lm->getId(),
1193  "lm",
1194  $pg_id,
1195  "lm",
1196  $ilUser->getId(),
1197  $rating
1198  );
1199  } else {
1201  $this->lm->getId(),
1202  "lm",
1203  $pg_id,
1204  "lm",
1205  $ilUser->getId()
1206  );
1207  }
1208 
1209  $rating = new ilRatingGUI();
1210  $rating->setObject($this->lm->getId(), "lm", $pg_id, "lm");
1211  $rating->setYourRatingText($this->lng->txt("lm_rate_page"));
1212 
1213  echo $rating->getHTML(true, true, "il.LearningModule.saveRating(%rating%);");
1214 
1215  echo $this->tpl->getOnLoadCodeForAsynch();
1216  exit();
1217  }
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...
exit
+ Here is the call graph for this function:

Field Documentation

◆ $abstract

bool ilLMPresentationGUI::$abstract = false
protected

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

◆ $access

ilAccessHandler ilLMPresentationGUI::$access
protected

◆ $additional_content

array ilLMPresentationGUI::$additional_content = []
protected

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

Referenced by renderTabs().

◆ $chapter_has_no_active_page

bool ilLMPresentationGUI::$chapter_has_no_active_page = false

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

◆ $content_style_domain

ILIAS Style Content Object ObjectFacade ilLMPresentationGUI::$content_style_domain
protected

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

◆ $content_style_gui

ILIAS Style Content GUIService ilLMPresentationGUI::$content_style_gui
protected

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

◆ $cs

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

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

◆ $ctrl

ilCtrl ilLMPresentationGUI::$ctrl
protected

◆ $current_page_id

int ilLMPresentationGUI::$current_page_id = 0
protected

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

◆ $deactivated_page

bool ilLMPresentationGUI::$deactivated_page = false

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

◆ $dom_util

ILIAS COPage Dom DomUtil ilLMPresentationGUI::$dom_util
protected

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

◆ $embed_mode

bool ilLMPresentationGUI::$embed_mode = false
protected

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

Referenced by getHeaderAction(), and initByRequest().

◆ $export_all_languages

bool ilLMPresentationGUI::$export_all_languages = false
protected

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

◆ $export_format

string ilLMPresentationGUI::$export_format
protected

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

Referenced by getExportFormat().

◆ $fill_on_load_code

bool ilLMPresentationGUI::$fill_on_load_code
protected

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

◆ $focus_id

int ilLMPresentationGUI::$focus_id = 0
protected

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

◆ $form

ilPropertyFormGUI ilLMPresentationGUI::$form
protected

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

◆ $frames

array ilLMPresentationGUI::$frames
protected

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

Referenced by getCurrentFrameSet().

◆ $global_screen

ILIAS GlobalScreen Services ilLMPresentationGUI::$global_screen
protected

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

◆ $help

ilHelpGUI ilLMPresentationGUI::$help
protected

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

◆ $lang

string ilLMPresentationGUI::$lang

◆ $layout_doc

DOMDocument ilLMPresentationGUI::$layout_doc

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

◆ $linker

ilLMPresentationLinker ilLMPresentationGUI::$linker
protected

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

◆ $lm

ilObjLearningModule ilLMPresentationGUI::$lm
protected

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

◆ $lm_gui

ilObjLearningModuleGUI ilLMPresentationGUI::$lm_gui
protected

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

◆ $lm_set

ilSetting ilLMPresentationGUI::$lm_set
protected

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

◆ $lm_tree

ilLMTree ilLMPresentationGUI::$lm_tree
protected

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

◆ $lng

◆ $locator

ilLocatorGUI ilLMPresentationGUI::$locator
protected

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

Referenced by ilLocator(), and initScreenHead().

◆ $lom_services

LOMServices ilLMPresentationGUI::$lom_services
protected

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

◆ $nav_history

ilNavigationHistory ilLMPresentationGUI::$nav_history
protected

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

Referenced by executeCommand().

◆ $nl

ilNestedListInputGUI ilLMPresentationGUI::$nl
protected

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

Referenced by initPrintViewSelectionForm().

◆ $notes

ILIAS Notes DomainService ilLMPresentationGUI::$notes
protected

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

◆ $notes_gui

ILIAS Notes GUIService ilLMPresentationGUI::$notes_gui
protected

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

◆ $offline

bool ilLMPresentationGUI::$offline

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

Referenced by offlineMode().

◆ $offline_directory

string ilLMPresentationGUI::$offline_directory

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

Referenced by getOfflineDirectory().

◆ $ot

Translations ilLMPresentationGUI::$ot
protected

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

◆ $rbacsystem

ilRbacSystem ilLMPresentationGUI::$rbacsystem
protected

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

Referenced by ilLMSubMenu().

◆ $reading_time_manager

ILIAS LearningModule ReadingTime ReadingTimeManager ilLMPresentationGUI::$reading_time_manager
protected

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

◆ $requested_back_pg

string ilLMPresentationGUI::$requested_back_pg
protected

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

◆ $requested_cmd

string ilLMPresentationGUI::$requested_cmd = ""
protected

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

◆ $requested_focus_return

string ilLMPresentationGUI::$requested_focus_return
protected

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

◆ $requested_frame

string ilLMPresentationGUI::$requested_frame
protected

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

Referenced by ilLocator().

◆ $requested_mob_id

int ilLMPresentationGUI::$requested_mob_id = 0
protected

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

◆ $requested_notification_switch

int ilLMPresentationGUI::$requested_notification_switch = 0
protected

Definition at line 91 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 79 of file class.ilLMPresentationGUI.php.

Referenced by layout().

◆ $requested_pg_id

int ilLMPresentationGUI::$requested_pg_id = 0
protected

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

◆ $requested_pg_type

string ilLMPresentationGUI::$requested_pg_type = ""
protected

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

◆ $requested_ref_id

int ilLMPresentationGUI::$requested_ref_id
protected

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

Referenced by ilLocator().

◆ $requested_search_string

string ilLMPresentationGUI::$requested_search_string
protected

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

◆ $requested_transl

string ilLMPresentationGUI::$requested_transl
protected

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

◆ $requested_type

string ilLMPresentationGUI::$requested_type
protected

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

◆ $requested_url

string ilLMPresentationGUI::$requested_url
protected

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

Referenced by saveFrameUrl().

◆ $service

ilLMPresentationService ilLMPresentationGUI::$service
protected

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

Referenced by getService().

◆ $settings

ilSetting ilLMPresentationGUI::$settings
protected

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

Referenced by getHeaderAction(), and ilLMNotes().

◆ $tabs

ilTabsGUI ilLMPresentationGUI::$tabs
protected

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

Referenced by showPrintView().

◆ $toolbar

ilToolbarGUI ilLMPresentationGUI::$toolbar
protected

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

◆ $tpl

ilGlobalTemplateInterface ilLMPresentationGUI::$tpl

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

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

◆ $tracker

ilLMTracker ilLMPresentationGUI::$tracker
protected

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

◆ $tree

ilTree ilLMPresentationGUI::$tree
protected

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

◆ $ui

ILIAS DI UIServices ilLMPresentationGUI::$ui
protected

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

◆ $user

ilObjUser ilLMPresentationGUI::$user
protected

◆ $xsl

ILIAS COPage Xsl XslManager ilLMPresentationGUI::$xsl
protected

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


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