ILIAS  trunk Revision v11.0_alpha-1713-gd8962da2f67
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilHelpGUI Class Reference

Help GUI class. More...

+ Inheritance diagram for ilHelpGUI:
+ Collaboration diagram for ilHelpGUI:

Public Member Functions

 __construct ()
 
 setDefaultScreenId (string $a_part, string $a_id)
 
 setScreenId (string $a_id)
 
 setSubScreenId (string $a_id)
 
 setScreenIdComponent (string $a_comp)
 
 getScreenId ()
 
 addHelpSection (string $a_help_id, int $a_level=1)
 
 hasSections ()
 
 getHelpSections ()
 
 setCtrlPar ()
 
 executeCommand ()
 
 showHelp ()
 
 showPage ()
 
 resetCurrentPage ()
 
 getTabTooltipText (string $a_tab_id)
 
 initHelp (ilGlobalTemplateInterface $a_tpl, string $ajax_url)
 
 isHelpPageActive ()
 
 deactivateTooltips ()
 
 activateTooltips ()
 
 getLinkXML (array $a_int_links)
 
 getLinkTargetsXML ()
 Get XMl for Link Targets. More...
 
 search ()
 
 showTooltips ()
 
 isHelpActive ()
 
 areTooltipsActive ()
 
 savePersonalSettingFromLegacyForm (ilPropertyFormGUI $form)
 
 addPersonalSettingToLegacyForm (ilPropertyFormGUI $form)
 
 if (is_null(self::$internal_service))
 temporary move it here until DIC holds help service instead of ilHelpGUI More...
 

Data Fields

const ID_PART_SCREEN = "screen"
 
const ID_PART_SUB_SCREEN = "sub_screen"
 
const ID_PART_COMPONENT = "component"
 
array $help_sections = array()
 
array $def_screen_id = array()
 
array $screen_id = array()
 

Protected Member Functions

 initUI ()
 
 symbol ()
 
 replaceMenuItemTags (string $content)
 
 replaceItemTag (string $content, \ILIAS\GlobalScreen\Scope\MainMenu\Factory\isItem $item)
 

Protected Attributes

HelpScreenIdObserver $observer
 
ILIAS Repository InternalGUIService $gui
 
ILIAS Help Presentation PresentationManager $presentation
 
ILIAS Help Map MapManager $help_map
 
StandardGUIRequest $help_request
 
ilCtrl $ctrl
 
ilSetting $settings
 
ilLanguage $lng
 
ilObjUser $user
 
string $screen_id_component = ''
 
ILIAS DI UIServices $ui
 
array $raw_menu_items = null
 

Static Protected Attributes

static ILIAS Help InternalService $internal_service = null
 

Detailed Description

Help GUI class.

Author
Alexander Killing killi.nosp@m.ng@l.nosp@m.eifos.nosp@m..de ilHelpGUI: ilLMPageGUI

Definition at line 28 of file class.ilHelpGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilHelpGUI::__construct ( )

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

References $DIC, ILIAS\Repository\lng(), ILIAS\Repository\settings(), and ILIAS\Repository\user().

52  {
53  global $DIC;
54 
55  $domain = $this->internal()->domain();
56 
57  $this->settings = $domain->settings();
58  $this->lng = $domain->lng();
59  $this->user = $domain->user();
60 
61  $this->help_map = $domain->map();
62  $this->presentation = $domain->presentation();
63 
64  if (!isset($DIC['help.screen_id_collector'])) {
65  $DIC['help.screen_id_collector'] = function () use ($DIC) {
66  return new HelpScreenIdObserver();
67  };
68  }
69  $DIC->ctrl()->attachObserver($DIC['help.screen_id_collector']);
70  $this->observer = $DIC['help.screen_id_collector'];
71  }
global $DIC
Definition: shib_login.php:22
+ Here is the call graph for this function:

Member Function Documentation

◆ activateTooltips()

ilHelpGUI::activateTooltips ( )

Definition at line 361 of file class.ilHelpGUI.php.

References $user, and ilObjUser\writePref().

361  : void
362  {
363  $ilUser = $this->user;
364 
365  $ilUser->writePref("hide_help_tt", "0");
366  }
writePref(string $a_keyword, string $a_value)
ilObjUser $user
+ Here is the call graph for this function:

◆ addHelpSection()

ilHelpGUI::addHelpSection ( string  $a_help_id,
int  $a_level = 1 
)

Definition at line 136 of file class.ilHelpGUI.php.

139  : void {
140  $this->help_sections[] = array("help_id" => $a_help_id, $a_level);
141  }

◆ addPersonalSettingToLegacyForm()

ilHelpGUI::addPersonalSettingToLegacyForm ( ilPropertyFormGUI  $form)

Definition at line 574 of file class.ilHelpGUI.php.

References $DIC, ilPropertyFormGUI\addItem(), areTooltipsActive(), ILIAS\Repository\lng(), and ILIAS\Repository\user().

574  : void
575  {
576  if ($this->areTooltipsActive()) {
577  $this->lng->loadLanguageModule('help');
578  $cb = new ilCheckboxInputGUI($this->lng->txt('help_toggle_tooltips'), 'help_tooltips');
579  $cb->setChecked(!($this->user->prefs['hide_help_tt'] ?? false));
580  $cb->setInfo($this->lng->txt('help_toggle_tooltips_info'));
581  $form->addItem($cb);
582  }
583  }
+ Here is the call graph for this function:

◆ areTooltipsActive()

ilHelpGUI::areTooltipsActive ( )

Definition at line 562 of file class.ilHelpGUI.php.

Referenced by addPersonalSettingToLegacyForm(), and savePersonalSettingFromLegacyForm().

562  : bool
563  {
564  return $this->internal()->domain()->module()->areTooltipsActive();
565  }
+ Here is the caller graph for this function:

◆ deactivateTooltips()

ilHelpGUI::deactivateTooltips ( )

Definition at line 354 of file class.ilHelpGUI.php.

References $user, and ilObjUser\writePref().

354  : void
355  {
356  $ilUser = $this->user;
357 
358  $ilUser->writePref("hide_help_tt", "1");
359  }
writePref(string $a_keyword, string $a_value)
ilObjUser $user
+ Here is the call graph for this function:

◆ executeCommand()

ilHelpGUI::executeCommand ( )

Definition at line 163 of file class.ilHelpGUI.php.

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

163  : string
164  {
165  $this->initUI();
166  $cmd = $this->ctrl->getCmd("showHelp") ?: "showHelp";
167  return (string) $this->$cmd();
168  }
+ Here is the call graph for this function:

◆ getHelpSections()

ilHelpGUI::getHelpSections ( )

Definition at line 148 of file class.ilHelpGUI.php.

References getScreenId().

148  : array
149  {
150  return $this->help_map->getHelpSectionsForId(
151  $this->getScreenId(),
152  $this->help_request->getRefId()
153  );
154  }
+ Here is the call graph for this function:

◆ getLinkTargetsXML()

ilHelpGUI::getLinkTargetsXML ( )

Get XMl for Link Targets.

Definition at line 411 of file class.ilHelpGUI.php.

Referenced by showPage().

411  : string
412  {
413  $link_info = "<LinkTargets>";
414  $link_info .= "<LinkTarget TargetFrame=\"None\" LinkTarget=\"\" OnClick=\"return il.Help.openLink(event);\" />";
415  $link_info .= "</LinkTargets>";
416  return $link_info;
417  }
+ Here is the caller graph for this function:

◆ getLinkXML()

ilHelpGUI::getLinkXML ( array  $a_int_links)

Definition at line 368 of file class.ilHelpGUI.php.

Referenced by showPage().

370  : string {
371  $href = "";
372  $link_info = "<IntLinkInfos>";
373  foreach ($a_int_links as $int_link) {
374  $target = $int_link["Target"];
375  if (strpos($target, "il__") === 0) {
376  $target_arr = explode("_", $target);
377  $target_id = $target_arr[count($target_arr) - 1];
378  $type = $int_link["Type"];
379  $targetframe = "None";
380 
381  // anchor
382  $anc = $anc_add = "";
383  if (($int_link["Anchor"] ?? "") != "") {
384  $anc = $int_link["Anchor"];
385  $anc_add = "_" . rawurlencode($int_link["Anchor"]);
386  }
387 
388  switch ($type) {
389  case "PageObject":
390  case "StructureObject":
391  if ($type === "PageObject") {
392  $href = "#pg_" . $target_id;
393  } else {
394  $href = "#";
395  }
396  break;
397  }
398 
399  $link_info .= "<IntLinkInfo Target=\"$target\" Type=\"$type\" " .
400  "TargetFrame=\"$targetframe\" LinkHref=\"$href\" LinkTarget=\"\" Anchor=\"\"/>";
401  }
402  }
403  $link_info .= "</IntLinkInfos>";
404 
405  return $link_info;
406  }
+ Here is the caller graph for this function:

◆ getScreenId()

ilHelpGUI::getScreenId ( )

Definition at line 109 of file class.ilHelpGUI.php.

References $screen_id.

Referenced by getHelpSections(), hasSections(), and setCtrlPar().

109  : string
110  {
111  return $this->observer->getScreenId();
112 
113  $comp = ($this->screen_id_component != "")
114  ? $this->screen_id_component
115  : ($this->def_screen_id[self::ID_PART_COMPONENT] ?? '');
116 
117  if ($comp == "") {
118  return "";
119  }
120 
121  $scr_id = (isset($this->screen_id[self::ID_PART_SCREEN]) && $this->screen_id[self::ID_PART_SCREEN] != "")
122  ? $this->screen_id[self::ID_PART_SCREEN]
123  : ($this->def_screen_id[self::ID_PART_SCREEN] ?? '');
124 
125  $sub_scr_id = (isset($this->screen_id[self::ID_PART_SUB_SCREEN]) && $this->screen_id[self::ID_PART_SUB_SCREEN] != "")
126  ? $this->screen_id[self::ID_PART_SUB_SCREEN]
127  : ($this->def_screen_id[self::ID_PART_SUB_SCREEN] ?? '');
128 
129  $screen_id = $comp . "/" .
130  $scr_id . "/" .
131  $sub_scr_id;
132 
133  return $screen_id;
134  }
array $screen_id
+ Here is the caller graph for this function:

◆ getTabTooltipText()

ilHelpGUI::getTabTooltipText ( string  $a_tab_id)

Definition at line 308 of file class.ilHelpGUI.php.

308  : string
309  {
310  if ($this->screen_id_component != "") {
311  return $this->internal()->domain()->tooltips()->getTooltipPresentationText($this->screen_id_component . "_" . $a_tab_id);
312  }
313  return "";
314  }

◆ hasSections()

ilHelpGUI::hasSections ( )

Definition at line 143 of file class.ilHelpGUI.php.

References getScreenId().

143  : bool
144  {
145  return $this->help_map->hasScreenIdSections($this->getScreenId());
146  }
+ Here is the call graph for this function:

◆ if()

ilHelpGUI::if ( is_null(self::$internal_service)  )

temporary move it here until DIC holds help service instead of ilHelpGUI

Definition at line 592 of file class.ilHelpGUI.php.

592  {
593  self::$internal_service = new \ILIAS\Help\InternalService(
594  $DIC
595  );
596  }
global $DIC
Definition: shib_login.php:22

◆ initHelp()

ilHelpGUI::initHelp ( ilGlobalTemplateInterface  $a_tpl,
string  $ajax_url 
)

Definition at line 316 of file class.ilHelpGUI.php.

References $DIC, $ilSetting, ILIAS\UICore\GlobalTemplate\addJavaScript(), ILIAS\UICore\GlobalTemplate\addOnLoadCode(), ilSession\get(), ilCtrl\getLinkTargetByClass(), iljQueryUtil\initMaphilight(), initUI(), and setCtrlPar().

319  : void {
320  global $DIC;
321 
322  $this->initUI();
323  $ilUser = $DIC->user();
324  $ilSetting = $DIC->settings();
325  $ctrl = $DIC->ctrl();
326 
327  $a_tpl->addJavaScript("assets/js/ilHelp.js");
328  $a_tpl->addJavaScript("assets/js/accordion.js");
330  $a_tpl->addJavaScript("components/ILIAS/COPage/js/ilCOPagePres.js");
331 
332  $this->setCtrlPar();
333  $a_tpl->addOnLoadCode(
334  "il.Help.setAjaxUrl('" .
335  $ctrl->getLinkTargetByClass("ilhelpgui", "", "", true)
336  . "');"
337  );
338 
339 
340  if ($this->presentation->isHelpActive()) {
341  if (ilSession::get("help_pg") > 0) {
342  $a_tpl->addOnLoadCode("il.Help.showCurrentPage(" . ilSession::get("help_pg") . ");", 3);
343  } else {
344  $a_tpl->addOnLoadCode("il.Help.listHelp(null);", 3);
345  }
346  }
347  }
static get(string $a_var)
addOnLoadCode(string $a_code, int $a_batch=2)
Add on load code.
static initMaphilight()
Inits and add maphilight to the general template.
global $DIC
Definition: shib_login.php:22
global $ilSetting
Definition: privfeed.php:31
addJavaScript(string $a_js_file, bool $a_add_version_parameter=true, int $a_batch=2)
Add a javascript file that should be included in the header.
getLinkTargetByClass( $a_class, ?string $a_cmd=null, ?string $a_anchor=null, bool $is_async=false, bool $has_xml_style=false)
+ Here is the call graph for this function:

◆ initUI()

ilHelpGUI::initUI ( )
protected

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

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

Referenced by executeCommand(), and initHelp().

73  : void
74  {
75  $this->ui = $this->internal()->gui()->ui();
76  $gui = $this->internal()->gui();
77  $this->ctrl = $gui->ctrl();
78  $this->help_request = $gui->standardRequest();
79  }
ILIAS Repository InternalGUIService $gui
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isHelpActive()

ilHelpGUI::isHelpActive ( )

Definition at line 557 of file class.ilHelpGUI.php.

557  : bool
558  {
559  return $this->internal()->domain()->module()->isHelpActive();
560  }

◆ isHelpPageActive()

ilHelpGUI::isHelpPageActive ( )

Definition at line 349 of file class.ilHelpGUI.php.

References ilSession\get().

349  : bool
350  {
351  return (ilSession::get("help_pg") > 0);
352  }
static get(string $a_var)
+ Here is the call graph for this function:

◆ replaceItemTag()

ilHelpGUI::replaceItemTag ( string  $content,
\ILIAS\GlobalScreen\Scope\MainMenu\Factory\isItem  $item 
)
protected

Definition at line 499 of file class.ilHelpGUI.php.

References $DIC, $id, $path, and null.

Referenced by replaceMenuItemTags().

502  : string {
503  global $DIC;
504  $mmc = $DIC->globalScreen()->collector()->mainmenu();
505 
506  $id = $item->getProviderIdentification()->getInternalIdentifier();
507  $ws = "[ \t\r\f\v\n]*";
508 
509  // menu item path
510  while (preg_match("~\[(menu" . $ws . "path$ws=$ws(\"$id\")$ws)/\]~i", $content, $found)) {
511  $path = "";
512  if ($item instanceof \ILIAS\GlobalScreen\Scope\MainMenu\Factory\isChild) {
513  $parent = $mmc->getItemInformation()->getParent($item);
514  if ($parent !== null) {
515  $parent = $mmc->getSingleItemFromRaw($parent);
516  $path = $this->getTitleForItem($parent) . " > ";
517  }
518  }
519  $path .= $this->getTitleForItem($item);
520  $content = preg_replace(
521  '~\[' . $found[1] . '/\]~i',
522  "<strong>" . $path . "</strong>",
523  $content
524  );
525  }
526  // menu item
527  while (preg_match("~\[(menu" . $ws . "item$ws=$ws(\"$id\")$ws)/\]~i", $content, $found)) {
528  $content = preg_replace(
529  '~\[' . $found[1] . '/\]~i',
530  "<strong>" . $this->getTitleForItem($item) . "</strong>",
531  $content
532  );
533  }
534  return $content;
535  }
Interface Observer Contains several chained tasks and infos about them.
$path
Definition: ltiservices.php:29
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
global $DIC
Definition: shib_login.php:22
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
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:

◆ replaceMenuItemTags()

ilHelpGUI::replaceMenuItemTags ( string  $content)
protected

Definition at line 477 of file class.ilHelpGUI.php.

References $DIC, null, and replaceItemTag().

Referenced by showHelp(), and showPage().

479  : string {
480  global $DIC;
481 
482  $mmc = $DIC->globalScreen()->collector()->mainmenu();
483  if ($this->raw_menu_items == null) {
484  $mmc->collectOnce();
485  $this->raw_menu_items = iterator_to_array($mmc->getRawItems());
486  }
487 
488  foreach ($this->raw_menu_items as $item) {
489  if ($item instanceof Item\LinkList) {
490  foreach ($item->getLinks() as $link) {
491  $content = $this->replaceItemTag($content, $link);
492  }
493  }
494  $content = $this->replaceItemTag($content, $item);
495  }
496  return $content;
497  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
replaceItemTag(string $content, \ILIAS\GlobalScreen\Scope\MainMenu\Factory\isItem $item)
global $DIC
Definition: shib_login.php:22
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resetCurrentPage()

ilHelpGUI::resetCurrentPage ( )

Definition at line 303 of file class.ilHelpGUI.php.

References ilSession\clear().

Referenced by search(), and showHelp().

303  : void
304  {
305  ilSession::clear("help_pg");
306  }
static clear(string $a_var)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ savePersonalSettingFromLegacyForm()

ilHelpGUI::savePersonalSettingFromLegacyForm ( ilPropertyFormGUI  $form)

Definition at line 567 of file class.ilHelpGUI.php.

References areTooltipsActive(), ilPropertyFormGUI\getInput(), and ILIAS\Repository\user().

567  : void
568  {
569  if ($this->areTooltipsActive()) {
570  $this->user->setPref('hide_help_tt', (string) (int) !$form->getInput('help_tooltips'));
571  }
572  }
getInput(string $a_post_var, bool $ensureValidation=true)
Returns the input of an item, if item provides getInput method and as fallback the value of the HTTP-...
+ Here is the call graph for this function:

◆ search()

ilHelpGUI::search ( )

Definition at line 419 of file class.ilHelpGUI.php.

References $id, $lng, $r, $ui, ilLMObject\_lookupTitle(), exit, ilSession\get(), ILIAS\Repository\lng(), ilLegacyFormElementsUtil\prepareFormOutput(), resetCurrentPage(), ilSession\set(), symbol(), ilLanguage\txt(), ILIAS\Repository\ui(), and ILIAS\UI\Implementation\Component\withOnLoadCode().

419  : void
420  {
421  $lng = $this->lng;
422  $ui = $this->ui;
423 
424  $term = $this->help_request->getTerm();
425 
426  if ($term === "") {
427  $term = ilSession::get("help_search_term");
428  }
429 
430  $this->resetCurrentPage();
431 
432  $h_tpl = new ilTemplate("tpl.help.html", true, true, "components/ILIAS/Help");
433 
434  $back_button = $ui->factory()->button()->bulky($ui->factory()->symbol()->glyph()->back(), $lng->txt("back"), "#")->withOnLoadCode(function ($id) {
435  return
436  "$(\"#$id\").click(function() { return il.Help.listHelp(event, true); return false;});";
437  });
438  $h_tpl->setVariable("BACKBUTTON", $ui->renderer()->renderAsync($back_button));
439 
440  $h_tpl->setVariable("HEAD", $lng->txt("help") . " - " .
441  $lng->txt("search_result"));
442 
443  $h_tpl->setCurrentBlock("search");
444  $h_tpl->setVariable("GL_SEARCH", $this->symbol()->glyph("search")->render());
445  $h_tpl->setVariable("HELP_SEARCH_LABEL", $this->lng->txt("help_search_label"));
446  $h_tpl->setVariable("VAL_SEARCH", ilLegacyFormElementsUtil::prepareFormOutput($term));
447  $h_tpl->parseCurrentBlock();
448 
449  $h_tpl->setVariable("CLOSE_IMG", $this->symbol()->glyph("close")->render());
450 
451  $items = [];
452  $module = $this->internal()->domain()->module();
453  foreach ($module->getActiveModules() as $module_id) {
454  $lm_id = $module->lookupModuleLmId($module_id);
455  $s = new ilRepositoryObjectDetailSearch($lm_id);
456  $s->setQueryString($term);
457  $result = $s->performSearch();
458  foreach ($result->getResults() as $r) {
459  $items[] = $this->ui->factory()->button()->shy(
460  ilLMObject::_lookupTitle($r["item_id"]),
461  "#"
462  )->withOnLoadCode(function ($id) use ($r) {
463  return "document.getElementById('$id').addEventListener('click', () => {return il.Help.showPage(" . $r["item_id"] . ");})";
464  });
465  }
466  }
467 
468  $list = $this->ui->factory()->listing()->unordered($items);
469  $h_tpl->setVariable("CONTENT", $this->ui->renderer()->renderAsync($list));
470 
471  ilSession::set("help_search_term", $term);
472 
473  echo $h_tpl->get();
474  exit;
475  }
static get(string $a_var)
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...
ilLanguage $lng
ILIAS DI UIServices $ui
static prepareFormOutput($a_str, bool $a_strip=false)
static _lookupTitle(int $a_obj_id)
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
exit
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static set(string $a_var, $a_val)
Set a value.
$r
+ Here is the call graph for this function:

◆ setCtrlPar()

ilHelpGUI::setCtrlPar ( )

Definition at line 156 of file class.ilHelpGUI.php.

References $ctrl, $refId, and getScreenId().

Referenced by initHelp().

156  : void
157  {
158  $ilCtrl = $this->ctrl;
159  $refId = (string) $this->help_request->getRefId();
160  $ilCtrl->setParameterByClass("ilhelpgui", "help_screen_id", $this->getScreenId() . "." . $refId);
161  }
$refId
Definition: xapitoken.php:58
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setDefaultScreenId()

ilHelpGUI::setDefaultScreenId ( string  $a_part,
string  $a_id 
)

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

90  : void {
91  $this->def_screen_id[$a_part] = $a_id;
92  }

◆ setScreenId()

ilHelpGUI::setScreenId ( string  $a_id)

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

Referenced by ilObjMediaObjectGUI\createObject().

94  : void
95  {
96  $this->screen_id[self::ID_PART_SCREEN] = $a_id;
97  }
+ Here is the caller graph for this function:

◆ setScreenIdComponent()

◆ setSubScreenId()

ilHelpGUI::setSubScreenId ( string  $a_id)

Definition at line 99 of file class.ilHelpGUI.php.

Referenced by ilBookingScheduleGUI\confirmDelete().

99  : void
100  {
101  $this->screen_id[self::ID_PART_SUB_SCREEN] = $a_id;
102  }
+ Here is the caller graph for this function:

◆ showHelp()

ilHelpGUI::showHelp ( )

Definition at line 170 of file class.ilHelpGUI.php.

References $id, $lng, $ui, ilLMObject\_exists(), ilLMObject\_lookupContObjID(), ilLMObject\_lookupTitle(), exit, ilAccordionGUI\FIRST_OPEN, ilSession\get(), ilLMObject\getPagesOfChapter(), ILIAS\Repository\lng(), ilLanguage\loadLanguageModule(), replaceMenuItemTags(), resetCurrentPage(), ilSession\set(), symbol(), ilLanguage\txt(), and ILIAS\Repository\ui().

170  : void
171  {
172  $lng = $this->lng;
173  $lng->loadLanguageModule("help");
174  $ui = $this->ui;
175  if ($this->help_request->getHelpScreenId() !== "") {
176  ilSession::set("help_screen_id", $this->help_request->getHelpScreenId());
177  $help_screen_id = $this->help_request->getHelpScreenId();
178  } else {
179  $help_screen_id = ilSession::get("help_screen_id");
180  }
181 
182  ilSession::set("help_search_term", "");
183 
184  $this->resetCurrentPage();
185 
186  $id_arr = explode(".", $help_screen_id);
187  $help_arr = $this->help_map->getHelpSectionsForId($id_arr[0], (int) $id_arr[1]);
188 
189  if (count($help_arr) > 0) {
190  $acc = new ilAccordionGUI();
191  $acc->setId("oh_acc");
192  $acc->setUseSessionStorage(true);
193  $acc->setBehaviour(ilAccordionGUI::FIRST_OPEN);
194 
195  foreach ($help_arr as $h_id) {
196  $st_id = $h_id;
197  if (!ilLMObject::_exists($st_id)) {
198  continue;
199  }
200  $oh_lm_id = ilLMObject::_lookupContObjID($st_id);
201  $pages = ilLMObject::getPagesOfChapter($oh_lm_id, $st_id);
202  $items = [];
203  foreach ($pages as $pg) {
204  $items[] = $this->ui->factory()->button()->shy(
205  $this->replaceMenuItemTags(ilLMObject::_lookupTitle($pg["child"])),
206  "#"
207  )->withOnLoadCode(function ($id) use ($pg) {
208  return "document.getElementById('$id').addEventListener('click', () => {return il.Help.showPage(" . $pg["child"] . ");})";
209  });
210  }
211  $list = $this->ui->factory()->listing()->unordered($items);
212  $acc->addItem(ilLMObject::_lookupTitle($st_id), $this->ui->renderer()->renderAsync($list));
213  }
214 
215  $h_tpl = new ilTemplate("tpl.help.html", true, true, "components/ILIAS/Help");
216  $h_tpl->setVariable("HEAD", $lng->txt("help"));
217 
218  $h_tpl->setCurrentBlock("search");
219  $h_tpl->setVariable("GL_SEARCH", $this->symbol()->glyph("search")->render());
220  $h_tpl->setVariable("HELP_SEARCH_LABEL", $this->lng->txt("help_search_label"));
221  $h_tpl->parseCurrentBlock();
222 
223  if (count($help_arr) > 0) {
224  $h_tpl->setVariable("CONTENT", $acc->getHTML(true));
225  } else {
226  $mess = $ui->factory()->messageBox()->info($lng->txt("help_no_content"));
227  $h_tpl->setVariable("CONTENT", $ui->renderer()->render([$mess]));
228  }
229 
230  $h_tpl->setVariable("CLOSE_IMG", $this->symbol()->glyph("close")->render());
231  echo $h_tpl->get();
232  }
233  exit;
234  }
static get(string $a_var)
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...
ilLanguage $lng
ILIAS DI UIServices $ui
loadLanguageModule(string $a_module)
Load language module.
static _lookupTitle(int $a_obj_id)
static getPagesOfChapter(int $a_lm_id, int $a_chap_id)
Get pages of chapter.
static _exists(int $a_id)
checks wether a lm content object with specified id exists or not
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
static _lookupContObjID(int $a_id)
get learning module id for lm object
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
exit
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
replaceMenuItemTags(string $content)
static set(string $a_var, $a_val)
Set a value.
+ Here is the call graph for this function:

◆ showPage()

ilHelpGUI::showPage ( )

Definition at line 236 of file class.ilHelpGUI.php.

References $id, $lng, $ui, ilPageUtil\_existsAndNotEmpty(), ilLMObject\_lookupTitle(), exit, ilSession\get(), getLinkTargetsXML(), getLinkXML(), ilLegacyFormElementsUtil\prepareFormOutput(), replaceMenuItemTags(), ilSession\set(), symbol(), ilLanguage\txt(), and ILIAS\UI\Implementation\Component\withOnLoadCode().

236  : void
237  {
238  $lng = $this->lng;
239  $ui = $this->ui;
240 
241  $page_id = $this->help_request->getHelpPage();
242 
243  $h_tpl = new ilTemplate("tpl.help.html", true, true, "components/ILIAS/Help");
244 
245  if (($t = ilSession::get("help_search_term")) != "") {
246  $back_button = $ui->factory()->button()->bulky($ui->factory()->symbol()->glyph()->back(), $lng->txt("back"), "#")->withOnLoadCode(function ($id) use ($t) {
247  return
248  "$(\"#$id\").click(function() { return il.Help.search('" . ilLegacyFormElementsUtil::prepareFormOutput(
249  $t
250  ) . "'); return false;});";
251  });
252  } else {
253  $back_button = $ui->factory()->button()->bulky($ui->factory()->symbol()->glyph()->back(), $lng->txt("back"), "#")->withOnLoadCode(function ($id) {
254  return
255  "$(\"#$id\").click(function() { return il.Help.listHelp(event, true); return false;});";
256  });
257  }
258  $h_tpl->setVariable("BACKBUTTON", $ui->renderer()->renderAsync($back_button));
259 
260  $h_tpl->setVariable(
261  "HEAD",
263  );
264 
265  if (!ilPageUtil::_existsAndNotEmpty("lm", $page_id)) {
266  exit;
267  }
268 
269  // get page object
270  $page_gui = new ilLMPageGUI($page_id);
271  $cfg = $page_gui->getPageConfig();
272  $page_gui->setPresentationTitle("");
273  $page_gui->setTemplateOutput(false);
274  $page_gui->setHeader("");
275  $page_gui->setRawPageContent(true);
276  $cfg->setEnablePCType("Map", false);
277  $cfg->setEnablePCType("Tabs", false);
278  $cfg->setEnablePCType("FileList", false);
279 
280  $page_gui->getPageObject()->buildDom();
281  $int_links = $page_gui->getPageObject()->getInternalLinks();
282  $link_xml = $this->getLinkXML($int_links);
283  $link_xml .= $this->getLinkTargetsXML();
284  //echo htmlentities($link_xml);
285  $page_gui->setLinkXml($link_xml);
286 
287  $ret = $this->replaceMenuItemTags($page_gui->showPage());
288 
289  $h_tpl->setVariable("CONTENT", $ret);
290  $h_tpl->setVariable("CLOSE_IMG", $this->symbol()->glyph("close")->render());
291 
292  ilSession::set("help_pg", $page_id);
293 
294  $page = $h_tpl->get();
295 
296  // replace style classes
297  //$page = str_replace("ilc_text_inline_Strong", "ilHelpStrong", $page);
298 
299  echo $page;
300  exit;
301  }
static get(string $a_var)
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...
ilLanguage $lng
ILIAS DI UIServices $ui
static prepareFormOutput($a_str, bool $a_strip=false)
static _lookupTitle(int $a_obj_id)
static _existsAndNotEmpty(string $a_parent_type, int $a_id, string $a_lang="-")
checks whether page exists and is not empty (may return true on some empty pages) ...
Extension of ilPageObjectGUI for learning modules.
getLinkXML(array $a_int_links)
getLinkTargetsXML()
Get XMl for Link Targets.
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
exit
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
replaceMenuItemTags(string $content)
static set(string $a_var, $a_val)
Set a value.
+ Here is the call graph for this function:

◆ showTooltips()

ilHelpGUI::showTooltips ( )

Definition at line 552 of file class.ilHelpGUI.php.

552  : bool
553  {
554  return $this->presentation->showTooltips();
555  }

◆ symbol()

ilHelpGUI::symbol ( )
protected

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

References $DIC.

Referenced by search(), showHelp(), and showPage().

82  {
83  global $DIC;
84  return $DIC->repository()->internal()->gui()->symbol();
85  }
global $DIC
Definition: shib_login.php:22
+ Here is the caller graph for this function:

Field Documentation

◆ $ctrl

ilCtrl ilHelpGUI::$ctrl
protected

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

Referenced by setCtrlPar().

◆ $def_screen_id

array ilHelpGUI::$def_screen_id = array()

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

◆ $gui

ILIAS Repository InternalGUIService ilHelpGUI::$gui
protected

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

◆ $help_map

ILIAS Help Map MapManager ilHelpGUI::$help_map
protected

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

◆ $help_request

StandardGUIRequest ilHelpGUI::$help_request
protected

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

◆ $help_sections

array ilHelpGUI::$help_sections = array()

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

◆ $internal_service

ILIAS Help InternalService ilHelpGUI::$internal_service = null
staticprotected

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

◆ $lng

ilLanguage ilHelpGUI::$lng
protected

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

Referenced by search(), showHelp(), and showPage().

◆ $observer

HelpScreenIdObserver ilHelpGUI::$observer
protected

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

◆ $presentation

ILIAS Help Presentation PresentationManager ilHelpGUI::$presentation
protected

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

◆ $raw_menu_items

array ilHelpGUI::$raw_menu_items = null
protected

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

◆ $screen_id

array ilHelpGUI::$screen_id = array()

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

Referenced by getScreenId().

◆ $screen_id_component

string ilHelpGUI::$screen_id_component = ''
protected

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

◆ $settings

ilSetting ilHelpGUI::$settings
protected

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

◆ $ui

ILIAS DI UIServices ilHelpGUI::$ui
protected

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

Referenced by search(), showHelp(), and showPage().

◆ $user

ilObjUser ilHelpGUI::$user
protected

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

Referenced by activateTooltips(), and deactivateTooltips().

◆ ID_PART_COMPONENT

const ilHelpGUI::ID_PART_COMPONENT = "component"

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

◆ ID_PART_SCREEN

const ilHelpGUI::ID_PART_SCREEN = "screen"

◆ ID_PART_SUB_SCREEN

const ilHelpGUI::ID_PART_SUB_SCREEN = "sub_screen"

Definition at line 31 of file class.ilHelpGUI.php.

Referenced by ilTabsGUI\removeNonTabbedLinks().


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