Example #1
0
 /**
  * Generates cache for provided language
  *
  * @param int $languageId
  */
 public function generateCache($languageId)
 {
     $event = new BASE_CLASS_EventCollector('base.add_global_lang_keys');
     OW::getEventManager()->trigger($event);
     $globalVars = call_user_func_array('array_merge', $event->getData());
     $values = $this->keyDao->findAllWithValues($languageId);
     $result = array();
     foreach ($values as $v) {
         $key = $v['prefix'] . '+' . $v['key'];
         $v['value'] = UTIL_String::replaceVars($v['value'], $globalVars);
         $result[$key] = $v['value'];
     }
     $cacheContent = "<?php\n\$language[{$languageId}] = " . var_export($result, true) . ";\n?>";
     $filename = $this->getLanguageCacheDir() . 'lang_' . $languageId . '.php';
     file_put_contents($filename, $cacheContent);
     @chmod($filename, 0666);
     $this->loadFromCache();
 }