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.

References getLanguageKey(), and setLoaded().

85  {
86  if ($this->global_cache->isActive()) {
87  $this->global_cache->delete('translations_' . $this->getLanguageKey());
88  $this->setLoaded(false);
89  }
90  }
+ Here is the call graph for this function:

◆ flush()

ilCachedLanguage::flush ( )

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

References readFromDB(), and writeToCache().

128  {
129  if ($this->global_cache->isActive()) {
130  $this->global_cache->flush();
131  }
132  $this->readFromDB();
133  $this->writeToCache();
134  }
+ 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.

References $key.

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

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
+ Here is the caller graph for this function:

◆ getLanguageKey()

ilCachedLanguage::getLanguageKey ( )
Returns
string

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

References $language_key.

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

150  {
151  return $this->language_key;
152  }
+ Here is the caller graph for this function:

◆ getLoaded()

ilCachedLanguage::getLoaded ( )
Returns
boolean

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

References $loaded.

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

◆ getTranslations()

ilCachedLanguage::getTranslations ( )
Returns
array

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

References $translations.

Referenced by writeToCache().

186  {
187  return $this->translations;
188  }
+ 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.

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

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)
+ Here is the call graph for this function:

◆ readFromDB()

ilCachedLanguage::readFromDB ( )
protected

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

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

Referenced by flush().

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
setTranslations($translations)
foreach($_POST as $key=> $value) $res
global $ilDB
+ 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.

References $language_key.

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

◆ setLoaded()

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

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

References $loaded.

Referenced by deleteInCache(), and readFromCache().

159  {
160  $this->loaded = $loaded;
161  }
+ Here is the caller graph for this function:

◆ setTranslations()

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

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

References $translations.

Referenced by readFromCache(), and readFromDB().

177  {
178  $this->translations = $translations;
179  }
+ Here is the caller graph for this function:

◆ writeToCache()

ilCachedLanguage::writeToCache ( )

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

References getLanguageKey(), and getTranslations().

Referenced by flush().

73  {
74  if ($this->global_cache->isActive()) {
75  $this->global_cache->set('translations_' . $this->getLanguageKey(), $this->getTranslations());
76  }
77  }
+ 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: