ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
ilLMMenuRendererGUI Class Reference

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

+ Collaboration diagram for ilLMMenuRendererGUI:

Public Member Functions

 render ()
 

Protected Attributes

ilLanguage $lng
 
bool $export_all
 
int $requested_ref_id
 
int $requested_obj_id
 
ilAccessHandler $access
 
ilObjUser $user
 
int $current_page
 
ilObjLearningModule $lm
 
bool $offline
 
ilCtrl $ctrl
 
string $lang
 
string $active_tab
 
string $export_format
 
ilTabsGUI $tabs
 
ilToolbarGUI $toolbar
 
ilLMMenuEditor $menu_editor
 
ilLMPresentationService $lm_pres_service
 
ilGlobalTemplateInterface $main_tpl
 
ILIAS UI Factory $ui_factory
 
Closure $additional_content_collector
 

Detailed Description

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

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

If this is not the case or you just want to try ILIAS, you'll find us at: https://www.ilias.de https://github.com/ILIAS-eLearning Menu / Tabs renderer

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

Definition at line 24 of file class.ilLMMenuRendererGUI.php.

Member Function Documentation

◆ render()

ilLMMenuRendererGUI::render ( )

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

References $access, $additional_content_collector, $ctrl, $tabs, ilLearningProgressAccess\checkAccess(), ILIAS\Repository\ctrl(), ilObjectLP\getInstance(), ILIAS\Repository\lng(), ilLPObjSettings\LP_MODE_COLLECTION_MANUAL, ilTabsGUI\setSetupMode(), and ILIAS\Repository\toolbar().

Referenced by ilLMPresentationGUI\renderTabs().

93  : string
94  {
95  $ilCtrl = $this->ctrl;
96  $ilAccess = $this->access;
97  $ilTabs = $this->tabs;
98 
99  $getcmd = "getHTML";
100 
101  $content_active = ($this->active_tab === "content");
102 
103  if (!$this->lm->isActiveLMMenu()) {
104  return "";
105  }
106 
107  $tabs_gui = $ilTabs;
108 
109  // workaround for preventing tooltips in export
110  if ($this->offline) {
111  $tabs_gui->setSetupMode(true);
112  }
113 
114  // content
115  if (!$this->offline && $ilAccess->checkAccess("read", "", $this->requested_ref_id)) {
116  $ilCtrl->setParameterByClass("illmpresentationgui", "obj_id", $this->requested_obj_id);
117  if (!$content_active) {
118  $this->toolbar->addComponent(
119  $this->ui_factory->button()->standard($this->lng->txt("content"), $ilCtrl->getLinkTargetByClass("illmpresentationgui", "layout"))
120  );
121  }
122  } elseif ($this->offline) {
123  $tabs_gui->setForcePresentationOfSingleTab(true);
124  }
125 
126  if (!$content_active) {
127  return "";
128  }
129 
130  // info button
131  if ($this->lm->isInfoEnabled()) {
132  if (!$this->offline) {
133  $ilCtrl->setParameterByClass("illmpresentationgui", "obj_id", $this->requested_obj_id);
134  $link = $this->ctrl->getLinkTargetByClass(
135  array("illmpresentationgui", "ilinfoscreengui"),
136  "showSummary"
137  );
138  $this->toolbar->addComponent(
139  $this->ui_factory->button()->standard($this->lng->txt("info_short"), $link)
140  );
141  }
142  }
143  if (!$this->offline &&
144  $ilAccess->checkAccess("read", "", $this->requested_ref_id) && // #14075
145  ilLearningProgressAccess::checkAccess($this->requested_ref_id)) {
146  $olp = ilObjectLP::getInstance($this->lm->getId());
147  if ($olp->getCurrentMode() !== ilLPObjSettings::LP_MODE_COLLECTION_MANUAL) {
148  $this->toolbar->addComponent(
149  $this->ui_factory->button()->standard(
150  $this->lng->txt("learning_progress"),
151  $this->ctrl->getLinkTargetByClass(array("illmpresentationgui", "illearningprogressgui"), "")
152  )
153  );
154  } else {
155  $this->toolbar->addComponent(
156  $this->ui_factory->button()->standard(
157  $this->lng->txt("learning_progress"),
158  $this->ctrl->getLinkTargetByClass(array("illmpresentationgui", "illearningprogressgui"), "editManual")
159  )
160  );
161  } /* elseif ($olp->getCurrentMode() == ilLPObjSettings::LP_MODE_COLLECTION_TLT) {
162  $this->toolbar->addComponent(
163  $this->ui_factory->button()->standard(
164  $this->lng->txt("learning_progress"),
165  $this->ctrl->getLinkTargetByClass(array("illmpresentationgui", "illearningprogressgui"), "showtlt")
166  )
167  );
168  }*/
169  }
170 
171  // default entries (appearing in lsq and native mode)
172  $menu = new \ILIAS\LearningModule\Menu\ilLMMenuGUI($this->lm_pres_service);
173  foreach ($menu->getEntries() as $entry) {
174  if (is_object($entry["signal"])) {
175  $this->toolbar->addComponent(
176  $this->ui_factory->button()->standard($entry["label"], '')
177  ->withOnClick($entry["signal"])
178  );
179  }
180  if (is_object($entry["modal"])) {
181  ($this->additional_content_collector)($entry["modal"]);
182  }
183  if ($entry["on_load"] != "") {
184  $this->main_tpl->addOnLoadCode($entry["on_load"]);
185  }
186  }
187 
188  // edit learning module
189  if (!$this->offline) {
190  if ($ilAccess->checkAccess("write", "", $this->requested_ref_id)) {
191  $actions = [];
192 
193  if ($this->current_page > 0) {
194  $actions[] = $this->ui_factory->button()->shy(
195  $this->lng->txt("edit_page"),
196  ILIAS_HTTP_PATH . "/ilias.php?baseClass=ilLMEditorGUI&ref_id=" . $this->requested_ref_id .
197  "&obj_id=" . $this->current_page . "&to_page=1"
198  );
199  }
200  $actions[] = $this->ui_factory->button()->shy(
201  $this->lng->txt("lm_edit_chapters"),
202  $this->ctrl->getLinkTargetByClass(["ilLMEditorGUI", "ilobjlearningmodulegui"], "chapters")
203  );
204  $actions[] = $this->ui_factory->button()->shy(
205  $this->lng->txt("lm_edit_lm_settings"),
206  $this->ctrl->getLinkTargetByClass(["ilLMEditorGUI", "ilobjlearningmodulegui"], "properties")
207  );
208  $this->toolbar->addComponent(
209  $this->ui_factory->dropdown()->standard($actions)
210  );
211  }
212  }
213 
214  return $tabs_gui->$getcmd();
215  }
static checkAccess(int $a_ref_id, bool $a_allow_only_read=true)
check access to learning progress
setSetupMode(bool $a_val)
static getInstance(int $obj_id)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $access

ilAccessHandler ilLMMenuRendererGUI::$access
protected

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

Referenced by render().

◆ $active_tab

string ilLMMenuRendererGUI::$active_tab
protected

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

◆ $additional_content_collector

Closure ilLMMenuRendererGUI::$additional_content_collector
protected

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

Referenced by render().

◆ $ctrl

ilCtrl ilLMMenuRendererGUI::$ctrl
protected

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

Referenced by render().

◆ $current_page

int ilLMMenuRendererGUI::$current_page
protected

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

◆ $export_all

bool ilLMMenuRendererGUI::$export_all
protected

Definition at line 27 of file class.ilLMMenuRendererGUI.php.

◆ $export_format

string ilLMMenuRendererGUI::$export_format
protected

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

◆ $lang

string ilLMMenuRendererGUI::$lang
protected

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

◆ $lm

ilObjLearningModule ilLMMenuRendererGUI::$lm
protected

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

◆ $lm_pres_service

ilLMPresentationService ilLMMenuRendererGUI::$lm_pres_service
protected

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

◆ $lng

ilLanguage ilLMMenuRendererGUI::$lng
protected

Definition at line 26 of file class.ilLMMenuRendererGUI.php.

◆ $main_tpl

ilGlobalTemplateInterface ilLMMenuRendererGUI::$main_tpl
protected

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

◆ $menu_editor

ilLMMenuEditor ilLMMenuRendererGUI::$menu_editor
protected

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

◆ $offline

bool ilLMMenuRendererGUI::$offline
protected

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

◆ $requested_obj_id

int ilLMMenuRendererGUI::$requested_obj_id
protected

Definition at line 29 of file class.ilLMMenuRendererGUI.php.

◆ $requested_ref_id

int ilLMMenuRendererGUI::$requested_ref_id
protected

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

◆ $tabs

ilTabsGUI ilLMMenuRendererGUI::$tabs
protected

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

Referenced by render().

◆ $toolbar

ilToolbarGUI ilLMMenuRendererGUI::$toolbar
protected

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

◆ $ui_factory

ILIAS UI Factory ilLMMenuRendererGUI::$ui_factory
protected

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

◆ $user

ilObjUser ilLMMenuRendererGUI::$user
protected

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


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