19declare(strict_types=1);
39 private \ILIAS\HTTP\Services
$http;
54 $this->
ctrl = $DIC->ctrl();
55 $this->tpl =
$DIC->ui()->mainTemplate();
56 $this->
tabs = $DIC->tabs();
58 $this->
http = $DIC->http();
60 $this->ui_factory =
$DIC->ui()->factory();
61 $this->ui_renderer =
$DIC->ui()->renderer();
63 $this->
lng = $DIC[
'lng'];
65 $this->
lng->loadLanguageModule(
'auth');
67 $this->ref_id = $a_ref_id;
69 $content_style =
$DIC->contentStyle();
70 $this->content_style_domain = $content_style
72 ->styleForRefId($a_ref_id);
73 $this->content_style_gui = $content_style->gui();
75 $query_wrapper =
$DIC->http()->wrapper()->query();
76 $post_wrapper =
$DIC->http()->wrapper()->post();
79 if ($query_wrapper->has(
'redirectSource')) {
80 $this->redirect_source = $query_wrapper->retrieve(
'redirectSource',
$refinery->kindlyTo()->string());
83 if ($post_wrapper->has(
'key')) {
84 $this->requested_language_id = $post_wrapper->retrieve(
'key',
$refinery->kindlyTo()->int());
85 } elseif ($query_wrapper->has(
'key')) {
86 $this->requested_language_id = $query_wrapper->retrieve(
'key',
$refinery->kindlyTo()->int());
89 $this->request_ipe_context = $query_wrapper->retrieve(
90 self::CONTEXT_HTTP_PARAM,
96 $this->
ctrl->setParameter($this, self::CONTEXT_HTTP_PARAM, $this->request_ipe_context);
113 switch (strtolower($this->
ctrl->getNextClass($this) ??
'')) {
114 case strtolower(ilLoginPageGUI::class):
115 case strtolower(ilLogoutPageGUI::class):
116 $this->
tabs->clearTargets();
117 $this->
tabs->setBackTarget(
118 $this->
lng->txt(
'back'),
119 $this->ctrl->getLinkTarget($this, self::DEFAULT_COMMAND)
122 if (strtolower($this->redirect_source ??
'') !== strtolower(ilInternalLinkGUI::class)) {
128 $cmd = $this->
ctrl->getCmd();
129 if ($cmd ===
null || $cmd ===
'' || !method_exists($this, $cmd .
'Command')) {
132 $verified_command = $cmd .
'Command';
134 $this->$verified_command();
146 if (!$this->requested_language_id) {
147 $this->tpl->setOnScreenMessage(
148 $this->tpl::MESSAGE_TYPE_FAILURE,
149 $this->
lng->txt(
'language_does_not_exist'),
152 $this->
ctrl->returnToParent($this);
155 $this->
lng->loadLanguageModule(
'content');
163 $this->
ctrl->setParameter($this,
'key', $this->requested_language_id);
165 if (!$ipe_class::_exists($ipe_page_type, $this->requested_language_id)) {
166 $new_page_object =
new $ipe_class();
167 $new_page_object->setParentId($this->requested_language_id);
168 $new_page_object->setId($this->requested_language_id);
169 $new_page_object->createFromXML();
172 $this->
ctrl->setReturnByClass($ipe_gui_class,
'edit');
173 $page_gui =
new ($ipe_gui_class)($this->requested_language_id);
177 $this->content_style_gui->addCss($this->tpl, $this->ref_id);
179 $page_gui->setTemplateTargetVar(
'ADM_CONTENT');
180 $page_gui->setStyleId($this->content_style_domain->getEffectiveStyleId());
181 $page_gui->setTemplateOutput(
false);
183 $html = $this->
ctrl->forwardCommand($page_gui);
186 $this->tpl->setContent($html);
192 $action = $this->
http->wrapper()->query()->retrieve(
193 'authpage_languages_action',
195 $this->refinery->kindlyTo()->string(),
196 $this->refinery->always(
'')
200 $keys = $this->
http->wrapper()->query()->retrieve(
201 'authpage_languages_key',
203 $this->refinery->kindlyTo()->listOf($this->refinery->kindlyTo()->string()),
204 $this->refinery->always([])
209 case AuthPageLanguagesOverviewTable::DEACTIVATE:
210 case AuthPageLanguagesOverviewTable::ACTIVATE:
214 case AuthPageLanguagesOverviewTable::EDIT:
217 $this->
ctrl->setParameter($this,
'key', $language_id);
218 $this->
ctrl->redirectByClass(
225 $this->
ctrl->redirect($this, self::DEFAULT_COMMAND);
233 $keys = $this->
http->wrapper()->query()->retrieve(
234 'authpage_languages_key',
236 $this->refinery->kindlyTo()->listOf($this->refinery->kindlyTo()->string()),
237 $this->refinery->always([])
241 $lang_keys = $this->
lng->getInstalledLanguages();
243 if ((
string) current($keys) !==
'ALL_OBJECTS') {
244 $lang_keys = array_intersect($keys, $lang_keys);
257 foreach ($lang_keys as $lang_key) {
258 $settings->enableIliasEditor($lang_key,
true);
263 $this->tpl->setOnScreenMessage($this->tpl::MESSAGE_TYPE_SUCCESS, $this->
lng->txt(
'settings_saved'),
true);
264 $this->
ctrl->redirect($this, self::DEFAULT_COMMAND);
274 foreach ($lang_keys as $lang_key) {
275 $settings->enableIliasEditor($lang_key,
false);
280 $this->tpl->setOnScreenMessage($this->tpl::MESSAGE_TYPE_SUCCESS, $this->
lng->txt(
'settings_saved'),
true);
281 $this->
ctrl->redirect($this, self::DEFAULT_COMMAND);
296 $this->tpl->setContent($this->ui_renderer->render($tbl->getComponent()));
Facade for consumer gui interface.
@ilCtrl_isCalledBy ilAuthPageEditorGUI: ilObjAuthSettingsGUI @ilCtrl_Calls ilAuthPageEditorGUI: ilLog...
getRequestedAuthPageEditorContext()
ILIAS UI Renderer $ui_renderer
ILIAS Refinery Factory $refinery
ILIAS HTTP Services $http
showPageEditorLanguagesCommand()
getUnsafeGetCommands()
This method must return a list of unsafe GET commands.
final const string CONTEXT_HTTP_PARAM
GUIService $content_style_gui
ILIAS UI Factory $ui_factory
string $request_ipe_context
getSafePostCommands()
This method must return a list of safe POST commands.
int $requested_language_id
handlePageActionsCommand()
ILIAS Style Content Object ObjectFacade $content_style_domain
__construct(int $a_ref_id)
ilGlobalTemplateInterface $tpl
final const string DEFAULT_COMMAND
final const string LANGUAGE_TABLE_ACTIONS_COMMAND
static getInstance(AuthPageEditorContext $context)
static lookupId(string $a_lang_key)
Lookup obj_id of language.
static getContentStylePath(int $a_style_id, bool $add_random=true, bool $add_token=true)
get content style path static (to avoid full reading)
static getSyntaxStylePath()
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...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static http()
Fetches the global http state from ILIAS.