ILIAS  release_10 Revision v10.1-43-ga1241a92c2f
modeinfo.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
6 
8 
23 function modeinfo(): string
24 {
25  global $DIC;
26  $f = $DIC->ui()->factory();
27  $renderer = $DIC->ui()->renderer();
28  $request_wrapper = $DIC->http()->wrapper()->query();
29 
30  $icon = $f->symbol()->icon()->standard('root', '')->withSize('large');
31  $target = new \ILIAS\Data\URI(
32  $DIC->http()->request()->getUri()->__toString() . '&new_mode_info=' . MODE_INFO_ACTIVE
33  );
34  return $renderer->render([
35  $f->divider()->horizontal(),
36  $f->link()->bulky($icon, 'See UI in fullscreen-mode', $target),
37  $f->legacy('<p><b>press the link above to init a page with Mode Info</b></p><p><br/></p>'),
38  $f->divider()->horizontal()
39  ]);
40 }
41 
42 const MODE_INFO_ACTIVE = 2;
44 
45 global $DIC;
46 $request_wrapper = $DIC->http()->wrapper()->query();
47 $refinery = $DIC->refinery();
48 
49 if ($request_wrapper->has('new_mode_info')
50  && $request_wrapper->retrieve('new_mode_info', $refinery->kindlyTo()->int()) === MODE_INFO_ACTIVE
51 ) {
54  exit();
55 }
56 
58 {
59  $f = $dic->ui()->factory();
60  $data_factory = new \ILIAS\Data\Factory();
61  $renderer = $dic->ui()->renderer();
62 
63  $panel_content = $f->legacy("Mode Info is Active");
64  $slate = $f->mainControls()->slate()->legacy(
65  "Mode Info Active",
66  $f->symbol()->glyph()->notification(),
67  $f->legacy("Things todo when special Mode is active")
68  );
69 
70  $page = $f->layout()->page()->standard(
71  [
72  $f->legacy("<div id='mainspacekeeper'><div style='padding: 15px;'>"),
73  $f->panel()->standard(
74  'Mode Info Example',
75  $panel_content
76  ),
77  $f->legacy("</div></div>")
78  ],
79  $f->mainControls()->metaBar()->withAdditionalEntry(
80  'help',
81  $f->button()->bulky($f->symbol()->glyph()->help(), 'Help', '#')
82  ),
83  $f->mainControls()->mainBar()->withAdditionalEntry("entry1", $slate),
84  $f->breadcrumbs([]),
85  $f->image()->responsive("assets/images/logo/HeaderIcon.svg", "ILIAS"),
86  $f->image()->responsive("assets/images/logo/HeaderIconResponsive.svg", "ILIAS"),
87  "./assets/images/logo/favicon.ico",
88  $dic->ui()->factory()->toast()->container(),
89  $dic->ui()->factory()->mainControls()->footer()->withAdditionalText("Footer"),
90  'UI PAGE MODE INFO DEMO', //page title
91  'ILIAS', //short title
92  'Mode Info Demo' //view title
93  )
94  ->withHeaders(true)
95  ->withUIDemo(true);
96 
97 
101  $back = str_replace(
102  'new_mode_info=' . MODE_INFO_ACTIVE,
103  'new_mode_info=' . MODE_INFO_INACTIVE,
104  $dic->http()->request()->getUri()->getQuery()
105  );
106 
107  $mode_info = $f->mainControls()->modeInfo(
108  "Active Mode Info",
109  $data_factory->uri($dic->http()->request()->getUri()->withQuery($back)->__toString())
110  );
111 
115  $page = $page->withModeInfo($mode_info);
116 
117  return $renderer->render($page);
118 }
$renderer
modeinfo()
expected output: > ILIAS shows a button "See UI in fullscreen-mode".
Definition: modeinfo.php:23
Interface Observer Contains several chained tasks and infos about them.
Customizing of pimple-DIC for ILIAS.
Definition: Container.php:35
static initILIAS()
ilias initialisation
if($request_wrapper->has('new_mode_info') && $request_wrapper->retrieve('new_mode_info', $refinery->kindlyTo() ->int())===MODE_INFO_ACTIVE) renderModeInfoFullscreenMode(\ILIAS\DI\Container $dic)
Definition: modeinfo.php:57
Class HTTPServicesTest.
$dic
Definition: ltiresult.php:33