19 declare(strict_types=1);
53 public static function setTitle(
string $title): void
75 return $this->context_collection->
main();
80 return $this->
globalScreen()->layout()->factory()->content()->withModification(
function (
83 $ui = $this->dic->ui();
84 return $ui->factory()->legacy(
85 $ui->renderer()->render($content) . self::$content
87 })->withLowPriority();
93 $modification = $this->
globalScreen()->layout()->factory()->title()->withModification(
94 fn (?
string $content): ?
string => self::$title
103 $modification = $this->
globalScreen()->layout()->factory()->short_title()->withModification(
104 fn (?
string $content): ?
string => self::$short_title
105 )->withLowPriority();
107 return $modification;
113 $modification = $this->
globalScreen()->layout()->factory()->view_title()->withModification(
114 fn (?
string $content): ?
string => $this->
buildTabTitle() . self::$view_title
115 )->withLowPriority();
117 return $modification;
130 $tab_title_generator =
function (array $tab):
string {
131 if (($tab[
'dir_text'] ??
false) ===
false) {
132 $tab_title = $this->dic->language()->txt($tab[
'text']);
134 $tab_title = $tab[
'text'] ??
'';
142 $tab_looper =
static function (array $tabs,
string $active_tab) use ($tab_title_generator):
string {
144 foreach ($tabs as $tab) {
145 if ($tab[
'id'] === $active_tab) {
146 $tab_title = $tab_title_generator($tab);
154 $tabs = $this->dic->tabs()->target;
155 $active_tab = $this->dic->tabs()->getActiveTab();
156 if ($active_tab ===
'' && isset($tabs[0])) {
157 $active_tab = $tabs[0][
'id'];
160 $tab_title = $tab_looper($tabs, $active_tab);
164 $subtabs = $this->dic->tabs()->sub_target;
165 if (count($subtabs) > 1) {
166 $active_subtab = array_values(
167 array_filter($subtabs,
static function (array $subtab):
bool {
168 return $subtab[
'activate'] ??
false;
172 if ($active_subtab ===
'' && isset($subtabs[0])) {
173 $active_subtab = $subtabs[0][
'id'];
175 $subtab_title = $tab_looper($subtabs, $active_subtab);
178 return $subtab_title . $tab_title;
185 $f = $this->dic->ui()->factory();
190 $text =
"powered by ILIAS (v{$ilias_version})";
194 $this->dic->http()->wrapper()->query()->retrieve(
196 $this->dic->refinery()->kindlyTo()->string()
200 $imprint_title = $this->dic->language()->txt(
"imprint");
202 $links[] =
$f->link()->standard($imprint_title, $imprint_url);
208 $links[] =
$f->link()->standard($system_support_title, $system_support_url);
214 $translation_title = $this->dic->language()->txt(
'translation');
215 $links[] =
$f->link()->standard($translation_title, $translation_url)->withOpenInNewViewport(
true);
221 $links[] =
$f->link()->standard($accessibility_control_title, $accessibility_control_url);
227 $links[] =
$f->link()->standard($accessibility_report_title, $accessibility_report_url);
230 $footer =
$f->mainControls()->footer($links, $text);
232 $tosWithdrawalGui = new \ilTermsOfServiceWithdrawalGUIHelper($this->dic->user());
233 $footer = $tosWithdrawalGui->modifyFooter($footer);
235 if (self::$perma_link !==
"") {
getShortTitleModification(CalledContexts $screen_context_stack)
static string $short_title
static setViewTitle(string $view_title)
static _isPageTranslation()
Check if the current request is a page translation.
getFooterModification(CalledContexts $screen_context_stack)
Class ShortTitleModification.
getViewTitleModification(CalledContexts $screen_context_stack)
getContentModification(CalledContexts $screen_context_stack)
Class ShortTitleModification.
Class ContentModification.
Class AbstractModificationProvider.
static _getTranslationLink()
Get the link to translate the current page.
buildTabTitle()
This method was introduced due to A11y problems, see https://mantis.ilias.de/view.php?id=31534.
static _getStaticLink(?int $a_ref_id, string $a_type='', bool $a_fallback_goto=true, string $append="")
Get static link.
The scope of this class is split ilias-conform URI's into components.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static setContent(string $content)
static setShortTitle(string $short_title)
getTitleModification(CalledContexts $screen_context_stack)
withPermanentURL(URI $url)
static setTitle(string $title)
static setPermaLink(string $perma_link)
static string $view_title
This describes the Footer.
static _checkTranslate()
Permission check for translations.
static string $perma_link