setlex('error_invalid_id', $lang->string('That is an invalid ID.')); // ################################################################### // updates the localization cache function build_language_cache($languageid) { global $bugsys; $bugsys->db->query("DELETE FROM localization WHERE languageid = $languageid"); $localizations = fetch_phrases($language['languageid'], true); foreach ($localizations AS $key => $value) { $bugsys->db->query("INSERT INTO localization (localkey, localtext, languageid) VALUES ('" . $bugsys->escape($key) . "', '" . $bugsys->escape($value) . "', $languageid)"); } } // ################################################################### // fetches phrases from the system function fetch_phrases($languageid, $forcexml = false) { global $bugsys; $language =& $bugsys->datastore['language']["$languageid"]; $locals = array(); if ($language['debug'] OR $forcexml) { if (!file_exists($language['filename'])) { trigger_error('Cannot load XML strings file', E_USER_WARNING); return; } $xmldata = file_get_contents($language['filename']); if ($xmldata === false) { trigger_error('Error reading XML strings file', E_USER_WARNING); return; } $xml = $bugsys->xml->parse($xmldata); foreach ($xml['language']['phrase'] AS $phrase) { $locals[ $phrase['key']['value'] ] = $phrase['value']['value']; } } else { $localizations = $bugsys->db->query("SELECT * FROM " . TABLE_PREFIX . "localization WHERE languageid = $languageid"); while ($local = $bugsys->db->fetch_array($localizations)) { $locals["$local[localkey]"] = $local['localtext']; } $bugsys->db->free_result($localizations); } return $locals; } // ################################################################### // determines the user's language function fetch_user_language() { global $bugsys; if ($bugsys->userinfo['userid']) { $languageid = $bugsys->userinfo['languageid']; $language = $bugsys->datastore['language']["$languageid"]; } if (!$languageid) { foreach ($bugsys->datastore['language'] AS $language) { if ($language['default']) { $languageid = $language['languageid']; $language = $bugsys->datastore['language']["$languageid"]; break; } } } $lang['id'] = $language['languageid']; $lang['charset'] = $language['charset']; $lang['direction'] = $language['direction']; $lang['code'] = $language['languagecode']; return $lang; } /*=====================================================================*\ || ################################################################### || # $HeadURL$ || # $Id$ || ################################################################### \*=====================================================================*/ ?>