diff --git a/Builder/IISMainHandler/build.txt b/Builder/IISMainHandler/build.txt index 736c9d7..57659eb 100644 --- a/Builder/IISMainHandler/build.txt +++ b/Builder/IISMainHandler/build.txt @@ -1 +1 @@ -1903 \ No newline at end of file +1905 \ No newline at end of file diff --git a/Common/Config.cs b/Common/Config.cs index bad401b..6b816f1 100644 --- a/Common/Config.cs +++ b/Common/Config.cs @@ -45,6 +45,10 @@ namespace FLocal.Common { public readonly int SessionLifetime; + public readonly string DefaultModernSkin; + public readonly string DefaultLegacySkin; + public readonly string DefaultMachichara; + protected Config(NameValueCollection data) : base(data) { this.InitTime = DateTime.Now.ToLongTimeString(); this.mainConnection = new MySQLConnector.Connection(data["ConnectionString"], MySQLConnector.PostgresDBTraits.instance); @@ -64,6 +68,9 @@ namespace FLocal.Common { this.forceHttps = parseBool(data["ForceHTTPS"]); this.MinPostId = int.Parse(data["MinPostId"]); this.SessionLifetime = int.Parse(data["SessionLifetime"]); + this.DefaultLegacySkin = data["DefaultLegacySkin"]; + this.DefaultModernSkin = data["DefaultModernSkin"]; + this.DefaultMachichara = data["DefaultMachichara"]; } public static void Init(NameValueCollection data) { diff --git a/Common/dataobjects/AnonymousUserSettings.cs b/Common/dataobjects/AnonymousUserSettings.cs index 736f87a..7aad59b 100644 --- a/Common/dataobjects/AnonymousUserSettings.cs +++ b/Common/dataobjects/AnonymousUserSettings.cs @@ -13,9 +13,10 @@ namespace FLocal.Common.dataobjects { this.account = account; //var allSkins = Skin.allSkins.ToArray(); //this._skinId = allSkins[Util.RandomInt(0, allSkins.Length)].id; - this._skinId = 28; - this._modernSkinId = 2; - this._machicharaId = 5; + //this._skinId = 28; + this._skinId = Skin.LoadByName(Config.instance.DefaultLegacySkin).id; + this._modernSkinId = ModernSkin.LoadByName(Config.instance.DefaultModernSkin).id; + this._machicharaId = Machichara.LoadByName(Config.instance.DefaultMachichara).id; } public int threadsPerPage { diff --git a/Common/dataobjects/Machichara.cs b/Common/dataobjects/Machichara.cs index 7124a9d..7473d61 100644 --- a/Common/dataobjects/Machichara.cs +++ b/Common/dataobjects/Machichara.cs @@ -66,5 +66,23 @@ namespace FLocal.Common.dataobjects { ); } + private static Dictionary name2id = new Dictionary(); + public static Machichara LoadByName(string _name) { + string name = _name; + if(!name2id.ContainsKey(name)) { + lock(name2id) { + if(!name2id.ContainsKey(name)) { + name2id[name] = int.Parse( + Config.instance.mainConnection.LoadIdByField( + TableSpec.instance.getColumnSpec(TableSpec.FIELD_NAME), + name + ) + ); + } + } + } + return Machichara.LoadById(name2id[name]); + } + } } diff --git a/Common/dataobjects/ModernSkin.cs b/Common/dataobjects/ModernSkin.cs index 80af3b7..487d9af 100644 --- a/Common/dataobjects/ModernSkin.cs +++ b/Common/dataobjects/ModernSkin.cs @@ -66,5 +66,23 @@ namespace FLocal.Common.dataobjects { ); } + private static Dictionary name2id = new Dictionary(); + public static ModernSkin LoadByName(string _name) { + string name = _name; + if(!name2id.ContainsKey(name)) { + lock(name2id) { + if(!name2id.ContainsKey(name)) { + name2id[name] = int.Parse( + Config.instance.mainConnection.LoadIdByField( + TableSpec.instance.getColumnSpec(TableSpec.FIELD_NAME), + name + ) + ); + } + } + } + return ModernSkin.LoadById(name2id[name]); + } + } } diff --git a/Common/dataobjects/Skin.cs b/Common/dataobjects/Skin.cs index 471295f..059aa97 100644 --- a/Common/dataobjects/Skin.cs +++ b/Common/dataobjects/Skin.cs @@ -66,5 +66,23 @@ namespace FLocal.Common.dataobjects { ); } + private static Dictionary name2id = new Dictionary(); + public static Skin LoadByName(string _name) { + string name = _name; + if(!name2id.ContainsKey(name)) { + lock(name2id) { + if(!name2id.ContainsKey(name)) { + name2id[name] = int.Parse( + Config.instance.mainConnection.LoadIdByField( + TableSpec.instance.getColumnSpec(TableSpec.FIELD_NAME), + name + ) + ); + } + } + } + return Skin.LoadById(name2id[name]); + } + } }