27 protected \ILIAS\Help\InternalGUIService
$gui;
28 protected \ILIAS\Help\InternalDomainService
$domain;
34 int $a_id_type = self::REPOSITORY_NODE_ID,
35 int $a_parent_node_id = 0
46 $this->
access = $domain->access();
47 $this->
lng = $domain->lng();
48 $this->
settings = $domain->settings();
50 $this->
ctrl = $gui->ctrl();
51 $this->
tabs = $gui->tabs();
52 $this->
toolbar = $gui->toolbar();
53 $this->tpl =
$gui->ui()->mainTemplate();
55 $this->help_request =
$gui->standardRequest();
65 $this->
lng->loadLanguageModule(
"help");
67 $next_class = $this->
ctrl->getNextClass($this);
68 $cmd = $this->
ctrl->getCmd();
72 if (!$this->rbac_system->checkAccess(
"read", $this->object->getRefId())) {
76 switch ($next_class) {
78 case strtolower(ilGuidedTourAdminGUI::class):
79 $this->tabs_gui->setTabActive(
'guided_tour');
80 $gui = $this->gui->guidedTour()->adminGUI(
83 $this->
ctrl->forwardCommand($gui);
86 case strtolower(ilPermissionGUI::class):
87 $this->tabs_gui->setTabActive(
'perm_settings');
89 $this->
ctrl->forwardCommand($perm_gui);
93 if (!$cmd || $cmd ===
'view') {
94 $cmd =
"editSettings";
103 $this->
tabs->activateTab(
"settings");
105 if ($this->domain->module()->isAuthoringMode()) {
106 $this->tpl->setOnScreenMessage(
'info',
"This installation is used for online help authoring. Help modules cannot be imported.");
113 $fi->setSuffixes(array(
"zip"));
114 $this->
toolbar->addInputItem($fi,
true);
115 $this->
toolbar->addFormButton($this->
lng->txt(
"upload"),
"uploadHelpFile");
116 $this->
toolbar->addSeparator();
120 "" => $this->
lng->txt(
"help_tooltips_and_help"),
121 "1" => $this->lng->txt(
"help_help_only"),
122 "2" => $this->lng->txt(
"help_tooltips_only")
126 $si->setValue($this->
settings->get(
"help_mode"));
127 $this->
toolbar->addInputItem($si);
129 $this->
toolbar->addFormButton($this->
lng->txt(
"help_set_mode"),
"setMode");
131 $this->
toolbar->setFormAction($this->
ctrl->getFormAction($this),
true);
135 $this->tpl->setContent($table->getHTML());
141 $this->tabs_gui->addTab(
143 $this->
lng->txt(
"settings"),
144 $this->ctrl->getLinkTarget($this,
"editSettings")
146 $this->tabs_gui->addTab(
148 $this->
lng->txt(
"guided_tour"),
149 $this->ctrl->getLinkTargetByClass(ilGuidedTourAdminGUI::class)
154 $this->tabs_gui->addTab(
156 $this->
lng->txt(
"perm_settings"),
157 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm")
164 if (!isset($_FILES[
"help_file"][
"tmp_name"]) || $_FILES[
"help_file"][
"tmp_name"] ===
"") {
165 $this->tpl->setOnScreenMessage(
'failure', $this->
lng->txt(
"help_select_a_file"),
true);
166 $this->
ctrl->redirect($this,
"editSettings");
169 $this->domain->module()->upload($_FILES[
"help_file"]);
170 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"help_module_uploaded"),
true);
173 $this->
ctrl->redirect($this,
"editSettings");
180 $ids = $this->help_request->getIds();
182 if (count($ids) === 0) {
183 $this->tpl->setOnScreenMessage(
'info', $this->
lng->txt(
"no_checkbox"),
true);
184 $this->
ctrl->redirect($this,
"editSettings");
187 $cgui->setFormAction($this->
ctrl->getFormAction($this));
188 $cgui->setHeaderText($this->
lng->txt(
"help_sure_delete_help_modules"));
189 $cgui->setCancel($this->
lng->txt(
"cancel"),
"editSettings");
190 $cgui->setConfirm($this->
lng->txt(
"delete"),
"deleteHelpModules");
192 foreach ($ids as $i) {
193 $cgui->addItem(
"id[]", $i, $this->domain->module()->lookupModuleLmId($i));
196 $this->tpl->setContent($cgui->getHTML());
203 $ids = $this->help_request->getIds();
204 foreach ($ids as $i) {
205 $this->domain->module()->deleteModule((
int) $i);
207 $this->
ctrl->redirect($this,
"editSettings");
213 $this->domain->module()->activate($this->help_request->getHelpModuleId());
214 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"msg_obj_modified"),
true);
215 $this->
ctrl->redirect($this,
"editSettings");
221 $this->domain->module()->deactivate($this->help_request->getHelpModuleId());
222 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"msg_obj_modified"),
true);
223 $this->
ctrl->redirect($this,
"editSettings");
232 $this->help_request->getHelpMode()
234 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"msg_obj_modified"),
true);
237 $this->
ctrl->redirect($this,
"editSettings");
243 $this->domain->module()->saveOrder($this->help_request->getOrder());
244 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"msg_obj_modified"),
true);
245 $this->
ctrl->redirect($this,
"editSettings");
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...
@ilCtrl_Calls ilObjHelpSettingsGUI: ilPermissionGUI, ilGuidedTourAdminGUI @ilCtrl_isCalledBy ilObjHel...
StandardGUIRequest $help_request
executeCommand()
execute command
__construct(int $a_id=0, int $a_id_type=self::REPOSITORY_NODE_ID, int $a_parent_node_id=0)
getAdminTabs()
administration tabs show only permissions and trash folder
getType()
Functions that must be overwritten.
ILIAS Help InternalGUIService $gui
ILIAS Help InternalDomainService $domain
confirmHelpModulesDeletion()
New implementation of ilObjectGUI.
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $node_id=null)
checkPermission(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
prepareOutput(bool $show_sub_objects=true)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc