ILIAS
release_5-4 Revision v5.4.26-12-gabc799a52e6
◀ ilDoc Overview
class.ilCachedLanguage.php
Go to the documentation of this file.
1
<?
php
2
require_once(
'./Services/GlobalCache/classes/class.ilGlobalCache.php'
);
3
10
class
ilCachedLanguage
11
{
12
protected
$global_cache
;
16
protected
$loaded
=
false
;
20
protected
$language_key
=
'en'
;
24
protected
$translations
= array();
28
protected
static
$instances
= array();
29
30
34
protected
function
__construct(
$language_key
)
35
{
36
$this->
setLanguageKey
(
$language_key
);
41
$this->global_cache =
ilGlobalCache::getInstance
(
ilGlobalCache::COMP_CLNG
);
42
$this->
readFromCache
();
43
if
(!$this->
getLoaded
()) {
44
$this->
readFromDB
();
45
$this->
writeToCache
();
46
$this->
setLoaded
(
true
);
47
}
48
}
49
50
54
public
function
isActive
()
55
{
56
return
$this->global_cache->isActive();
57
}
58
59
60
protected
function
readFromCache
()
61
{
62
if
($this->global_cache->isActive()) {
63
$translations
= $this->global_cache->get(
'translations_'
. $this->
getLanguageKey
());
64
if
(is_array(
$translations
)) {
65
$this->
setTranslations
(
$translations
);
66
$this->
setLoaded
(
true
);
67
}
68
}
69
}
70
71
72
public
function
writeToCache
()
73
{
74
if
($this->global_cache->isActive()) {
75
$this->global_cache->set(
'translations_'
. $this->
getLanguageKey
(), $this->
getTranslations
());
76
}
77
}
78
85
public
function
deleteInCache
() {
86
if
($this->global_cache->isActive()) {
87
$this->global_cache->delete(
'translations_'
. $this->
getLanguageKey
());
88
$this->
setLoaded
(
false
);
89
}
90
}
91
92
93
94
protected
function
readFromDB
()
95
{
96
global
$DIC
;
97
$ilDB
= $DIC->database();
98
99
$q =
'SELECT module, lang_array FROM lng_modules WHERE lang_key = %s'
;
100
$res
=
$ilDB
->queryF($q, array(
'text'
), array( $this->
getLanguageKey
() ));
101
$translations
= array();
102
while
($set =
$ilDB
->fetchObject(
$res
)) {
103
$lang_array = unserialize($set->lang_array);
104
if
(is_array($lang_array)) {
105
$translations
[$set->module] = $lang_array;
106
}
107
}
108
$this->
setTranslations
(
$translations
);
109
}
110
111
117
public
static
function
getInstance
(
$key
)
118
{
119
if
(!isset(self::$instances[
$key
])) {
120
self::$instances[
$key
] =
new
self
(
$key
);
121
}
122
123
return
self::$instances[
$key
];
124
}
125
126
127
public
function
flush
()
128
{
129
if
($this->global_cache->isActive()) {
130
$this->global_cache->flush();
131
}
132
$this->
readFromDB
();
133
$this->
writeToCache
();
134
}
135
136
140
public
function
setLanguageKey
(
$language_key
)
141
{
142
$this->language_key =
$language_key
;
143
}
144
145
149
public
function
getLanguageKey
()
150
{
151
return
$this->language_key
;
152
}
153
154
158
public
function
setLoaded
(
$loaded
)
159
{
160
$this->loaded =
$loaded
;
161
}
162
163
167
public
function
getLoaded
()
168
{
169
return
$this->loaded
;
170
}
171
172
176
public
function
setTranslations
(
$translations
)
177
{
178
$this->translations =
$translations
;
179
}
180
181
185
public
function
getTranslations
()
186
{
187
return
$this->translations
;
188
}
189
}
ilCachedLanguage\$language_key
$language_key
Definition:
class.ilCachedLanguage.php:20
$DIC
global $DIC
Definition:
saml.php:7
ilCachedLanguage\getTranslations
getTranslations()
Definition:
class.ilCachedLanguage.php:185
ilGlobalCache\getInstance
static getInstance($component)
Definition:
class.ilGlobalCache.php:115
ilCachedLanguage\$loaded
$loaded
Definition:
class.ilCachedLanguage.php:16
ilCachedLanguage\setLoaded
setLoaded($loaded)
Definition:
class.ilCachedLanguage.php:158
ilCachedLanguage\writeToCache
writeToCache()
Definition:
class.ilCachedLanguage.php:72
ilCachedLanguage\flush
flush()
Definition:
class.ilCachedLanguage.php:127
ilCachedLanguage\isActive
isActive()
Definition:
class.ilCachedLanguage.php:54
ilGlobalCache\COMP_CLNG
const COMP_CLNG
Definition:
class.ilGlobalCache.php:22
ilCachedLanguage\setTranslations
setTranslations($translations)
Definition:
class.ilCachedLanguage.php:176
ilCachedLanguage\$global_cache
$global_cache
Definition:
class.ilCachedLanguage.php:12
ilCachedLanguage\$instances
static $instances
Definition:
class.ilCachedLanguage.php:28
ilCachedLanguage\getInstance
static getInstance($key)
Definition:
class.ilCachedLanguage.php:117
ilCachedLanguage\deleteInCache
deleteInCache()
Delete the cache entry for this language without flushing the whole global cache Using this function ...
Definition:
class.ilCachedLanguage.php:85
$res
foreach($_POST as $key=> $value) $res
Definition:
save_question_post_data.php:15
ilCachedLanguage\$translations
$translations
Definition:
class.ilCachedLanguage.php:24
ilCachedLanguage\readFromDB
readFromDB()
Definition:
class.ilCachedLanguage.php:94
ilCachedLanguage\setLanguageKey
setLanguageKey($language_key)
Definition:
class.ilCachedLanguage.php:140
$ilDB
global $ilDB
Definition:
storeScorm2004.php:16
php
ilCachedLanguage\readFromCache
readFromCache()
Definition:
class.ilCachedLanguage.php:60
ilCachedLanguage\getLanguageKey
getLanguageKey()
Definition:
class.ilCachedLanguage.php:149
ilCachedLanguage
Class ilCachedLanguage.
Definition:
class.ilCachedLanguage.php:10
$key
$key
Definition:
croninfo.php:18
ilCachedLanguage\getLoaded
getLoaded()
Definition:
class.ilCachedLanguage.php:167
Services
Language
classes
class.ilCachedLanguage.php
Generated on Thu Jan 30 2025 19:01:58 for ILIAS by
1.8.13 (using
Doxyfile
)