19declare(strict_types=1);
63 $this->
lng = $DIC->language();
66 $this->logger_factory =
$DIC[
'ilLoggerFactory'];
68 $this->legacy_content_template =
new PageContentGUI(
"tpl.page_content.html",
true,
true);
69 $this->il_settings =
$DIC->settings();
75 $this->
http->saveResponse(
76 $this->
http->response()->withAddedHeader(
78 'CP="CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa OUR BUS IND UNI COM NAV INT CNT STA PRE"'
82 $this->
http->saveResponse(
83 $this->
http->response()->withAddedHeader(
'Content-type',
'text/html; charset=UTF-8')
86 if (defined(
"ILIAS_HTTP_PATH")) {
87 $this->gs->layout()->meta()->setBaseURL(
88 (substr(ILIAS_HTTP_PATH, -1) ===
'/' ? ILIAS_HTTP_PATH : ILIAS_HTTP_PATH .
'/')
92 $this->gs->layout()->meta()->setTextDirection($this->
lng->getTextDirection());
102 $this->gs->layout()->meta()->addJs(
"assets/js/Basic.js",
true, 1);
105 GlobalPageHandler::initPage($this);
107 $sessionReminder =
new ilSessionReminderGUI(
111 $this->logger_factory
114 $sessionReminder->populatePage();
116 $onScreenNotifier->populatePage();
126 string $part = self::DEFAULT_BLOCK,
127 bool $a_fill_tabs =
true,
128 bool $a_skip_main_menu =
false
134 PageContentProvider::setContent($this->legacy_content_template->renderPage(self::DEFAULT_BLOCK,
true));
135 $this->
http->sendResponse();
137 print $this->
ui->renderer()->render($this->gs->collector()->layout()->getFinalPage());
145 $this->prepareOutputHeaders();
146 $this->prepareBasicJS();
147 $this->prepareBasicCSS();
149 PageContentProvider::setContent($this->legacy_content_template->renderPage(self::DEFAULT_BLOCK,
true));
151 return $this->
ui->renderer()->render($this->gs->collector()->layout()->getFinalPage());
154 public function addJavaScript(
string $a_js_file,
bool $a_add_version_parameter =
true,
int $a_batch = 2): void
156 $this->gs->layout()->meta()->addJs($a_js_file, $a_add_version_parameter, $a_batch);
159 public function addCss(
string $a_css_file,
string $media =
"screen"): void
161 $this->gs->layout()->meta()->addCss($a_css_file, $media);
166 $this->gs->layout()->meta()->addOnloadCode($a_code, $a_batch);
169 public function addInlineCss(
string $a_css,
string $media =
"screen"): void
171 $this->gs->layout()->meta()->addInlineCss($a_css, $media);
176 $this->legacy_content_template->setMainContent($a_html);
181 $this->legacy_content_template->setLeftContent($a_html);
186 $this->legacy_content_template->setRightContent($a_html);
191 $this->legacy_content_template->setFilter($filter);
194 public function setTitle(
string $a_title,
bool $hidden =
false): void
196 $this->legacy_content_template->setTitle($a_title, $hidden);
198 $short_title = (string) $this->il_settings->get(
'short_inst_name');
199 if (trim($short_title) ===
"") {
200 $short_title =
'ILIAS';
203 PageContentProvider::setShortTitle($short_title);
204 PageContentProvider::setViewTitle($a_title);
205 $header_title = ilObjSystemFolder::_getHeaderTitle();
206 PageContentProvider::setTitle($header_title);
211 $this->legacy_content_template->setTitleDesc($a_descr);
214 public function setTitleIcon(
string $a_icon_path,
string $a_icon_desc =
""): void
216 $this->legacy_content_template->setIconPath($a_icon_path);
217 $this->legacy_content_template->setIconDesc($a_icon_desc);
222 $this->legacy_content_template->setBanner($img_src);
227 $this->legacy_content_template->setTitleAlerts($a_props);
232 $this->legacy_content_template->setOnScreenMessage($a_type, $a_txt, $a_keep);
237 $this->legacy_content_template->setFileUploadRefId($a_ref_id);
242 $this->legacy_content_template->setHeaderAction($a_header);
247 PageContentProvider::setViewTitle($a_title);
252 $this->legacy_content_template->setPageFormAction($a_action);
257 $this->legacy_content_template->setAdminPanelCommandsToolbar($toolb);
258 $this->legacy_content_template->setAdminPanelArrow($a_arrow);
259 $this->legacy_content_template->setAdminPanelBottom($a_bottom_panel);
264 if ($variable ===
"LOCATION_CONTENT_STYLESHEET" || $variable ===
"LOCATION_SYNTAX_STYLESHEET") {
265 $this->addCss($value);
270 $this->legacy_content_template->setVariable(
272 $this->
refinery->kindlyTo()->string()->transform($value)
278 $this->gs->layout()->meta()->getJs()->clear();
281 public function get(
string $part = self::DEFAULT_BLOCK):
string
283 return $this->legacy_content_template->get($part);
288 if (in_array($blockname, self::$ignored_blocks)) {
292 if ($this->blockExists($blockname)) {
293 return $this->legacy_content_template->setCurrentBlock($blockname);
300 if (in_array($blockname, self::$ignored_blocks)) {
304 if ($this->blockExists($blockname)) {
305 $this->legacy_content_template->touchBlock($blockname);
314 if (in_array($blockname, self::$ignored_blocks)) {
317 if ($this->blockExists($blockname)) {
318 return $this->legacy_content_template->parseCurrentBlock($blockname);
324 public function addBlockFile(
string $var,
string $block,
string $template_name, ?
string $in_module =
null): bool
326 if ($this->blockExists($block)) {
327 $this->legacy_content_template->removeBlockData($block);
330 return $this->legacy_content_template->addBlockFile($var, $block, $template_name, $in_module);
335 if (in_array($blockname, self::$ignored_blocks)) {
339 return $this->legacy_content_template->blockExists($blockname);
355 string $a_append =
"",
356 string $a_target =
"",
359 $href =
ilLink::_getStaticLink($a_id, $a_type,
true, $a_append);
360 PageContentProvider::setPermaLink($href);
392 foreach ($this->gs->layout()->meta()->getOnLoadCode()->getItemsInOrderOfDelivery() as $code) {
393 $js .= $code->getContent() .
"\n";
396 return '<script type="text/javascript">' .
"\n" .
418 public function setTabs(
string $a_tabs_html): void
429 string $part = self::DEFAULT_BLOCK,
430 bool $add_error_mess =
false,
431 bool $handle_referer =
false,
432 bool $add_ilias_footer =
false,
433 bool $add_standard_elements =
false,
434 bool $a_main_menu =
true,
Inits the global page template for screen reade focus.
Provides fluid interface to RBAC services.
This exception indicates that an UI component was accepted by the JF but is not backed by a real impl...
static initializeFrontend(ilGlobalTemplateInterface $page)
setLeftContent(string $a_html)
Sets content of left column.
fillJavaScriptFiles(bool $a_force=false)
Probably adds javascript files.
printToString()
Use this method to get the finally rendered page as string.
resetHeaderBlock(bool $a_reset_header_action=true)
Reset all header properties: title, icon, description, alerts, action menu.
setContent(string $a_html)
Sets content for standard template.
setPermanentLink(string $a_type, ?int $a_id, string $a_append="", string $a_target="", string $a_title="")
Generates and sets a permanent ilias link.
setHeaderPageTitle(string $a_title)
Sets the title of the page (for browser window).
setAlertProperties(array $a_props)
Set alert properties.
setCurrentBlock(string $blockname=self::DEFAULT_BLOCK)
Sets the template to the given block.
__construct(Services $gs, UIServices $ui, HTTPServices $http)
@inheritDoc
addBlockFile(string $var, string $block, string $template_name, ?string $in_module=null)
overwrites ITX::addBlockFile
setBanner(string $img_src)
setTitleIcon(string $a_icon_path, string $a_icon_desc="")
set title icon
setBodyClass(string $a_class="")
Sets the body-tags class.
printToStdout(string $part=self::DEFAULT_BLOCK, bool $a_fill_tabs=true, bool $a_skip_main_menu=false)
setLeftNavContent(string $a_content)
Sets content of left navigation column.
getSpecial(string $part=self::DEFAULT_BLOCK, bool $add_error_mess=false, bool $handle_referer=false, bool $add_ilias_footer=false, bool $add_standard_elements=false, bool $a_main_menu=true, bool $a_tabs=true)
Renders the page with specific elements enabled.
PageContentGUI $legacy_content_template
setSubTabs(string $a_tabs_html)
sets subtabs in standard template
loadStandardTemplate()
This loads the standard template "tpl.adm_content.html" and "tpl.statusline.html" the CONTENT and STA...
addJavaScript(string $a_js_file, bool $a_add_version_parameter=true, int $a_batch=2)
Add a javascript file that should be included in the header.
setLocator()
Insert locator.
setTreeFlatIcon(string $a_link, string $a_mode)
Sets a tree or flat icon.
setDescription(string $a_descr)
Sets description below title in standard template.
ilLoggerFactory $logger_factory
setVariable(string $variable, $value='')
Sets the given variable to the given value.
addOnLoadCode(string $a_code, int $a_batch=2)
Add on load code.
setPageFormAction(string $a_action)
Sets the pages form action.
setOnScreenMessage(string $a_type, string $a_txt, bool $a_keep=false)
Set a message to be displayed to the user.
addCss(string $a_css_file, string $media="screen")
Add a css file that should be included in the header.
parseCurrentBlock(string $blockname=self::DEFAULT_BLOCK)
Parses the given block.
addAdminPanelToolbar(ilToolbarGUI $toolb, bool $a_bottom_panel=true, bool $a_arrow=false)
setTabs(string $a_tabs_html)
sets tabs in standard template
clearHeader()
Clear header.
setHeaderActionMenu(string $a_header)
Set header action menu.
setRightContent(string $a_html)
Sets content of right column.
getOnLoadCodeForAsynch()
Get js onload code for ajax calls.
addInlineCss(string $a_css, string $media="screen")
Add a css file that should be included in the header.
setFileUploadRefId(int $a_ref_id)
Enables the file upload into this object by dropping a file.
touchBlock(string $blockname)
overwrites ITX::touchBlock.
setFilter(string $filter)
resetJavascript()
Reset javascript files.
hideFooter()
Make the template hide the footer.
static array $ignored_blocks
setTitle(string $a_title, bool $hidden=false)
Sets title in standard template.
setLoginTargetPar(string $a_val)
Set target parameter for login (public sector).
blockExists(string $blockname)
check if block exists in actual template
static _saveUsages()
Store the collected language variable usages in the user session This should be called as late as pos...
static initializeFrontend(ilGlobalTemplateInterface $page)
static getStyleSheetLocation(string $mode="output", string $a_css_name="")
get full style sheet file name (path inclusive) of current user
static getNewContentStyleSheetLocation(string $mode="output")
get full style sheet file name (path inclusive) of current user
static initjQueryUI(?ilGlobalTemplateInterface $a_tpl=null)
inits and adds the jQuery-UI JS-File to the global template (see included_components....
static initjQuery(?ilGlobalTemplateInterface $a_tpl=null)
inits and adds the jQuery JS-File to the global or a passed template
static http()
Fetches the global http state from ILIAS.