ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
UI.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
23use ILIAS\UI\Factory as UIFactory;
26use ilLanguage;
28
29class UI
30{
31 public function __construct(
32 private readonly string $id,
33 private readonly UIServices $services,
34 private readonly ilLanguage $language
35 ) {
36 }
37
38 public function create(): UIFactory
39 {
40 return $this->services->factory();
41 }
42
44 {
45 return $this->services->mainTemplate();
46 }
47
48 public function loadLanguageModule(string $module): void
49 {
50 $this->language->loadLanguageModule($module);
51 }
52
53 public function getDefaultLanguage(): string
54 {
55 return $this->language->getDefaultLanguage();
56 }
57
58 public function txt(string $name): string
59 {
60 $this->loadLanguageModule($this->id);
61 return $this->language->txt($this->firstExisting([
62 $this->id . '_' . $name,
64 ], $name));
65 }
66
70 private function firstExisting(array $lang_vars, string $fallback): string
71 {
72 foreach ($lang_vars as $lang_var) {
73 if ($this->language->exists($lang_var)) {
74 return $lang_var;
75 }
76 }
77
78 return $fallback;
79 }
80}
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
Provides fluid interface to RBAC services.
Definition: UIServices.php:25
Builds a Color from either hex- or rgb values.
Definition: Factory.php:31
firstExisting(array $lang_vars, string $fallback)
Definition: UI.php:70
__construct(private readonly string $id, private readonly UIServices $services, private readonly ilLanguage $language)
Definition: UI.php:31
loadLanguageModule(string $module)
Definition: UI.php:48
language handling
@ilCtrl_isCalledBy ilObjLegalDocumentsGUI: ilAdministrationGUI @ilCtrl_isCalledBy ilObjLegalDocuments...