ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
ilCachedLanguage Class Reference

Class ilCachedLanguage. More...

+ Collaboration diagram for ilCachedLanguage:

Public Member Functions

 isActive ()
 
 writeToCache ()
 
 deleteInCache ()
 Delete the cache entry for this language without flushing the whole global cache Using this function avoids a flush loop when languages are updated A missing entry will cause the next request to refill the cache in the constructor of this class. More...
 
 flush ()
 
 setLanguageKey ($language_key)
 
 getLanguageKey ()
 
 setLoaded ($loaded)
 
 getLoaded ()
 
 setTranslations ($translations)
 
 getTranslations ()
 

Static Public Member Functions

static getInstance ($key)
 

Protected Member Functions

 readFromCache ()
 
 readFromDB ()
 

Protected Attributes

 $global_cache
 
 $loaded = false
 
 $language_key = 'en'
 
 $translations = array()
 

Static Protected Attributes

static $instances = array()
 

Detailed Description

Class ilCachedLanguage.

Author
Fabian Schmid fs@st.nosp@m.uder.nosp@m.-raim.nosp@m.ann..nosp@m.ch
Version
1.0.0

Definition at line 10 of file class.ilCachedLanguage.php.

Member Function Documentation

◆ deleteInCache()

ilCachedLanguage::deleteInCache ( )

Delete the cache entry for this language without flushing the whole global cache Using this function avoids a flush loop when languages are updated A missing entry will cause the next request to refill the cache in the constructor of this class.

See also
mantis #28818

Definition at line 85 of file class.ilCachedLanguage.php.

85 {
86 if ($this->global_cache->isActive()) {
87 $this->global_cache->delete('translations_' . $this->getLanguageKey());
88 $this->setLoaded(false);
89 }
90 }

References getLanguageKey(), and setLoaded().

+ Here is the call graph for this function:

◆ flush()

ilCachedLanguage::flush ( )

Definition at line 127 of file class.ilCachedLanguage.php.

128 {
129 if ($this->global_cache->isActive()) {
130 $this->global_cache->flush();
131 }
132 $this->readFromDB();
133 $this->writeToCache();
134 }

References readFromDB(), and writeToCache().

+ Here is the call graph for this function:

◆ getInstance()

static ilCachedLanguage::getInstance (   $key)
static
Parameters
$key
Returns
ilCachedLanguage

Definition at line 117 of file class.ilCachedLanguage.php.

118 {
119 if (!isset(self::$instances[$key])) {
120 self::$instances[$key] = new self($key);
121 }
122
123 return self::$instances[$key];
124 }
$key
Definition: croninfo.php:18

References $key.

Referenced by ilLanguage\__construct(), and ilObjLanguageExt\_saveValues().

+ Here is the caller graph for this function:

◆ getLanguageKey()

ilCachedLanguage::getLanguageKey ( )
Returns
string

Definition at line 149 of file class.ilCachedLanguage.php.

150 {
151 return $this->language_key;
152 }

References $language_key.

Referenced by deleteInCache(), readFromCache(), readFromDB(), and writeToCache().

+ Here is the caller graph for this function:

◆ getLoaded()

ilCachedLanguage::getLoaded ( )
Returns
boolean

Definition at line 167 of file class.ilCachedLanguage.php.

168 {
169 return $this->loaded;
170 }

References $loaded.

◆ getTranslations()

ilCachedLanguage::getTranslations ( )
Returns
array

Definition at line 185 of file class.ilCachedLanguage.php.

186 {
187 return $this->translations;
188 }

References $translations.

Referenced by writeToCache().

+ Here is the caller graph for this function:

◆ isActive()

ilCachedLanguage::isActive ( )
Returns
bool

Definition at line 54 of file class.ilCachedLanguage.php.

55 {
56 return $this->global_cache->isActive();
57 }

◆ readFromCache()

ilCachedLanguage::readFromCache ( )
protected

Definition at line 60 of file class.ilCachedLanguage.php.

61 {
62 if ($this->global_cache->isActive()) {
63 $translations = $this->global_cache->get('translations_' . $this->getLanguageKey());
64 if (is_array($translations)) {
66 $this->setLoaded(true);
67 }
68 }
69 }
setTranslations($translations)

References $translations, getLanguageKey(), setLoaded(), and setTranslations().

+ Here is the call graph for this function:

◆ readFromDB()

ilCachedLanguage::readFromDB ( )
protected

Definition at line 94 of file class.ilCachedLanguage.php.

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 }
109 }
global $DIC
Definition: saml.php:7
foreach($_POST as $key=> $value) $res
global $ilDB

References $DIC, $ilDB, $res, $translations, getLanguageKey(), and setTranslations().

Referenced by flush().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setLanguageKey()

ilCachedLanguage::setLanguageKey (   $language_key)
Parameters
string$language_key

Definition at line 140 of file class.ilCachedLanguage.php.

141 {
142 $this->language_key = $language_key;
143 }

References $language_key.

◆ setLoaded()

ilCachedLanguage::setLoaded (   $loaded)
Parameters
boolean$loaded

Definition at line 158 of file class.ilCachedLanguage.php.

159 {
160 $this->loaded = $loaded;
161 }

References $loaded.

Referenced by deleteInCache(), and readFromCache().

+ Here is the caller graph for this function:

◆ setTranslations()

ilCachedLanguage::setTranslations (   $translations)
Parameters
array$translations

Definition at line 176 of file class.ilCachedLanguage.php.

177 {
178 $this->translations = $translations;
179 }

References $translations.

Referenced by readFromCache(), and readFromDB().

+ Here is the caller graph for this function:

◆ writeToCache()

ilCachedLanguage::writeToCache ( )

Definition at line 72 of file class.ilCachedLanguage.php.

73 {
74 if ($this->global_cache->isActive()) {
75 $this->global_cache->set('translations_' . $this->getLanguageKey(), $this->getTranslations());
76 }
77 }

References getLanguageKey(), and getTranslations().

Referenced by flush().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $global_cache

ilCachedLanguage::$global_cache
protected

Definition at line 12 of file class.ilCachedLanguage.php.

◆ $instances

ilCachedLanguage::$instances = array()
staticprotected

Definition at line 28 of file class.ilCachedLanguage.php.

◆ $language_key

ilCachedLanguage::$language_key = 'en'
protected

Definition at line 20 of file class.ilCachedLanguage.php.

Referenced by getLanguageKey(), and setLanguageKey().

◆ $loaded

ilCachedLanguage::$loaded = false
protected

Definition at line 16 of file class.ilCachedLanguage.php.

Referenced by getLoaded(), and setLoaded().

◆ $translations

ilCachedLanguage::$translations = array()
protected

The documentation for this class was generated from the following file: