public static function save($code, $value, $lang = null) { // Save specific locale value by given key if (!$lang) { $lang = self::getLanguage(); } // Check if locale already exists $sql = new SqlManager(); $sql->setQuery("\n\t\t\tSELECT code FROM locale \n\t\t\tWHERE code = '{{code}}' \n\t\t\tAND language = {{lang}}\n\t\t\tLIMIT 1"); $sql->bindParam('{{code}}', $code); $sql->bindParam('{{lang}}', $lang, "int"); $check = $sql->result(); $loc = array('code' => $sql->escape($code), 'language' => $sql->escape($lang, "int"), 'text' => $sql->escape($value), 'lastchanged' => DateManager::now()); // Either update database or insert new entry for given locale if (!$check['code']) { $loc['created'] = DateManager::now(); $sql->insert("locale", $loc); } else { $sql->update("locale", $loc); } // Refresh cache to make sure new locale entry will be used $cachekey = "locale:" . $lang; Cache::clear($cachekey); self::load($lang); }