using System; using System.Data; using System.Text; using System.Collections; using System.Threading; using Microsoft.VisualBasic; using Ion.Storage; namespace Holo.Managers { public static class stringManager { private static Hashtable langStrings; private static string[] swearWords; internal static string filterCensor; internal static string langExt; public static void Init(string langExtension, bool Update) { langExt = langExtension; langStrings = new Hashtable(); string[] langKeys; string[] langVars; DataTable dTable; using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient()) { dTable = dbClient.getTable("SELECT stringid, var_" + langExt + " FROM system_strings ORDER BY id ASC"); } langKeys = new string[dTable.Rows.Count]; langVars = new string[dTable.Rows.Count]; foreach (DataRow dRow in dTable.Rows) { langStrings.Add(Convert.ToString(dRow["stringid"]), Convert.ToString(dRow["var_" + langExt])); } if (Config.getTableEntry("welcomemessage_enable") == "1") { if (getString("welcomemessage_text") != "") { Config.enableWelcomeMessage = true; } } if (Update) Thread.CurrentThread.Abort(); } public static void initFilter(bool Update) { if (Config.getTableEntry("wordfilter_enable") == "1") { DataColumn dCol; using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient()) { dCol = dbClient.getColumn("SELECT word FROM system_wordfilter"); } swearWords = dataHandling.dColToArray(dCol); filterCensor = Config.getTableEntry("wordfilter_censor"); if (swearWords.Length == 0 || filterCensor == "") Config.enableWordFilter = false; else Config.enableWordFilter = true; } if (Update) Thread.CurrentThread.Abort(); } public static string getString(string stringID) { try { return langStrings[stringID].ToString(); } catch { return stringID; } } public static string filterSwearwords(string Text, bool Filter) { if (Filter == false) { for (int i = 0; i < swearWords.Length; i++) Text = Strings.Replace(Text, swearWords[i], filterCensor, 1, -1, Constants.vbTextCompare); } return Text; } public static string getStringPart(string Input, int startIndex, int Length) { try { return Input.Substring(startIndex, Length); } catch { return ""; } } public static string wrapParameters(string[] s, int startIndex) { StringBuilder sb = new StringBuilder(); { for (int i = startIndex; i < s.Length; i++) sb.Append(" " + s[i]); return sb.ToString().Substring(1); } } public static string fixWords(string str) { str = str.Replace("¡", "¡"); str = str.Replace("¿", "¿"); str = str.Replace("Ñ", "í‘"); str = str.Replace("ñ", "ñ"); str = str.Replace("Á", "í"); str = str.Replace("á", "á"); str = str.Replace("É", "í‰"); str = str.Replace("é", "é"); str = str.Replace("Í", "퍭"); str = str.Replace("í", "í"); str = str.Replace("Ó", "í"); str = str.Replace("ó", "ó"); str = str.Replace("Ú", "íš"); str = str.Replace("ú", "ú"); return str; } } }