ILIAS  trunk Revision v13.0_alpha-62-g3b72d83f2e5
Init.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
21namespace ILIAS;
22
36use ILIAS\FileUpload\FileUpload as FileUploadInterface;
46
47class Init implements Component\Component
48{
49 public function init(
50 array | \ArrayAccess &$define,
51 array | \ArrayAccess &$implement,
52 array | \ArrayAccess &$use,
53 array | \ArrayAccess &$contribute,
54 array | \ArrayAccess &$seek,
55 array | \ArrayAccess &$provide,
56 array | \ArrayAccess &$pull,
57 array | \ArrayAccess &$internal,
58 ): void {
59 $contribute[\ILIAS\StaticURL\Handler\Handler::class] = static fn() =>
60 new \ILIAS\Init\URL\StaticUrlHandler();
61
62 $contribute[Component\Resource\PublicAsset::class] = fn() =>
63 new Component\Resource\Endpoint($this, "register.php");
64
65 $contribute[Component\Resource\PublicAsset::class] = fn() =>
66 new Component\Resource\Endpoint($this, "pwassist.php");
67
68 $contribute[Component\Resource\PublicAsset::class] = fn() =>
69 new Component\Resource\Endpoint($this, "login.php");
70
71 $contribute[Component\Resource\PublicAsset::class] = fn() =>
72 new Component\Resource\Endpoint($this, "index.php");
73
74 $contribute[Component\Resource\PublicAsset::class] = fn() =>
75 new Component\Resource\Endpoint($this, "ilias.php");
76
77 $contribute[Component\Resource\PublicAsset::class] = fn() =>
78 new Component\Resource\Endpoint($this, "error.php");
79
80 $contribute[Component\Resource\PublicAsset::class] = fn() =>
81 new Component\Resource\Endpoint($this, "service-worker.js");
82
83 $contribute[Component\Resource\PublicAsset::class] = fn() =>
84 new Component\Resource\Endpoint($this, "sso/index.php", "sso");
85
86 $contribute[Component\Resource\PublicAsset::class] = fn() =>
87 new Component\Resource\OfComponent($this, ".htaccess", ".");
88
89 $contribute[Component\EntryPoint::class] = static fn() =>
91 $pull[\ILIAS\Refinery\Factory::class],
92 $pull[\ILIAS\Data\Factory::class],
93 $use[\ILIAS\UI\Factory::class],
94 $use[\ILIAS\UI\Renderer::class],
95 $pull[\ILIAS\UI\Implementation\Component\Counter\Factory::class],
96 $pull[\ILIAS\UI\Implementation\Component\Button\Factory::class],
97 $pull[\ILIAS\UI\Implementation\Component\Listing\Factory::class],
98 $pull[\ILIAS\UI\Implementation\Component\Listing\Workflow\Factory::class],
99 $pull[\ILIAS\UI\Implementation\Component\Listing\CharacteristicValue\Factory::class],
100 $pull[\ILIAS\UI\Implementation\Component\Listing\Entity\Factory::class],
101 $pull[\ILIAS\UI\Implementation\Component\Image\Factory::class],
102 $pull[\ILIAS\UI\Implementation\Component\Player\Factory::class],
103 $pull[\ILIAS\UI\Implementation\Component\Panel\Factory::class],
104 $pull[\ILIAS\UI\Implementation\Component\Modal\Factory::class],
105 $pull[\ILIAS\UI\Implementation\Component\Dropzone\Factory::class],
106 $pull[\ILIAS\UI\Implementation\Component\Popover\Factory::class],
107 $pull[\ILIAS\UI\Implementation\Component\Divider\Factory::class],
108 $pull[\ILIAS\UI\Implementation\Component\Link\Factory::class],
109 $pull[\ILIAS\UI\Implementation\Component\Dropdown\Factory::class],
110 $pull[\ILIAS\UI\Implementation\Component\Item\Factory::class],
111 $pull[\ILIAS\UI\Implementation\Component\ViewControl\Factory::class],
112 $pull[\ILIAS\UI\Implementation\Component\Chart\Factory::class],
113 $pull[\ILIAS\UI\Implementation\Component\Input\Factory::class],
114 $pull[\ILIAS\UI\Implementation\Component\Table\Factory::class],
115 $pull[\ILIAS\UI\Implementation\Component\MessageBox\Factory::class],
116 $pull[\ILIAS\UI\Implementation\Component\Card\Factory::class],
117 $pull[\ILIAS\UI\Implementation\Component\Layout\Factory::class],
118 $pull[\ILIAS\UI\Implementation\Component\Layout\Page\Factory::class],
119 $pull[\ILIAS\UI\Implementation\Component\Layout\Alignment\Factory::class],
120 $pull[\ILIAS\UI\Implementation\Component\MainControls\Factory::class],
121 $pull[\ILIAS\UI\Implementation\Component\Tree\Factory::class],
122 $pull[\ILIAS\UI\Implementation\Component\Tree\Node\Factory::class],
123 $pull[\ILIAS\UI\Implementation\Component\Menu\Factory::class],
124 $pull[\ILIAS\UI\Implementation\Component\Symbol\Factory::class],
125 $pull[\ILIAS\UI\Implementation\Component\Toast\Factory::class],
126 $pull[\ILIAS\UI\Implementation\Component\Legacy\Factory::class],
127 $pull[\ILIAS\UI\Implementation\Component\Launcher\Factory::class],
128 $pull[\ILIAS\UI\Implementation\Component\Entity\Factory::class],
129 $pull[\ILIAS\UI\Implementation\Component\Panel\Listing\Factory::class],
130 $pull[\ILIAS\UI\Implementation\Component\Panel\Secondary\Factory::class],
131 $pull[\ILIAS\UI\Implementation\Component\Modal\InterruptiveItem\Factory::class],
132 $pull[\ILIAS\UI\Implementation\Component\Chart\ProgressMeter\Factory::class],
133 $pull[\ILIAS\UI\Implementation\Component\Chart\Bar\Factory::class],
134 $pull[\ILIAS\UI\Implementation\Component\Input\ViewControl\Factory::class],
135 $pull[\ILIAS\UI\Implementation\Component\Input\Container\ViewControl\Factory::class],
136 $pull[\ILIAS\UI\Implementation\Component\Table\Column\Factory::class],
137 $pull[\ILIAS\UI\Implementation\Component\Table\Factory::class],
138 $pull[\ILIAS\UI\Implementation\Component\MainControls\Slate\Factory::class],
139 $pull[\ILIAS\UI\Implementation\Component\Symbol\Icon\Factory::class],
140 $pull[\ILIAS\UI\Implementation\Component\Symbol\Glyph\Factory::class],
141 $pull[\ILIAS\UI\Implementation\Component\Symbol\Avatar\Factory::class],
142 $pull[\ILIAS\UI\Implementation\Component\Input\Container\Form\Factory::class],
143 $pull[\ILIAS\UI\Implementation\Component\Input\Container\Filter\Factory::class],
144 $pull[\ILIAS\UI\Implementation\Component\Input\Field\Factory::class],
145 $pull[\ILIAS\UI\Implementation\Component\Prompt\Factory::class],
146 $pull[\ILIAS\UI\Implementation\Component\Prompt\State\Factory::class],
147 $pull[\ILIAS\UI\Implementation\Component\Progress\Factory::class],
148 $pull[\ILIAS\UI\Implementation\Component\Progress\State\Factory::class],
149 $pull[\ILIAS\UI\Implementation\Component\Progress\State\Bar\Factory::class],
150 $pull[\ILIAS\UI\Implementation\Component\Input\UploadLimitResolver::class],
151 $use[\ILIAS\Setup\AgentFinder::class],
152 $pull[\ILIAS\UI\Implementation\Component\Navigation\Factory::class],
153 $pull[\ILIAS\WebDAV\Environment::class],
154 $pull[\ILIAS\UI\Implementation\Render\JavaScriptBinding::class],
155 $pull[\ILIAS\UI\Implementation\Component\SignalGeneratorInterface::class],
156 $pull[\ILIAS\UI\Implementation\Render\TemplateFactory::class],
157 $use[GlobalHttpState::class],
158 $use[FileDeliveryServices::class],
159 $use[DataSigning::class],
160 $use[FilenameSanitizer::class],
161 $use[FilesystemConfig::class],
162 $use[Filesystems::class],
163 $use[FilesystemWeb::class],
164 $use[FilesystemStorage::class],
165 $use[FilesystemTemp::class],
166 $use[FilesystemCustomizing::class],
167 $use[FilesystemLibs::class],
168 $use[FilesystemNodeModules::class],
169 $use[IRSSServices::class],
170 $use[FileUploadInterface::class],
171 $use[IliasIni::class],
172 $use[ClientIni::class],
173 $use[StaticURLServices::class],
174 $use[RBAC::class],
175 $use[Access::class],
176 $use[Logging\Logger\LoggerFactoryInterface::class],
177 $use[Logging\Logger\DefaultConfigLoggerFactoryInterface::class],
178 $use[Logging\Config\ConfigInterface::class],
179 $use[ConditionTypes::class],
180 $use[\ILIAS\LTI\View::class],
181 $use[\ILIAS\KeyValueStorage\Services::class],
182 $pull[\ILIAS\Language\ComponentTranslation\LanguageFileDirectoryManager::class],
183 $pull[\ILIAS\Language\Activities\InstallLanguage::class],
184 $pull[\ILIAS\Language\Activities\UpdateLanguage::class],
185 $pull[\ILIAS\Language\Activities\UninstallLanguage::class],
186 $pull[\ILIAS\Language\Activities\RemoveLocalLanguageChanges::class],
187 $pull[\ILIAS\Language\Activities\AddLanguageEntry::class],
188 $pull[\ILIAS\Language\Activities\SetLanguageDetectionEnabled::class],
189 $pull[\ILIAS\Language\Activities\SetLanguageTranslationEnabled::class],
190 $use[\ILIAS\BackgroundTasks\Registry\Registry::class]
191 );
192 $contribute[LanguageFileDirectory::class] = fn() => new ComponentLanguageFileDirectory(
193 $this,
194 'init'
195 );
196 $contribute[LanguageFileDirectory::class] = fn() => new ComponentLanguageFileDirectory(
197 $this,
198 'error'
199 );
200 $contribute[LanguageFileDirectory::class] = fn() => new ComponentLanguageFileDirectory(
201 $this,
202 'pwassist'
203 );
204 }
205}
An endpoint is a PHP file that produces output via HTTP.
Definition: Endpoint.php:29
An public asset that is a resource of some component.
Definition: OfComponent.php:27
This entry point can be thought of as a list of all modern components.
init(array|\ArrayAccess &$define, array|\ArrayAccess &$implement, array|\ArrayAccess &$use, array|\ArrayAccess &$contribute, array|\ArrayAccess &$seek, array|\ArrayAccess &$provide, array|\ArrayAccess &$pull, array|\ArrayAccess &$internal,)
Definition: Init.php:49
LTI component: LTI 1.1 (classes/LTI1p1) and LTI Advantage (classes/LTIAdvantage) for ILIAS as consume...
Definition: LTI.php:33
Definition: UI.php:27
Public access-handling service of the AccessControl component.
Definition: Access.php:31
Public RBAC service of the AccessControl component.
Definition: RBAC.php:30
All tasks and values the components contribute via $contribute[\ILIAS\BackgroundTasks\Task::class] an...
Definition: Registry.php:43
Typed read access to client.ini.php.
Definition: ClientIni.php:35
Typed read access to ilias.ini.php.
Definition: IliasIni.php:35
The Filesystems interface defines the access methods which can be used to fetch the different filesys...
Definition: Filesystems.php:30
The filename sanitizer verifies and fixes file name endings.
Interface GlobalHttpState.
A directory of language files with a path and a prefix for them.
All condition types known to the system.
Public API interface for the ILIAS Resource Storage Service (IRSS).
A configuration for the setup.
Definition: Config.php:27
A component is the most general form of an entity in the UI.
Definition: Component.php:28
This describes a symbol.
Definition: Symbol.php:30
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Definition: Bulky.php:21
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.