/** * remove language data from database * @param string "all" or "keep_local" */ function flush($a_mode = 'all') { global $ilDB; ilObjLanguage::_deleteLangData($this->key, $a_mode == 'keep_local'); if ($a_mode == 'all') { $ilDB->manipulate("DELETE FROM lng_modules WHERE lang_key = " . $ilDB->quote($this->key, "text")); } }
/** * Import a language file into the ilias database * * @param string handling of existing values * ('keepall','keepnew','replace','delete') */ public function importLanguageFile($a_file, $a_mode_existing = 'keepnew') { global $ilDB, $ilErr; // read the new language file require_once "./Services/Language/classes/class.ilLanguageFile.php"; $import_file_obj = new ilLanguageFile($a_file); if (!$import_file_obj->read()) { $ilErr->raiseError($import_file_obj->getErrorMessage(), $ilErr->MESSAGE); } switch ($a_mode_existing) { // keep all existing entries case 'keepall': $to_keep = $this->getAllValues(); break; // keep existing online changes // keep existing online changes case 'keepnew': $to_keep = $this->getChangedValues(); break; // replace all existing definitions // replace all existing definitions case 'replace': $to_keep = array(); break; // delete all existing entries // delete all existing entries case 'delete': ilObjLanguage::_deleteLangData($this->key, false); $ilDB->manipulate("DELETE FROM lng_modules WHERE lang_key = " . $ilDB->quote($this->key, "text")); $to_keep = array(); break; default: return; } // process the values of the import file $to_save = array(); foreach ($import_file_obj->getAllValues() as $key => $value) { if (!isset($to_keep[$key])) { $to_save[$key] = $value; } } self::_saveValues($this->key, $to_save, $import_file_obj->getAllComments()); }