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();
81 $this->
ctrl->forwardCommand($gui);
84 case strtolower(ilPermissionGUI::class):
85 $this->tabs_gui->setTabActive(
'perm_settings');
87 $this->
ctrl->forwardCommand($perm_gui);
91 if (!$cmd || $cmd ===
'view') {
92 $cmd =
"editSettings";
101 $this->
tabs->activateTab(
"settings");
103 if ($this->domain->module()->isAuthoringMode()) {
104 $this->tpl->setOnScreenMessage(
'info',
"This installation is used for online help authoring. Help modules cannot be imported.");
111 $fi->setSuffixes(array(
"zip"));
112 $this->
toolbar->addInputItem($fi,
true);
113 $this->
toolbar->addFormButton($this->
lng->txt(
"upload"),
"uploadHelpFile");
114 $this->
toolbar->addSeparator();
118 "" => $this->
lng->txt(
"help_tooltips_and_help"),
119 "1" => $this->lng->txt(
"help_help_only"),
120 "2" => $this->lng->txt(
"help_tooltips_only")
124 $si->setValue($this->
settings->get(
"help_mode"));
125 $this->
toolbar->addInputItem($si);
127 $this->
toolbar->addFormButton($this->
lng->txt(
"help_set_mode"),
"setMode");
129 $this->
toolbar->setFormAction($this->
ctrl->getFormAction($this),
true);
133 $this->tpl->setContent($table->getHTML());
139 $this->tabs_gui->addTab(
141 $this->
lng->txt(
"settings"),
142 $this->ctrl->getLinkTarget($this,
"editSettings")
144 $this->tabs_gui->addTab(
146 $this->
lng->txt(
"guided_tour"),
147 $this->ctrl->getLinkTargetByClass(ilGuidedTourAdminGUI::class)
152 $this->tabs_gui->addTab(
154 $this->
lng->txt(
"perm_settings"),
155 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm")
162 if (!isset($_FILES[
"help_file"][
"tmp_name"]) || $_FILES[
"help_file"][
"tmp_name"] ===
"") {
163 $this->tpl->setOnScreenMessage(
'failure', $this->
lng->txt(
"help_select_a_file"),
true);
164 $this->
ctrl->redirect($this,
"editSettings");
167 $this->domain->module()->upload($_FILES[
"help_file"]);
168 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"help_module_uploaded"),
true);
171 $this->
ctrl->redirect($this,
"editSettings");
178 $ids = $this->help_request->getIds();
180 if (count($ids) === 0) {
181 $this->tpl->setOnScreenMessage(
'info', $this->
lng->txt(
"no_checkbox"),
true);
182 $this->
ctrl->redirect($this,
"editSettings");
185 $cgui->setFormAction($this->
ctrl->getFormAction($this));
186 $cgui->setHeaderText($this->
lng->txt(
"help_sure_delete_help_modules"));
187 $cgui->setCancel($this->
lng->txt(
"cancel"),
"editSettings");
188 $cgui->setConfirm($this->
lng->txt(
"delete"),
"deleteHelpModules");
190 foreach ($ids as $i) {
191 $cgui->addItem(
"id[]", $i, $this->domain->module()->lookupModuleLmId($i));
194 $this->tpl->setContent($cgui->getHTML());
201 $ids = $this->help_request->getIds();
202 foreach ($ids as $i) {
203 $this->domain->module()->deleteModule((
int) $i);
205 $this->
ctrl->redirect($this,
"editSettings");
211 $this->domain->module()->activate($this->help_request->getHelpModuleId());
212 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"msg_obj_modified"),
true);
213 $this->
ctrl->redirect($this,
"editSettings");
219 $this->domain->module()->deactivate($this->help_request->getHelpModuleId());
220 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"msg_obj_modified"),
true);
221 $this->
ctrl->redirect($this,
"editSettings");
230 $this->help_request->getHelpMode()
232 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"msg_obj_modified"),
true);
235 $this->
ctrl->redirect($this,
"editSettings");
241 $this->domain->module()->saveOrder($this->help_request->getOrder());
242 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"msg_obj_modified"),
true);
243 $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