예제 #1
0
        /// <summary>
        /// 終了処理
        /// </summary>
        public void Dispose()
        {
            if (Setting != null)
            {
                Setting.Dispose();
                Setting = null;
            }

            if (Drug != null)
            {
                Drug.Dispose();
                Drug = null;
            }

            if (Alarm != null)
            {
                Alarm.Dispose();
                Alarm = null;
            }

            if (_Realarms != null)
            {
                _Realarms.ForEach(realarm => { realarm.Dispose(); });
                _Realarms.Clear();
                _Realarms = null;
            }
        }
예제 #2
0
        private static IDictionary <string, TemplateSetting> LoadFromDirectory(string rootDirPath)
        {
            IDictionary <string, TemplateSetting> dict;
            DirectoryInfo dir = new DirectoryInfo(rootDirPath);

            DirectoryInfo[] dirs = dir.GetDirectories();
            dict = new Dictionary <string, TemplateSetting>(dirs.Length);
            if (!dir.Exists)
            {
                return(dict);
            }
            foreach (DirectoryInfo d in dirs)
            {
                if ((d.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden)
                {
                    String tplConfigFile = String.Format("{0}{1}/tpl.conf", rootDirPath, d.Name);
                    if (!File.Exists(tplConfigFile))
                    {
                        SettingFile sf = new SettingFile(tplConfigFile);
                        sf.Set("name", d.Name);
                        sf.Flush();
                    }
                    TemplateSetting ts = new TemplateSetting(d.Name, tplConfigFile);
                    ts.CfgEnabledMobiPage = Directory.Exists(String.Format("{0}{1}/_mobile_", rootDirPath, d.Name));
                    dict.Add(d.Name, ts);
                }
            }
            return(dict);
        }
예제 #3
0
        private static IDictionary <string, TemplateSetting> LoadFromDirectory(string rootDirPath)
        {
            var dir  = new DirectoryInfo(rootDirPath);
            var dirs = dir.GetDirectories();
            IDictionary <string, TemplateSetting> dict = new Dictionary <string, TemplateSetting>(dirs.Length);

            if (!dir.Exists)
            {
                return(dict);
            }
            foreach (var d in dirs)
            {
                if ((d.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden)
                {
                    var tplConfigFile = $"{rootDirPath}{d.Name}/tpl.conf";
                    if (!File.Exists(tplConfigFile))
                    {
                        var sf = new SettingFile(tplConfigFile);
                        sf.Set("name", d.Name);
                        sf.Flush();
                    }

                    var ts = new TemplateSetting(d.Name, tplConfigFile)
                    {
                        CfgEnabledMobiPage = Directory.Exists($"{rootDirPath}{d.Name}/_mobile_")
                    };
                    dict.Add(d.Name, ts);
                }
            }

            return(dict);
        }
예제 #4
0
        public void Save()
        {
            SettingFile sf = new SettingFile(String.Format("{0}templates/{1}/tpl.conf", Cms.PyhicPath, this._tplDirName));

            /**************** 模板设置 ****************/
            sf.Set("TPL_NAME", this.tplName);
            sf.Set("CFG_ShowErrror", this.CfgShowError ? "true" : "false");
            sf.Set("CFG_SitemapSplit", this._cfgSitemapSplit);
            sf.Set("CFG_ArchiveTagsFormat", this._cfgArchiveTagsFormat);
            sf.Set("CFG_NavigatorLinkFormat", this._cfgNavigatorLinkFormat);
            sf.Set("CFG_NavigatorChildFormat", this._cfgNavigatorChildFormat);
            sf.Set("CFG_FriendShowNum", this._cfgFriendShowNum.ToString());
            sf.Set("CFG_FriendLinkFormat", this._cfgFriendLinkFormat);
            sf.Set("CFG_TrafficFormat", this._cfgTrafficFormat);
            sf.Set("CFG_CommentEditorHtml", this._cfgCommentEditorHtml);
            sf.Set("CFG_allowAmousComment", this._cfgAllowAmousComment ? "true" : "false");
            sf.Set("CFG_OutlineLength", this._cfgOutlineLength.ToString());
            sf.Set("CFG_ArchiveFormat", this._cfgArchiveFormat);
            sf.Set("CFG_ArchiveLinkFormat", this._cfgArchiveLinkFormat);
            sf.Set("CFG_PrevArchiveFormat", this._cfgPrevArchiveFormat);
            sf.Set("CFG_NextArchiveFormat", this._cfgNextArchiveFormat);
            sf.Set("CFG_CategoryLinkFormat", this._cfgCategoryLinkFormat);
            sf.Set("CFG_EnabledMobiPage", this._cfgEnabledMobiPage ? "true" : "false");
            sf.Flush();
        }
예제 #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="workerIndent"></param>
        public PluginPackAttribute(string workerIndent)
        {
            this.WorkIndent = workerIndent;
            bool isChanged = false;
            var  dirPath   = String.Concat(
                AppDomain.CurrentDomain.BaseDirectory,
                PluginConfig.PLUGIN_DIRECTORY,
                workerIndent,
                "/");

            if (!Directory.Exists(dirPath))
            {
                Directory.CreateDirectory(dirPath).Create();
            }

            settings = new SettingFile(string.Concat(dirPath, "plugin.config"));

            if (!settings.Contains(PluginSettingKeys.State))
            {
                settings.Set(PluginSettingKeys.State, "Normal");
                isChanged = true;
            }
            if (!settings.Contains(PluginSettingKeys.OverrideUrlIndent))
            {
                settings.Set(PluginSettingKeys.OverrideUrlIndent, "");
                isChanged = true;
            }

            if (isChanged)
            {
                settings.Flush();
            }
        }
예제 #6
0
        public void SaveTemplateNames(string json)
        {
            SettingFile sf = new SettingFile(String.Format("{0}templates/{1}/tpl.conf", Cms.PyhicPath, this._tplDirName));

            sf.Set("TPL_NAMES", json);
            sf.Flush();
        }
예제 #7
0
 private static int GetInt(SettingFile s, string key)
 {
     if (!s.Contains(key))
     {
         return(0);
     }
     int.TryParse(s[key], out var value);
     return(value);
 }
예제 #8
0
        public IDictionary <string, string> GetNameDictionary()
        {
            SettingFile sf = new SettingFile(String.Format("{0}templates/{1}/tpl.conf", Cms.PyhicPath, this._tplDirName));
            String      json;

            if (!sf.Contains("TPL_NAMES") || String.IsNullOrEmpty((json = sf.Get("TPL_NAMES"))))
            {
                return(new Dictionary <string, string>());
            }
            return(JsonConvert.DeserializeObject <Dictionary <String, String> >(json));
        }
예제 #9
0
        public static void EndWrite()
        {
            sf.Flush();

            if (Settings.SYS_ENCODE_CONF_FILE)
            {
                FileEncoder.EncodeFile(CmsConfigFile, CmsConfigFile, CmsVariables.FileEncodeHeader,
                                       CmsVariables.FileEncodeToken);
            }

            sf = null;
        }
예제 #10
0
        public MouseController(
            SettingFile setting,
            SynchroGazerVolatileSetting volatileSetting,
            SynchroGazerStatus status
            )
        {
            _setting         = setting;
            _volatileSetting = volatileSetting;
            _status          = status;

            _status.BlinkActionHappened += OnBlinkAction;
        }
예제 #11
0
 public static void InitWeixin(SettingFile set)
 {
     Variables.Token                    = set["Weixin_Token"];
     Variables.AppId                    = set["Weixin_AppId"];
     Variables.AppSecret                = set["Weixin_AppSecret"];
     Variables.AppEncodeString          = set["Weixin_AppEncodeString"];
     Variables.ApiDomain                = set["Weixin_ApiDomain"];
     Variables.MenuButtons              = set["Weixin_MenuButtons"];
     Variables.WxWelcomeMessage         = set["Weixin_WelcomeMessage"] ?? "";
     Variables.WxEnterMessage           = set["Weixin_EnterMessage"] ?? "";
     Variables.WxDefaultResponseMessage = set["Weixin_DefaultResponseMessage"] ?? "";
 }
예제 #12
0
 public ConfigItem(string filePath)
 {
     this._filePath = filePath.Replace("\\", "/");
     if (FileNameParttner.IsMatch(this._filePath))
     {
         bool isExists = File.Exists(this._filePath);
         this._file = new SettingFile(this._filePath);
         if (isExists)
         {
             this.Deserialize();
         }
     }
 }
예제 #13
0
        /// <summary>
        /// 获取模板
        /// </summary>
        /// <returns></returns>
        public static IDictionary <string, string> GetTemplates()
        {
            IDictionary <string, string> dict = new Dictionary <string, string>();
            var tplRootPath = $"{EnvUtil.GetBaseDirectory()}/templates/";
            var dir         = new DirectoryInfo(tplRootPath);

            var dirs = dir.GetDirectories();
            var tpls = new string[dirs.Length];

            if (dir.Exists)
            {
                var i = -1;
                foreach (var d in dirs)
                {
                    if ((d.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden)
                    {
                        tpls[++i] = d.Name;
                    }
                }
            }

            SettingFile sf;
            string      tplConfigFile,
                        tplName;

            foreach (var key in tpls)
            {
                tplName = key;

                tplConfigFile = string.Format("{0}{1}/tpl.conf", tplRootPath, key);
                if (File.Exists(tplConfigFile))
                {
                    sf = new SettingFile(tplConfigFile);
                    if (sf.Contains("name"))
                    {
                        tplName = sf["name"];
                    }
                    //if (sf.Contains("thumbnail"))
                    //{
                    //    tplThumbnail = sf["thumbnail"];
                    //}
                }

                if (!string.IsNullOrEmpty(key))
                {
                    dict.Add(key, tplName);
                }
            }

            return(dict);
        }
예제 #14
0
파일: Helper.cs 프로젝트: yushuo1990/cms
        /// <summary>
        /// 获取模板
        /// </summary>
        /// <returns></returns>
        public static IDictionary <string, string> GetTemplates()
        {
            IDictionary <string, string> dict = new Dictionary <string, string>();

            string[]      tpls;
            string        tplRootPath = String.Format("{0}templates/", AppDomain.CurrentDomain.BaseDirectory);
            DirectoryInfo dir         = new DirectoryInfo(tplRootPath);

            DirectoryInfo[] dirs = dir.GetDirectories();
            tpls = new string[dirs.Length];
            if (dir.Exists)
            {
                int i = -1;
                foreach (DirectoryInfo d in dirs)
                {
                    if ((d.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden)
                    {
                        tpls[++i] = d.Name;
                    }
                }
            }

            SettingFile sf;
            string      tplConfigFile,
                        tplName;

            foreach (string key in tpls)
            {
                tplName = key;

                tplConfigFile = String.Format("{0}{1}/tpl.conf", tplRootPath, key);
                if (global::System.IO.File.Exists(tplConfigFile))
                {
                    sf = new SettingFile(tplConfigFile);
                    if (sf.Contains("name"))
                    {
                        tplName = sf["name"];
                    }
                    //if (sf.Contains("thumbnail"))
                    //{
                    //    tplThumbnail = sf["thumbnail"];
                    //}
                }
                if (!String.IsNullOrEmpty(key))
                {
                    dict.Add(key, tplName);
                }
            }
            return(dict);
        }
예제 #15
0
        protected void Button1_Click(object sender, EventArgs e)
        {
            SettingFile settings = new SettingFile();

            for (int i = 0; i < 10; i++)
            {
                Dictionary <string, object> dic = new Dictionary <string, object>();
                dic.Add("name", "名称" + i.ToString());
                dic.Add("img", "img" + i.ToString());

                settings.Items.Add(dic);
            }
            SettingFileService.SaveFile("c:\\1.xml", settings);
        }
예제 #16
0
        private static void ReflushSetting(MenuFull_ButtonGroup menu)
        {
            String      json = JsonConvert.SerializeObject(menu);
            SettingFile st   = Config.PluginAttr.Settings;

            json = json.Replace(",\"sub_button\":null", "")
                   .Replace(",\"url\":null", "")
                   .Replace(",\"key\":null", "")
                   .Replace("\"type\":null,", "");

            st["Weixin_MenuButtons"] = json;
            st.Flush();

            Variables.MenuButtons = json;
            _buttonGroup          = menu;
        }
예제 #17
0
        public static void Save(IEnumerable <InfoSetting> list, string path, string filterName, Canvas canvas)
        {
            var data = new SettingFile()
            {
                Name    = path,
                Canvas  = canvas,
                Content = list
            };
            var setting = JsonConvert.SerializeObject(data);

            File.WriteAllText(path, setting);
            InfoShower.ShowOnce(new InfoShower()
            {
                Title      = "已保存",
                Info       = path,
                TitleColor = Color.Green
            });
        }
예제 #18
0
        public static void BeginWrite()
        {
            bool isEncoded = FileEncoder.IsEncoded(CmsConfigFile, CmsVariables.FileEncodeHeader);

            if (isEncoded)
            {
                FileEncoder.DecodeFile(CmsConfigFile, CmsConfigFile, CmsVariables.FileEncodeHeader,
                                       CmsVariables.FileEncodeToken);
            }

            sf = new SettingFile(CmsConfigFile);

            if (isEncoded)
            {
                FileEncoder.EncodeFile(CmsConfigFile, CmsConfigFile, CmsVariables.FileEncodeHeader,
                                       CmsVariables.FileEncodeToken);
            }
        }
예제 #19
0
        internal static void LoadRelatedIndent()
        {
            string      relatedConf = String.Format("{0}{1}related_indent.conf", Cms.PyhicPath, CmsVariables.SITE_CONF_PATH);
            bool        isExists    = File.Exists(relatedConf);
            SettingFile sf          = new SettingFile(relatedConf);
            var         isModify    = false;
            var         isLoaded    = false;
            IDictionary <int, RelateIndent> relatedIndents = ServiceCall.Instance.ContentService.GetRelatedIndents();

            IDictionary <int, RelateIndent> newIndents = new Dictionary <int, RelateIndent>(relatedIndents.Count);

            String key;
            String value;

            foreach (var relatedIndent in relatedIndents)
            {
                key = relatedIndent.Key.ToString();
                if (isExists && sf.Contains(key))
                {
                    value    = sf.Get(key);
                    isLoaded = true;
                }
                else
                {
                    value = relatedIndent.Value.ToString();
                    sf.Set(key, value);
                    isModify = true;
                }
                newIndents.Add(relatedIndent.Key, new RelateIndent(value));
            }

            if (isModify)
            {
                sf.Flush();
            }

            if (isLoaded)
            {
                ServiceCall.Instance.ContentService.SetRelatedIndents(newIndents);
            }
        }
예제 #20
0
        public StatusViewModel(SettingFile setting)
        {
            _setting = setting;

            if (!DesignerProperties.GetIsInDesignMode(Application.Current.MainWindow))
            {
                Status = new SynchroGazerStatus();
            }

            VolatileSetting = new SynchroGazerVolatileSetting();


            ShowLargeMarkAlways = _setting.Setting.ShowLargeMarkAlways;
            ShowFixTargetMark = 
                (_setting.Setting.ShowFixTargetMark && Status.FixDisplayPosition);
            ShowAnimationFeedback = _setting.Setting.ShowAnimationFeedback;

            Status.PropertyChanged += OnStatusChanged;
            _setting.FileSaved += OnSettingChanged;
            _setting.SettingFileContentChanged += OnSettingChanged;
        }
예제 #21
0
        public InstallCode Process(HttpContext context)
        {
            NameValueCollection form = context.Request.Form;
            string physical          = Cms.PyhicPath;

            if (!Directory.Exists(Cms.PyhicPath + "config"))
            {
                Directory.CreateDirectory(Cms.PyhicPath + "config").Create();
            }

            if (File.Exists(String.Concat(physical, INSTALL_LOCK)))
            {
                return(InstallCode.INSTALLED);
            }

            string licenceKey   = form["licence_key"].Trim(),
                   licenceName  = form["licence_name"].Trim(),
                   siteName     = form["site_name"].Trim(),
                   siteDomain   = form["site_domain"].Trim(),
                   siteLanguage = form["site_language"],
                   userName     = form["user_name"].Trim(),
                   userPwd      = form["user_pwd"].Trim(),
                   dbType       = form["db_type"].Trim(),
                   dbServer     = form["db_server"].Trim(),
                   dbPrefix     = form["db_prefix"].Trim(),
                   dbPrefix1    = form["db_prefix1"].Trim(),
                   dbName       = form["db_name"].Trim(),
                   dbUsr        = form["db_usr"].Trim(),
                   dbPwd        = form["db_pwd"].Trim(),
                   dbFile       = form["db_file"].Trim();

            string dbStr = "";

            #region 检测数据
            if (String.IsNullOrEmpty(licenceName) || String.IsNullOrEmpty(licenceKey))
            {
                return(InstallCode.NO_LICENCE);
            }
            if (String.IsNullOrEmpty(siteName))
            {
                return(InstallCode.NO_SITE_NAME);
            }

            if (String.IsNullOrEmpty(userName) || String.IsNullOrEmpty(userPwd))
            {
                return(InstallCode.NO_USER);
            }

            #endregion

            #region 初始化数据库设置

            //数据表前缀
            if (String.IsNullOrEmpty(dbPrefix))
            {
                dbPrefix = dbPrefix1;
            }

            const String dbDirName = "data";

            //移动Access或SQLite数据库
            if (dbType == "sqlite")
            {
                if (dbFile == "")
                {
                    dbFile = "rd_" + string.Empty.RandomLetters(5) + ".db";
                }
                else if (dbFile.IndexOf(".", StringComparison.Ordinal) == -1)
                {
                    dbFile += ".db";
                }
                if (!Directory.Exists(physical + dbDirName))
                {
                    Directory.CreateDirectory(physical + dbDirName).Create();
                }
                dbStr = "Data Source=$ROOT/" + dbDirName + "/" + dbFile;
            }
            else if (dbType == "oledb")
            {
                if (dbFile == "")
                {
                    dbFile = "rd_" + string.Empty.RandomLetters(5) + ".mdb";
                }
                else if (dbFile.IndexOf(".", StringComparison.Ordinal) == -1)
                {
                    dbFile += ".mdb";
                }

                if (!Directory.Exists(physical + dbDirName))
                {
                    Directory.CreateDirectory(physical + dbDirName).Create();
                }
                File.Copy(physical + FILE_DB_OLEDB, physical + dbDirName + "/" + dbFile, true);
                dbStr = "Data Source=$ROOT/" + dbDirName + "/" + dbFile;
            }
            else
            {
                //数据库资料不全
                if (String.IsNullOrEmpty(dbServer) || String.IsNullOrEmpty(dbUsr) || String.IsNullOrEmpty(dbName) || String.IsNullOrEmpty(dbPrefix))
                {
                    return(InstallCode.DB_ERROR);
                }

                if (dbType == "mysql")
                {
                    dbStr = String.Format("server={0};database={1};uid={2};pwd={3};charset=utf8", dbServer, dbName, dbUsr, dbPwd);
                }
                else if (dbType == "mssql")
                {
                    dbStr = String.Format("server={0};database={1};uid={2};pwd={3}", dbServer, dbName, dbUsr, dbPwd);
                }
                else
                {
                    return(InstallCode.DB_UNKNOWN);
                }
            }

            #endregion

            #region 写入配置

            if (File.Exists(physical + FILE_SETTING))
            {
                File.Delete(physical + FILE_SETTING);
            }
            SettingFile file = new SettingFile(physical + FILE_SETTING);
            file.Set("license_key", licenceKey);
            file.Set("license_name", licenceName);
            file.Set("server_static", "");
            file.Set("server_static_enabled", "false");

            file.Set("db_type", dbType);
            file.Set("db_conn", dbStr);
            file.Set("db_prefix", dbPrefix);

            file.Set("mm_avatar_path", "/file/avatar/");
            file.Flush();

            #endregion

            #region 初始化数据库

            if (!ExtraDB(dbType, dbStr, dbPrefix))
            {
                return(InstallCode.DB_INIT_ERROR);
            }

            #endregion

            #region 初始化数据

            //默认数据为:
            // cms_sites        siteid为1的站点
            // cms_category   默认的about分类
            // cms_usergroup


            //更新默认站点
            this.db.ExecuteNonQuery(new SqlQuery(
                                        String.Format("UPDATE {0}site SET domain=@domain,name=@name,tpl=@tpl,language=@language,seo_title=@name where site_id=1", dbPrefix),
                                        new object[, ] {
                { "@domain", siteDomain },
                { "@name", siteName },
                { "@tpl", "default" },
                { "@language", siteLanguage },
            }));

            //创建管理用户
            DateTime dt = DateTime.Now;
            this.db.ExecuteNonQuery(new SqlQuery(
                                        String.Format(@"INSERT INTO {0}user(name,avatar,phone,email, check_code,flag,create_time,last_login_time) 
                    VALUES(@name,@avatar,@phone,@email,@checkCode,@flag,@time,@time)", dbPrefix),
                                        new object[, ] {
                { "@name", "管理员" },
                { "@avatar", "/public/mui/css/latest/avatar.gif" },
                { "@phone", "" },
                { "@email", "" },
                { "@checkCode", "" },
                { "@flag", Role.Master.Flag },
                { "@time", dt },
            }));
            int userId = int.Parse(this.db.ExecuteScalar(String.Format("SELECT max(id) FROM {0}user", dbPrefix)).ToString());
            this.db.ExecuteNonQuery(new SqlQuery(
                                        String.Format(@"INSERT INTO {0}credential(user_id,user_name,password,enabled)VALUES(@userId,@userName,@password,1)", dbPrefix),
                                        new object[, ] {
                { "@userId", userId },
                { "@userName", userName },
                { "@password", Generator.Sha1Pwd(userPwd, Generator.Offset) },
            }));

            #endregion


            //创建安装文件
            File.Create(String.Concat(physical, INSTALL_LOCK));

            Settings.TurnOffDebug();

            Cms.Init(BootFlag.Normal, null);

            // 重启
            HttpRuntime.UnloadAppDomain();
            //AppDomain.Unload(AppDomain.CurrentDomain);

            return(InstallCode.SUCCESS);
        }
예제 #22
0
		/// <summary>
		/// 更新资料
		/// </summary>
		/// <param name="prefix"></param>
		public static void Update(string prefix)
		{
			SettingFile sf = new SettingFile(cmsConfigFile);

			switch (prefix)
			{
				case "sys":
					sf["license_name"] = Settings.License_NAME;
					sf["license_key"] = Settings.License_KEY;
					sf["server_static_enabled"]=Settings.SERVER_STATIC_ENABLED?"true":"false";
                    sf["server_static"] = Settings.SERVER_STATIC;
                    sf["sys_admin_tag"] = Settings.SYS_ADMIN_TAG;

					//301跳转
					if (!sf.Contains("sys_autowww"))
					{
						sf.Append("sys_autowww", Settings.SYS_AUTOWWW ? "true" : "false");
					}
					else
					{
						sf["sys_autowww"] = Settings.SYS_AUTOWWW ? "true" : "false";
					}

					//虚拟路径
					//if (!sf.Contains("sys_virthpath"))
					//{
					//    sf.Append("sys_virthpath", Settings.SYS_VIRTHPATH);
					//}
					//else
					//{
					//    sf["sys_virthpath"] = Settings.SYS_VIRTHPATH;
					//}
					break;

				case "db":
					sf["db_prefix"] = Settings.DB_PREFIX;
					break;

				case "tpl":
					
					//压缩代码
					if (!sf.Contains("tpl_usecompress"))
					{
						sf.Append("tpl_usecompress", Settings.TPL_UseCompress ? "true" : "false");
					}
					else
					{
						sf["tpl_usecompress"] = Settings.TPL_UseCompress ? "true" : "false";
					}

					//使用完整路径
					if (!sf.Contains("tpl_usefullpath"))
					{
						sf.Append("tpl_usefullpath", Settings.TPL_UseFullPath ? "true" : "false");
					}
					else
					{
						sf["tpl_usefullpath"] = Settings.TPL_UseFullPath ? "true" : "false";
					}


					Cms.Template.Register();

					break;

					//优化
				case "opti":

					WebConfig.SetDebug(Settings.Opti_Debug);

					//缓存项
					if (!sf.Contains("opti_IndexCacheSeconds"))
					{
						sf.Append("opti_IndexCacheSeconds", Settings.Opti_IndexCacheSeconds.ToString());
					}
					else
					{
						sf["opti_IndexCacheSeconds"] = Settings.Opti_IndexCacheSeconds.ToString();
					}

                    if (!sf.Contains("Opti_GC_Collect_Interval"))
					{
                        sf.Append("Opti_GC_Collect_Interval", Settings.Opti_GC_Collect_Interval.ToString());
					}
					else
					{
                        sf["Opti_GC_Collect_Interval"] = Settings.Opti_GC_Collect_Interval.ToString();
					}

					if (!sf.Contains("opti_ClientCacheSeconds"))
					{
						sf.Append("opti_ClientCacheSeconds", Settings.Opti_ClientCacheSeconds.ToString());
					}
					else
					{
						sf["opti_ClientCacheSeconds"] = Settings.Opti_ClientCacheSeconds.ToString();
					}


					break;
			}

			//
			//Version:兼容更新站点
			//
			SiteDto site = Cms.Context.CurrentSite;
			if (site.SiteId>0)
			{
				if (sf.Contains("idx_title"))
				{
					site.SeoTitle = sf["idx_title"];
					sf.Remove("idx_title");
				}
				if (sf.Contains("idx_keywords"))
				{
					site.SeoKeywords = sf["idx_keywords"];
					sf.Remove("idx_keywords");
				}
				if (sf.Contains("idx_description"))
				{
					site.SeoDescription = sf["idx_description"];
					sf.Remove("idx_description");
				}
				if (sf.Contains("sys_alias"))
				{
					sf.Remove("sys_alias");
				}
			}

			if (sf.Contains("sys_name"))
			{
				if(sf.Contains("license_name"))
				{
					sf["license_name"] = sf["sys_name"];
					sf["license_key"] = sf["sys_key"];
				}
				else
				{
					
					sf.Append("license_name", sf["sys_name"]);
					sf.Append("license_key",sf["sys_key"]);
				}
				sf.Remove("sys_name");
				sf.Remove("sys_key");
			}

			sf.Flush();
		}
예제 #23
0
        /// <summary>Replace whatever faction are in the receiver by those of this editor</summary>
        public void ReplaceFactionToWrite(SSModWritable receiver)
        {
            if (Factions == null)
            {
                throw new InvalidOperationException("no factions merged");
            }

            IEnumerable <SSFactionGroup> OldFactions = from ISSWritable w in receiver.FileList
                                                       where w is SSFactionGroup
                                                       select w as SSFactionGroup;

            foreach (SSFactionGroup f in OldFactions.ToList())
            {
                receiver.FileList.Remove(f);
            }
            foreach (SSFactionGroup f in Factions)
            {
                receiver.FileList.Add(f);
            }

            SSRelativeUrl settingUrl  = new SSRelativeUrl("data\\config\\settings.json");
            SSJson        SettingFile = (from ISSWritable w in receiver.FileList
                                         where w.RelativeUrl.Equals(settingUrl)
                                         select w as SSJson).SingleOrDefault();

            Portraits = new List <JsonValue>(Ressources.PortraitsRessources.GetOriginalPortraits(Factions));
            var        UsedPortraits  = new List <JsonValue>(Ressources.PortraitsRessources.GetCurrentPortraits(Factions));
            var        UnusedPortrait = Portraits.Except(UsedPortraits);
            JsonObject finalPortraits = new JsonObject(UnusedPortrait, "portraits");

            if (SettingFile == null)
            {
                SettingFile             = new SSJson(receiver, settingUrl);
                SettingFile.JsonContent = new JsonObject();
                receiver.FileList.Add(SettingFile);
                SettingFile.JsonContent.AddSubField(".graphics.portraits", finalPortraits);
                SettingFile.RefreshFields();
            }
            else
            {
                JsonToken setted;
                SettingFile.Fields.TryGetValue(".graphics.portraits", out setted);
                if (setted == null)
                {
                    SettingFile.JsonContent.AddSubField(".graphics.portraits", finalPortraits);
                }
                else
                {
                    JsonObject set = (JsonObject)setted;
                    set.Values.Clear();
                    foreach (KeyValuePair <JsonValue, JsonToken> kv in finalPortraits.Values)
                    {
                        set.Values.Add(kv.Key, kv.Value);
                    }
                    SettingFile.RefreshFields();
                }
            }



            IEnumerable <SSFactionGroup> OverWritten = from SSFactionGroup f in Factions
                                                       where f.MustOverwrite == true
                                                       select f;
            IEnumerable <string> ModOverWritten = OverWritten.Select(f => f.MonitoredContent).SelectMany(m => m.Files).Select(f => f.SourceMod).Distinct().Select(mod => mod.ModName);

            IEnumerable <JsonValue> AddedPortrait = Factions.FindAll(f => f.MonitoredContent.IsModified()).SelectMany(f =>
            {
                List <MonitoredArrayModification> result = new List <MonitoredArrayModification>();
                result.AddRange(f.MalePortraits.GetAddedMod());
                result.AddRange(f.FemalePortraits.GetAddedMod());
                return(result);
            }).Select(m => ((JsonValue)m.Content)).Distinct();

            JsonRelativeToPortraits converter = new JsonRelativeToPortraits();
            IEnumerable <string>    addMod    = AddedPortrait.Select(j => converter.Convert(new object[] { j, PortraitsRessource }, null, null, null)).Select(p => ((Portraits)p).SourceModName).Distinct();

            var       together = (ModOverWritten ?? Enumerable.Empty <string>()).Concat(addMod ?? Enumerable.Empty <string>()).Distinct();
            JsonValue OldDesc  = receiver.ModInfo.Fields[".description"] as JsonValue;
            string    old      = OldDesc.ToString();

            OldDesc.SetContent(old + " Faction were modified using mods: " + string.Join(", ", together));
        }
예제 #24
0
        public InstallCode Process(HttpContext context)
        {

          NameValueCollection form=context.Request.Form;
            string physical = Cms.PyhicPath;

            if (!Directory.Exists(Cms.PyhicPath + "config"))
            {
                Directory.CreateDirectory(Cms.PyhicPath + "config").Create();
            }

            if (System.IO.File.Exists(String.Concat(physical, INSTALL_LOCK)))
            {
                return InstallCode.Installed;
            }

            string t_key = form["t_key"],
                   t_name = form["t_name"],
                   site_name = form["site_name"],
                   site_domain = form["site_domain"],
                   site_language = form["site_language"],
                   user_name=form["user_name"],
                   user_pwd=form["user_pwd"],
                   db_type = form["db_type"],
                   db_server = form["db_server"],
                   db_prefix = form["db_prefix"],
                   db_prefix1 = form["db_prefix1"],
                   db_name = form["db_name"],
                   db_usr = form["db_usr"],
                   db_pwd = form["db_pwd"],
                   db_file = form["db_file"];

            string db_str = "";

            #region 检测数据

            if (String.IsNullOrEmpty(user_name) || String.IsNullOrEmpty(user_pwd))
            {
                return InstallCode.NO_USER;
            }

            #endregion

            #region 初始化数据库设置

            //数据表前缀
            if (String.IsNullOrEmpty(db_prefix)) db_prefix = db_prefix1;


            //移动Access或SQLite数据库
            if (db_type == "sqlite")
            {
                if (db_file == "")
                {
                    db_file = "#db.db3";
                }
                else if (db_file.IndexOf(".") == -1)
                {
                    db_file += ".db3";
                }
                System.IO.File.Copy(physical + FILE_DB_SQLITE, physical + "data/" + db_file, true);
                db_str = "Data Source=$ROOT/data/" + db_file;
            }
            else if (db_type == "oledb")
            {
                if (db_file == "")
                {
                    db_file = "#db.mdb";
                }
                else if (db_file.IndexOf(".") == -1)
                {
                    db_file += ".mdb";
                }
                System.IO.File.Copy(physical + FILE_DB_OLEDB, physical + "data/" + db_file, true);
                db_str = "Data Source=$ROOT/data/" + db_file;
            }
            else
            {
                //数据库资料不全
                if (String.IsNullOrEmpty(db_server) || String.IsNullOrEmpty(db_usr) || String.IsNullOrEmpty(db_name) || String.IsNullOrEmpty(db_prefix))
                {
                    return InstallCode.DB_ERROR;
                }

                if (db_type == "mysql")
                {
                    db_str = String.Format("server={0};database={1};uid={2};pwd={3};charset=utf8", db_server, db_name, db_usr, db_pwd);
                }
                else if (db_type == "mssql")
                {
                    db_str = String.Format("server={0};database={1};uid={2};pwd={3}", db_server, db_name, db_usr, db_pwd);
                }
                else
                {
                    return InstallCode.DB_UNKNOWN;
                }
            }

            #endregion

            #region 写入配置

            if (System.IO.File.Exists(physical + FILE_SETTING))
            {
                System.IO.File.Delete(physical + FILE_SETTING);
            }
            SettingFile file = new SettingFile(physical + FILE_SETTING);
            file.Append("license_key", t_key);
            file.Append("license_name", t_name);
            file.Append("server_static","");
            file.Append("server_static_enabled","false");

            file.Append("db_type", db_type);
            file.Append("db_conn", db_str);
            file.Append("db_prefix", db_prefix);

            file.Append("mm_avatar_path", "/file/avatar/");
            file.Flush();

            #endregion

            #region 初始化数据库

            if (!ExtraDB(db_type, db_str, db_prefix))
            {
                return InstallCode.DB_INIT_ERROR;
            }

            #endregion

            #region 初始化数据

            //默认数据为:
            // cms_sites        siteid为1的站点
            // cms_categories   默认的about分类
            // cms_usergroups


            //更新默认站点
            this.db.ExecuteNonQuery(new SqlQuery(
                String.Format("UPDATE {0}sites SET domain=@domain,name=@name,tpl=@tpl,seotitle=@name where siteid=1", db_prefix),
                new object[,]{
                    {"@domain",site_domain},
                    {"@name",site_name},
                    {"@tpl","default"}
                }));

            //创建管理用户
            this.db.ExecuteNonQuery(new SqlQuery(
                String.Format(@"
                        INSERT INTO {0}users (
                        siteid ,
                        username ,
                        password ,
                        name ,
                        groupid ,
                        available ,
                        createdate ,
                        lastlogindate ) VALUES (0,@username,@password,@name,1,1,@dt,@dt)
                    ", db_prefix),
                     new object[,]{
                         {"@username",user_name},
                         {"@password",  user_pwd.Encode16MD5().EncodeMD5()},
                         {"@name","管理员"},
                         {"@dt",DateTime.Now}
                     }));


            #endregion


            //创建安装文件
            System.IO.File.Create(String.Concat(physical, INSTALL_LOCK));

           Settings.TurnOffDebug();

           Cms.Init();

            // 重启
            HttpRuntime.UnloadAppDomain();
            //AppDomain.Unload(AppDomain.CurrentDomain);

            return InstallCode.SUCCESS;
        }
예제 #25
0
        public string Label(string key)
        {
            const string cacheKey = "setting_cache_001";
            if (this._settingsFile == null)
            {
                //读取数据
                this._settingsFile = Cms.Cache.Get(cacheKey) as SettingFile;
                if (this._settingsFile == null)
                {
                    string phyPath = AppDomain.CurrentDomain.BaseDirectory + settingsFile;
                    this._settingsFile = new SettingFile(phyPath);

                    //缓存数据
                    Cms.Cache.Insert(cacheKey, this._settingsFile, phyPath);
                }
            }
            return this._settingsFile[key];
        }
예제 #26
0
 /// <summary>
 /// Вывод в файл
 /// </summary>
 private void PrintToFile()
 {
     SettingFile.PrintToFileQueuering(queue);
 }
        public PluginPackAttribute(string workerIndent)
        {
            this.WorkIndent = workerIndent;
            bool isChanged = false;
            var dirPath = String.Concat(
                AppDomain.CurrentDomain.BaseDirectory,
                PluginConfig.PLUGIN_DIRECTORY,
                workerIndent,
                "/");

            if (!Directory.Exists(dirPath))
            {
                Directory.CreateDirectory(dirPath).Create();
            }

            settings = new SettingFile(string.Concat(dirPath, "plugin.config"));

            if (!settings.Contains("state"))
            {
                settings.Append("state", "Normal");
                isChanged = true;
            }
            if (!settings.Contains("override.url.indent"))
            {
                settings.Append("override.url.indent", "");
                isChanged = true;
            }

            if (isChanged)
            {
                settings.Flush();
            }
        }
예제 #28
0
		/// <summary>
		/// 加载配置文件
		/// </summary>
		/// <param name="filePath">文件路径</param>
		/// <returns>返回加载消息,如成功返回空</returns>
		internal static string Load(string filePath)
		{
			cmsConfigFile = filePath;

			//从配置文件中加载
			SettingFile sf = new SettingFile(cmsConfigFile);
			Settings.loaded = true;
			bool settingChanged=false;

			//try
			// {
			Settings.License_NAME = sf.Contains("license_name") ? sf["license_name"] : "评估用户";
			Settings.License_KEY = sf.Contains("license_key") ? sf["license_key"] : String.Empty;
			Settings.SYS_AUTOWWW = sf.Contains("sys_autowww") ? sf["sys_autowww"] == "true" : false;         //自动WWW

			#region 读取模板选项

			Settings.TPL_UseFullPath = sf.Contains("tpl_usefullpath") ? sf["tpl_usefullpath"] == "true" : true;
			Settings.TPL_UseCompress = sf.Contains("tpl_usecompress") ? sf["tpl_usecompress"] == "true" : false;


			#endregion

			Settings.DB_TYPE = sf["db_type"];
			Settings.DB_CONN = sf["db_conn"];
			Settings.DB_PREFIX = sf["db_prefix"];


			Settings.MM_AVATAR_PATH = sf["mm_avatar_path"];


			/**************** 优化项 ******************/
			Settings.Opti_Debug = WebConfig.IsDebug();

			//缓存项
			if (sf.Contains("opti_IndexCacheSeconds"))
			{
				int.TryParse(sf["opti_IndexCacheSeconds"], out Settings.Opti_IndexCacheSeconds);
			}

			if (sf.Contains("opti_ClientCacheSeconds"))
			{
				int.TryParse(sf["opti_ClientCacheSeconds"], out  Settings.Opti_ClientCacheSeconds);
			}

            if (sf.Contains("Opti_GC_Collect_Interval"))
			{
                int.TryParse(sf["Opti_GC_Collect_Interval"], out  Settings.Opti_GC_Collect_Interval);
			}
            
			
			/**************** 静态服务器 ******************/
			
			if(sf.Contains("server_static"))
			{
				Settings.SERVER_STATIC=sf["server_static"];
				if(Settings.SERVER_STATIC.Length==0)
				{
					Settings.SERVER_STATIC=Server._defaultStaticServer;
				}
			}
			else
			{
				sf.Append("server_static",Server._defaultStaticServer);
				Settings.SERVER_STATIC=Server._defaultStaticServer;
				settingChanged=true;
			}
			
			if(sf.Contains("server_static_enabled"))
			{
				Settings.SERVER_STATIC_ENABLED=sf["server_static_enabled"]=="true";
			}
			else
			{
				sf.Append("server_static_enabled","false");
				settingChanged=true;
			}

			
			if(sf.Contains("sys_admin_tag"))
			{
				Settings.SYS_ADMIN_TAG=sf["sys_admin_tag"];
			}
			else
			{
				sf.Append("sys_admin_tag",Settings.SYS_ADMIN_TAG);
				settingChanged=true;
			}
			
			if(settingChanged)sf.Flush();
			
			
			return string.Empty;
			
			/*
        }
        catch (Exception ex)
        {
            const string strtpl = "配置文件不正确,请检查!位置:{0}。{1}";
            string _file = filePath.Replace("/", "\\").Replace("\\\\", "\\");

            return string.Format(strtpl, _file,
               ex.GetType() == typeof(ArgumentOutOfRangeException) ? "此错误可能因为缺少系统所需的配置而引发。" :
               string.Empty
               );
        }*/
		}
예제 #29
0
        public InstallCode Process(HttpContext context)
        {
            NameValueCollection form = context.Request.Form;
            string physical          = Cms.PyhicPath;

            if (!Directory.Exists(Cms.PyhicPath + "config"))
            {
                Directory.CreateDirectory(Cms.PyhicPath + "config").Create();
            }

            if (File.Exists(String.Concat(physical, INSTALL_LOCK)))
            {
                return(InstallCode.INSTALLED);
            }

            string licenceKey   = form["licence_key"].Trim(),
                   licenceName  = form["licence_name"].Trim(),
                   siteName     = form["site_name"].Trim(),
                   siteDomain   = form["site_domain"].Trim(),
                   siteLanguage = form["site_language"],
                   userName     = form["user_name"].Trim(),
                   userPwd      = form["user_pwd"].Trim(),
                   dbType       = form["db_type"].Trim(),
                   dbServer     = form["db_server"].Trim(),
                   dbPrefix     = form["db_prefix"].Trim(),
                   dbPrefix1    = form["db_prefix1"].Trim(),
                   dbName       = form["db_name"].Trim(),
                   dbUsr        = form["db_usr"].Trim(),
                   dbPwd        = form["db_pwd"].Trim(),
                   dbFile       = form["db_file"].Trim();

            string dbStr = "";

            #region 检测数据
            if (String.IsNullOrEmpty(licenceName) || String.IsNullOrEmpty(licenceKey))
            {
                return(InstallCode.NO_LICENCE);
            }
            if (String.IsNullOrEmpty(siteName))
            {
                return(InstallCode.NO_SITE_NAME);
            }

            if (String.IsNullOrEmpty(userName) || String.IsNullOrEmpty(userPwd))
            {
                return(InstallCode.NO_USER);
            }

            #endregion

            #region 初始化数据库设置

            //数据表前缀
            if (String.IsNullOrEmpty(dbPrefix))
            {
                dbPrefix = dbPrefix1;
            }

            const String dbDirName = "data";

            //移动Access或SQLite数据库
            if (dbType == "sqlite")
            {
                if (dbFile == "")
                {
                    dbFile = "rd_" + string.Empty.RandomLetters(5) + ".db";
                }
                else if (dbFile.IndexOf(".", StringComparison.Ordinal) == -1)
                {
                    dbFile += ".db";
                }
                if (!Directory.Exists(physical + dbDirName))
                {
                    Directory.CreateDirectory(physical + dbDirName).Create();
                }
                dbStr = "Data Source=$ROOT/" + dbDirName + "/" + dbFile;
            }
            else if (dbType == "oledb")
            {
                if (dbFile == "")
                {
                    dbFile = "rd_" + string.Empty.RandomLetters(5) + ".mdb";
                }
                else if (dbFile.IndexOf(".", StringComparison.Ordinal) == -1)
                {
                    dbFile += ".mdb";
                }

                if (!Directory.Exists(physical + dbDirName))
                {
                    Directory.CreateDirectory(physical + dbDirName).Create();
                }
                File.Copy(physical + FILE_DB_OLEDB, physical + dbDirName + "/" + dbFile, true);
                dbStr = "Data Source=$ROOT/" + dbDirName + "/" + dbFile;
            }
            else
            {
                //数据库资料不全
                if (String.IsNullOrEmpty(dbServer) || String.IsNullOrEmpty(dbUsr) || String.IsNullOrEmpty(dbName) || String.IsNullOrEmpty(dbPrefix))
                {
                    return(InstallCode.DB_ERROR);
                }

                if (dbType == "mysql")
                {
                    dbStr = String.Format("server={0};database={1};uid={2};pwd={3};charset=utf8", dbServer, dbName, dbUsr, dbPwd);
                }
                else if (dbType == "mssql")
                {
                    dbStr = String.Format("server={0};database={1};uid={2};pwd={3}", dbServer, dbName, dbUsr, dbPwd);
                }
                else
                {
                    return(InstallCode.DB_UNKNOWN);
                }
            }

            #endregion

            #region 写入配置

            if (File.Exists(physical + FILE_SETTING))
            {
                File.Delete(physical + FILE_SETTING);
            }
            SettingFile file = new SettingFile(physical + FILE_SETTING);
            file.Set("license_key", licenceKey);
            file.Set("license_name", licenceName);
            file.Set("server_static", "");
            file.Set("server_static_enabled", "false");

            file.Set("db_type", dbType);
            file.Set("db_conn", dbStr);
            file.Set("db_prefix", dbPrefix);

            file.Set("mm_avatar_path", "/file/avatar/");
            file.Flush();

            #endregion

            #region 初始化数据库

            if (!ExtraDB(dbType, dbStr, dbPrefix))
            {
                return(InstallCode.DB_INIT_ERROR);
            }

            #endregion

            #region 初始化数据
            int siteId = this.InitSite(dbPrefix, siteName, siteDomain, int.Parse(siteLanguage));
            this.InitUserAndCredential(dbPrefix, userName, userPwd);
            int catId = this.InitCategory(dbPrefix, siteId);
            this.InitArchive(dbPrefix, siteId, catId);

            #endregion


            //创建安装文件
            File.Create(String.Concat(physical, INSTALL_LOCK));

            Settings.TurnOffDebug();

            Cms.Init(BootFlag.Normal, null);

            // 重启
            HttpRuntime.UnloadAppDomain();
            //AppDomain.Unload(AppDomain.CurrentDomain);

            return(InstallCode.SUCCESS);
        }
예제 #30
0
 public BuildOEM()
 {
     this._sf = new SettingFile(this.GetMappingXmlPath("build_set"));
 }
예제 #31
0
 /// <summary>
 /// Вывод в файл
 /// </summary>
 private void PrintToFile()
 {
     SettingFile.PrintToFileListQueuering(listQueue);
 }
예제 #32
0
        public void Save()
        {
            SettingFile sf = new SettingFile(String.Format("{0}templates/{1}/tpl.conf",Cms.PyhicPath,this.tplName));

            /**************** 模板设置 ****************/
             if (sf.Contains("CFG_ShowErrror"))
            {
                sf["CFG_ShowErrror"] = this.CFG_ShowError?"true":"false";
            }
            else
            {
            	sf.Append("CFG_ShowErrror", this.CFG_ShowError?"true":"false");
            }
            
            if (sf.Contains("CFG_SitemapSplit"))
            {
                sf["CFG_SitemapSplit"] = this.cfg_sitemapSplit;
            }
            else
            {
                sf.Append("CFG_SitemapSplit", this.cfg_sitemapSplit);
            }
            if (sf.Contains("CFG_ArchiveTagsFormat"))
            {
                sf["CFG_ArchiveTagsFormat"] = this.cfg_ArchiveTagsFormat;
            }
            else
            {
                sf.Append("CFG_ArchiveTagsFormat", this.cfg_ArchiveTagsFormat);
            }
            if (sf.Contains("CFG_NavigatorLinkFormat"))
            {
                sf["CFG_NavigatorLinkFormat"] = this.cfg_navigatorLinkFormat;
            }
            else
            {
                sf.Append("CFG_NavigatorLinkFormat", this.cfg_navigatorLinkFormat);
            }
            if (sf.Contains("CFG_NavigatorChildFormat"))
            {
                sf["CFG_NavigatorChildFormat"] = this.cfg_navigatorChildFormat;
            }
            else
            {
                sf.Append("CFG_NavigatorChildFormat", this.cfg_navigatorChildFormat);
            }
            if (sf.Contains("CFG_FriendShowNum"))
            {
                sf["CFG_FriendShowNum"] = this.cfg_friendShowNum.ToString();
            }
            else
            {
                sf.Append("CFG_FriendShowNum", this.cfg_friendShowNum.ToString());
            }
            if (sf.Contains("CFG_FriendLinkFormat"))
            {
                sf["CFG_FriendLinkFormat"] = this.cfg_friendLinkFormat;
            }
            else
            {
                sf.Append("CFG_FriendLinkFormat", this.cfg_friendLinkFormat);
            }
            if (sf.Contains("CFG_TrafficFormat"))
            {
                sf["CFG_TrafficFormat"] = this.cfg_trafficFormat;
            }
            else
            {
                sf.Append("CFG_TrafficFormat", this.cfg_trafficFormat);
            }
            if (sf.Contains("CFG_CommentEditorHtml"))
            {
                sf["CFG_CommentEditorHtml"] = this.cfg_commentEditorHtml;
            }
            else
            {
                sf.Append("CFG_CommentEditorHtml", this.cfg_commentEditorHtml);
            }
            if (sf.Contains("CFG_allowAmousComment"))
            {
                sf["CFG_allowAmousComment"] = this.cfg_allowAmousComment ? "true" : "false";
            }
            else
            {
                sf.Append("CFG_allowAmousComment", this.cfg_allowAmousComment ? "true" : "false");
            }
            if (sf.Contains("CFG_OutlineLength"))
            {
                sf["CFG_OutlineLength"] = this.cfg_outlineLength.ToString();
            }
            else
            {
                sf.Append("CFG_OutlineLength", this.cfg_outlineLength.ToString());
            }
            if (sf.Contains("CFG_ArchiveFormat"))
            {
                sf["CFG_ArchiveFormat"] = this.cfg_archiveFormat;
            }
            else
            {
                sf.Append("CFG_ArchiveFormat", this.cfg_archiveFormat);
            }
            if (sf.Contains("CFG_ArchiveLinkFormat"))
            {
                sf["CFG_ArchiveLinkFormat"] =this.cfg_archiveLinkFormat;
            }
            else
            {
                sf.Append("CFG_ArchiveLinkFormat", this.cfg_archiveLinkFormat);
            }
            if (sf.Contains("CFG_PrevArchiveFormat"))
            {
                sf["CFG_PrevArchiveFormat"] = this.cfg_prevArchiveFormat;
            }
            else
            {
                sf.Append("CFG_PrevArchiveFormat", this.cfg_prevArchiveFormat);
            }
            if (sf.Contains("CFG_NextArchiveFormat"))
            {
                sf["CFG_NextArchiveFormat"] = this.cfg_nextArchiveFormat;
            }
            else
            {
                sf.Append("CFG_NextArchiveFormat", this.cfg_nextArchiveFormat);
            }

            if (sf.Contains("CFG_CategoryLinkFormat"))
            {
                sf["CFG_CategoryLinkFormat"] = this.cfg_categoryLinkFormat;
            }
            else
            {
                sf.Append("CFG_CategoryLinkFormat", this.cfg_categoryLinkFormat);
            }
            sf.Flush();
        }
예제 #33
0
        public TemplateSetting(string tpl)
        {
            this.tplName = tpl;
            sf = new SettingFile(String.Format("{0}templates/{1}/tpl.conf", AppDomain.CurrentDomain.BaseDirectory, tpl));

            #region 获取设置
            if(sf.Contains("CFG_ShowError"))
            {
                this.cfg_showError = sf["CFG_ShowError"]=="true";
            }
            if (sf.Contains("CFG_SitemapSplit"))
            {
                this.cfg_sitemapSplit = sf["CFG_SitemapSplit"];
            }
            if (sf.Contains("CFG_ArchiveTagsFormat"))
            {
                this.cfg_ArchiveTagsFormat = sf["CFG_ArchiveTagsFormat"];
            }
            if (sf.Contains("CFG_NavigatorLinkFormat"))
            {
                this.cfg_navigatorLinkFormat = sf["CFG_NavigatorLinkFormat"];
            }
            if (sf.Contains("CFG_NavigatorChildFormat"))
            {
               this.cfg_navigatorChildFormat= sf["CFG_NavigatorChildFormat"];
            }
            if (sf.Contains("CFG_FriendShowNum"))
            {
                int.TryParse(sf["CFG_FriendShowNum"], out this.cfg_friendShowNum);
            }
            if (sf.Contains("CFG_OutlineLength"))
            {
                int.TryParse(sf["CFG_OutlineLength"], out this.cfg_outlineLength);
            }
            if (sf.Contains("CFG_FriendLinkFormat"))
            {
                this.cfg_friendLinkFormat= sf["CFG_FriendLinkFormat"];
            }
            if (sf.Contains("CFG_TrafficFormat"))
            {
                this.cfg_trafficFormat = sf["CFG_TrafficFormat"];
            }
            if (sf.Contains("CFG_CommentEditorHtml"))
            {
               this.cfg_commentEditorHtml = sf["CFG_CommentEditorHtml"];
            }
            if (sf.Contains("CFG_allowAmousComment"))
            {
                this.cfg_allowAmousComment= sf["CFG_allowAmousComment"] == "true";
            }
            if (sf.Contains("CFG_ArchiveFormat"))
            {
               this.cfg_archiveFormat = sf["CFG_ArchiveFormat"];
            }
            if (sf.Contains("CFG_PrevArchiveFormat"))
            {
               this.cfg_prevArchiveFormat= sf["CFG_PrevArchiveFormat"];
            }
            if (sf.Contains("CFG_NextArchiveFormat"))
            {
               this.cfg_nextArchiveFormat = sf["CFG_NextArchiveFormat"];
            }
            if (sf.Contains("CFG_ArchiveLinkFormat"))
            {
                this.cfg_archiveLinkFormat= sf["CFG_ArchiveLinkFormat"];
            }
            if (sf.Contains("CFG_CategoryLinkFormat"))
            {
               this.cfg_categoryLinkFormat = sf["CFG_CategoryLinkFormat"];
            }
            sf = null;

            #endregion
        }
예제 #34
0
파일: C_Template.cs 프로젝트: AntonWong/cms
        /// <summary>
        /// 模板列表
        /// </summary>
        public void Templates_GET()
        {
            if (UserState.Administrator.Current.Group != UserGroups.Master) return;
            string curTemplate = base.CurrentSite.Tpl;

            string tplRootPath=String.Format("{0}templates/",AppDomain.CurrentDomain.BaseDirectory);
            string[] tplList = new string[0];
            DirectoryInfo dir = new DirectoryInfo(tplRootPath);
            if (dir.Exists)
            {
                DirectoryInfo[] dirs = dir.GetDirectories();
                tplList = new string[dirs.Length];
                int i = -1;
                foreach (DirectoryInfo d in dirs)
                {
                    tplList[++i] = d.Name;
                }
            }

            SettingFile sf;
            string  currentName="",
                currentThumbnail="",
                    tplConfigFile,
                   tplName,
                   tplDescrpt,
                   tplThumbnail;

            StringBuilder sb = new StringBuilder();
            foreach (string tpl in tplList)
            {

                tplName = tpl;
                tplThumbnail = null;
                tplDescrpt = null;

                tplConfigFile = String.Format("{0}{1}/tpl.conf", tplRootPath, tpl);
                if (global::System.IO.File.Exists(tplConfigFile))
                {
                    sf = new SettingFile(tplConfigFile);
                    if (sf.Contains("name"))
                    {
                        tplName = sf["name"];
                    }

                    if (sf.Contains("thumbnail"))
                    {
                        tplThumbnail = sf["thumbnail"];
                    }
                    if (sf.Contains("descript"))
                    {
                        tplDescrpt = sf["descript"];
                    }
                }

                if (String.Compare(tpl, curTemplate , false) != 0)
                {
                    sb.Append("<li><p><a href=\"javascript:;\">");
                    if (tplThumbnail != null)
                    {
                        sb.Append("<img src=\"").Append(tplThumbnail).Append("\" alt=\"点击切换模板\" class=\"shot ").Append(tpl).Append("\"/>");
                    }
                    else
                    {
                        sb.Append("<span title=\"点击切换模板\" class=\"shot ").Append(tpl).Append(" thumbnail\">无缩略图</span>");
                    }

                    sb.Append("</a></p><p><a href=\"javascript:;\" class=\"t\">")
                        .Append(tplName).Append("</a></p><p><a class=\"btn edit\" href=\"tpl:")
                       .Append(tpl).Append("\">编辑</a>&nbsp;<a class=\"btn down\" href=\"tpl:")
                       .Append(tpl).Append("\">下载</a></p>")
                       .Append("<p class=\"hidden\">").Append(tplDescrpt).Append("</p>")
                       .Append("</li>");
                }
                else
                {

                    currentName = String.IsNullOrEmpty(tplName) ? curTemplate : tplName;
                    if (tplThumbnail != null)
                    {
                       currentThumbnail="<img src=\""+tplThumbnail+"\" alt=\"点击切换模板\" class=\"shot1 "+tpl+"\"/>";
                    }
                    else
                    {
                        currentThumbnail="<span class=\"shot1 "+tpl+" thumbnail\">无缩略图</span>";
                    }
                }
            }

            base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.Template_Manager), new
            {
                list=sb.ToString(),
                current = curTemplate,
                currentName=currentName,
                currentThumbnail=currentThumbnail
            });

        }
예제 #35
0
파일: Helper.cs 프로젝트: AntonWong/cms
        /// <summary>
        /// 获取模板
        /// </summary>
        /// <returns></returns>
        public static IDictionary<string, string> GetTemplates()
        {
            IDictionary<string, string> dict = new Dictionary<string, string>();
            string[] tpls;
            string tplRootPath = String.Format("{0}templates/", AppDomain.CurrentDomain.BaseDirectory);
            DirectoryInfo dir = new DirectoryInfo(tplRootPath);

            DirectoryInfo[] dirs=dir.GetDirectories();
            tpls = new string[dirs.Length];
            if (dir.Exists)
            {
                int i = -1;
                foreach (DirectoryInfo d in dirs)
                {
                    if ((d.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden)
                    {
                        tpls[++i] = d.Name;
                    }
                }
            }

            SettingFile sf;
            string tplConfigFile,
                   tplName;

            foreach (string key in tpls)
            {

                tplName = key;

                tplConfigFile = String.Format("{0}{1}/tpl.conf", tplRootPath, key);
                if (global::System.IO.File.Exists(tplConfigFile))
                {
                    sf = new SettingFile(tplConfigFile);
                    if (sf.Contains("name"))
                    {
                        tplName = sf["name"];
                    }
                    //if (sf.Contains("thumbnail"))
                    //{
                    //    tplThumbnail = sf["thumbnail"];
                    //}
                }
                if (!String.IsNullOrEmpty(key))
                {
                    dict.Add(key, tplName);
                }
            }
            return dict;
        }
예제 #36
0
 public void Dispose()
 {
     _settingsFile = null;
 }
예제 #37
0
        public InstallCode Process(HttpContext context)
        {
            NameValueCollection form = context.Request.Form;
            string physical          = Cms.PyhicPath;

            if (!Directory.Exists(Cms.PyhicPath + "config"))
            {
                Directory.CreateDirectory(Cms.PyhicPath + "config").Create();
            }

            if (System.IO.File.Exists(String.Concat(physical, INSTALL_LOCK)))
            {
                return(InstallCode.Installed);
            }

            string t_key         = form["t_key"],
                   t_name        = form["t_name"],
                   site_name     = form["site_name"],
                   site_domain   = form["site_domain"],
                   site_language = form["site_language"],
                   user_name     = form["user_name"],
                   user_pwd      = form["user_pwd"],
                   db_type       = form["db_type"],
                   db_server     = form["db_server"],
                   db_prefix     = form["db_prefix"],
                   db_prefix1    = form["db_prefix1"],
                   db_name       = form["db_name"],
                   db_usr        = form["db_usr"],
                   db_pwd        = form["db_pwd"],
                   db_file       = form["db_file"];

            string db_str = "";

            #region 检测数据

            if (String.IsNullOrEmpty(user_name) || String.IsNullOrEmpty(user_pwd))
            {
                return(InstallCode.NO_USER);
            }

            #endregion

            #region 初始化数据库设置

            //数据表前缀
            if (String.IsNullOrEmpty(db_prefix))
            {
                db_prefix = db_prefix1;
            }


            //移动Access或SQLite数据库
            if (db_type == "sqlite")
            {
                if (db_file == "")
                {
                    db_file = "#db.db3";
                }
                else if (db_file.IndexOf(".") == -1)
                {
                    db_file += ".db3";
                }
                System.IO.File.Copy(physical + FILE_DB_SQLITE, physical + "data/" + db_file, true);
                db_str = "Data Source=$ROOT/data/" + db_file;
            }
            else if (db_type == "oledb")
            {
                if (db_file == "")
                {
                    db_file = "#db.mdb";
                }
                else if (db_file.IndexOf(".") == -1)
                {
                    db_file += ".mdb";
                }
                System.IO.File.Copy(physical + FILE_DB_OLEDB, physical + "data/" + db_file, true);
                db_str = "Data Source=$ROOT/data/" + db_file;
            }
            else
            {
                //数据库资料不全
                if (String.IsNullOrEmpty(db_server) || String.IsNullOrEmpty(db_usr) || String.IsNullOrEmpty(db_name) || String.IsNullOrEmpty(db_prefix))
                {
                    return(InstallCode.DB_ERROR);
                }

                if (db_type == "mysql")
                {
                    db_str = String.Format("server={0};database={1};uid={2};pwd={3};charset=utf8", db_server, db_name, db_usr, db_pwd);
                }
                else if (db_type == "mssql")
                {
                    db_str = String.Format("server={0};database={1};uid={2};pwd={3}", db_server, db_name, db_usr, db_pwd);
                }
                else
                {
                    return(InstallCode.DB_UNKNOWN);
                }
            }

            #endregion

            #region 写入配置

            if (System.IO.File.Exists(physical + FILE_SETTING))
            {
                System.IO.File.Delete(physical + FILE_SETTING);
            }
            SettingFile file = new SettingFile(physical + FILE_SETTING);
            file.Append("license_key", t_key);
            file.Append("license_name", t_name);
            file.Append("server_static", "");
            file.Append("server_static_enabled", "false");

            file.Append("db_type", db_type);
            file.Append("db_conn", db_str);
            file.Append("db_prefix", db_prefix);

            file.Append("mm_avatar_path", "/file/avatar/");
            file.Flush();

            #endregion

            #region 初始化数据库

            if (!ExtraDB(db_type, db_str, db_prefix))
            {
                return(InstallCode.DB_INIT_ERROR);
            }

            #endregion

            #region 初始化数据

            //默认数据为:
            // cms_sites        siteid为1的站点
            // cms_categories   默认的about分类
            // cms_usergroups


            //更新默认站点
            this.db.ExecuteNonQuery(new SqlQuery(
                                        String.Format("UPDATE {0}sites SET domain=@domain,name=@name,tpl=@tpl,seotitle=@name where siteid=1", db_prefix),
                                        new object[, ] {
                { "@domain", site_domain },
                { "@name", site_name },
                { "@tpl", "default" }
            }));

            //创建管理用户
            this.db.ExecuteNonQuery(new SqlQuery(
                                        String.Format(@"
                        INSERT INTO {0}users (
                        siteid ,
                        username ,
                        password ,
                        name ,
                        groupid ,
                        available ,
                        createdate ,
                        lastlogindate ) VALUES (0,@username,@password,@name,1,1,@dt,@dt)
                    ", db_prefix),
                                        new object[, ] {
                { "@username", user_name },
                { "@password", user_pwd.Encode16MD5().EncodeMD5() },
                { "@name", "管理员" },
                { "@dt", DateTime.Now }
            }));


            #endregion


            //创建安装文件
            System.IO.File.Create(String.Concat(physical, INSTALL_LOCK));

            Settings.TurnOffDebug();

            Cms.Init();

            // 重启
            HttpRuntime.UnloadAppDomain();
            //AppDomain.Unload(AppDomain.CurrentDomain);

            return(InstallCode.SUCCESS);
        }
예제 #38
0
        /// <summary>
        /// 更新资料
        /// </summary>
        /// <param name="prefix"></param>
        public static void Update(string prefix)
        {
            SettingFile sf = new SettingFile(cmsConfigFile);

            switch (prefix)
            {
            case "sys":
                sf["license_name"]          = Settings.License_NAME;
                sf["license_key"]           = Settings.License_KEY;
                sf["server_static_enabled"] = Settings.SERVER_STATIC_ENABLED?"true":"false";
                sf["server_static"]         = Settings.SERVER_STATIC;
                sf["sys_admin_tag"]         = Settings.SYS_ADMIN_TAG;

                //301跳转
                if (!sf.Contains("sys_autowww"))
                {
                    sf.Append("sys_autowww", Settings.SYS_AUTOWWW ? "true" : "false");
                }
                else
                {
                    sf["sys_autowww"] = Settings.SYS_AUTOWWW ? "true" : "false";
                }

                //虚拟路径
                //if (!sf.Contains("sys_virthpath"))
                //{
                //    sf.Append("sys_virthpath", Settings.SYS_VIRTHPATH);
                //}
                //else
                //{
                //    sf["sys_virthpath"] = Settings.SYS_VIRTHPATH;
                //}
                break;

            case "db":
                sf["db_prefix"] = Settings.DB_PREFIX;
                break;

            case "tpl":

                //压缩代码
                if (!sf.Contains("tpl_usecompress"))
                {
                    sf.Append("tpl_usecompress", Settings.TPL_UseCompress ? "true" : "false");
                }
                else
                {
                    sf["tpl_usecompress"] = Settings.TPL_UseCompress ? "true" : "false";
                }

                //使用完整路径
                if (!sf.Contains("tpl_usefullpath"))
                {
                    sf.Append("tpl_usefullpath", Settings.TPL_UseFullPath ? "true" : "false");
                }
                else
                {
                    sf["tpl_usefullpath"] = Settings.TPL_UseFullPath ? "true" : "false";
                }


                Cms.Template.Register();

                break;

            //优化
            case "opti":

                WebConfig.SetDebug(Settings.Opti_Debug);

                //缓存项
                if (!sf.Contains("opti_IndexCacheSeconds"))
                {
                    sf.Append("opti_IndexCacheSeconds", Settings.Opti_IndexCacheSeconds.ToString());
                }
                else
                {
                    sf["opti_IndexCacheSeconds"] = Settings.Opti_IndexCacheSeconds.ToString();
                }

                if (!sf.Contains("Opti_GC_Collect_Interval"))
                {
                    sf.Append("Opti_GC_Collect_Interval", Settings.Opti_GC_Collect_Interval.ToString());
                }
                else
                {
                    sf["Opti_GC_Collect_Interval"] = Settings.Opti_GC_Collect_Interval.ToString();
                }

                if (!sf.Contains("opti_ClientCacheSeconds"))
                {
                    sf.Append("opti_ClientCacheSeconds", Settings.Opti_ClientCacheSeconds.ToString());
                }
                else
                {
                    sf["opti_ClientCacheSeconds"] = Settings.Opti_ClientCacheSeconds.ToString();
                }


                break;
            }

            //
            //Version:兼容更新站点
            //
            SiteDto site = Cms.Context.CurrentSite;

            if (site.SiteId > 0)
            {
                if (sf.Contains("idx_title"))
                {
                    site.SeoTitle = sf["idx_title"];
                    sf.Remove("idx_title");
                }
                if (sf.Contains("idx_keywords"))
                {
                    site.SeoKeywords = sf["idx_keywords"];
                    sf.Remove("idx_keywords");
                }
                if (sf.Contains("idx_description"))
                {
                    site.SeoDescription = sf["idx_description"];
                    sf.Remove("idx_description");
                }
                if (sf.Contains("sys_alias"))
                {
                    sf.Remove("sys_alias");
                }
            }

            if (sf.Contains("sys_name"))
            {
                if (sf.Contains("license_name"))
                {
                    sf["license_name"] = sf["sys_name"];
                    sf["license_key"]  = sf["sys_key"];
                }
                else
                {
                    sf.Append("license_name", sf["sys_name"]);
                    sf.Append("license_key", sf["sys_key"]);
                }
                sf.Remove("sys_name");
                sf.Remove("sys_key");
            }

            sf.Flush();
        }
예제 #39
0
        /// <summary>
        /// 模板列表
        /// </summary>
        public void Templates_GET()
        {
            if (!UserState.Administrator.Current.IsMaster)
            {
                return;
            }
            string curTemplate = base.CurrentSite.Tpl;

            string tplRootPath = String.Format("{0}templates/", AppDomain.CurrentDomain.BaseDirectory);

            string[]      tplList = new string[0];
            DirectoryInfo dir     = new DirectoryInfo(tplRootPath);

            if (dir.Exists)
            {
                DirectoryInfo[] dirs = dir.GetDirectories();
                tplList = new string[dirs.Length];
                int i = -1;
                foreach (DirectoryInfo d in dirs)
                {
                    tplList[++i] = d.Name;
                }
            }

            SettingFile sf;
            string      currentName      = "",
                        currentThumbnail = "",
                        tplConfigFile,
                        tplName,
                        tplDescrpt,
                        tplThumbnail;

            StringBuilder sb = new StringBuilder();

            foreach (string tpl in tplList)
            {
                tplName      = tpl;
                tplThumbnail = null;
                tplDescrpt   = null;

                tplConfigFile = String.Format("{0}{1}/tpl.conf", tplRootPath, tpl);
                if (File.Exists(tplConfigFile))
                {
                    sf = new SettingFile(tplConfigFile);
                    if (sf.Contains("name"))
                    {
                        tplName = sf["name"];
                    }

                    if (sf.Contains("thumbnail"))
                    {
                        tplThumbnail = sf["thumbnail"];
                    }
                    if (sf.Contains("descript"))
                    {
                        tplDescrpt = sf["descript"];
                    }
                }

                if (String.CompareOrdinal(tpl, curTemplate) != 0)
                {
                    sb.Append("<li><p><a href=\"javascript:;\">");
                    if (tplThumbnail != null)
                    {
                        sb.Append("<img src=\"").Append(tplThumbnail).Append("\" alt=\"点击切换模板\" class=\"shot ").Append(tpl).Append("\"/>");
                    }
                    else
                    {
                        sb.Append("<span title=\"点击切换模板\" class=\"shot ").Append(tpl).Append(" thumbnail\">无缩略图</span>");
                    }

                    sb.Append("</a></p><p><a href=\"javascript:;\" class=\"t\">")
                    .Append(tplName).Append("</a></p><p><a class=\"btn edit\" href=\"tpl:")
                    .Append(tpl).Append("\">编辑</a>&nbsp;<a class=\"btn down\" href=\"tpl:")
                    .Append(tpl).Append("\">下载</a></p>")
                    .Append("<p class=\"hidden\">").Append(tplDescrpt).Append("</p>")
                    .Append("</li>");
                }
                else
                {
                    currentName = String.IsNullOrEmpty(tplName) ? curTemplate : tplName;
                    if (tplThumbnail != null)
                    {
                        currentThumbnail = "<img src=\"" + tplThumbnail + "\" alt=\"点击切换模板\" class=\"shot1 " + tpl + "\"/>";
                    }
                    else
                    {
                        currentThumbnail = "<span class=\"shot1 " + tpl + " thumbnail\">无缩略图</span>";
                    }
                }
            }

            base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.Template_Manager), new
            {
                list             = sb.ToString(),
                current          = curTemplate,
                currentName      = currentName,
                currentThumbnail = currentThumbnail
            });
        }
예제 #40
0
        /// <summary>
        /// 加载配置文件
        /// </summary>
        /// <param name="filePath">文件路径</param>
        /// <returns>返回加载消息,如成功返回空</returns>
        internal static string Load(string filePath)
        {
            cmsConfigFile = filePath;

            //从配置文件中加载
            SettingFile sf = new SettingFile(cmsConfigFile);

            Settings.loaded = true;
            bool settingChanged = false;

            //try
            // {
            Settings.License_NAME = sf.Contains("license_name") ? sf["license_name"] : "评估用户";
            Settings.License_KEY  = sf.Contains("license_key") ? sf["license_key"] : String.Empty;
            Settings.SYS_AUTOWWW  = sf.Contains("sys_autowww") ? sf["sys_autowww"] == "true" : false;                    //自动WWW

            #region 读取模板选项

            Settings.TPL_UseFullPath = sf.Contains("tpl_usefullpath") ? sf["tpl_usefullpath"] == "true" : true;
            Settings.TPL_UseCompress = sf.Contains("tpl_usecompress") ? sf["tpl_usecompress"] == "true" : false;


            #endregion

            Settings.DB_TYPE   = sf["db_type"];
            Settings.DB_CONN   = sf["db_conn"];
            Settings.DB_PREFIX = sf["db_prefix"];


            Settings.MM_AVATAR_PATH = sf["mm_avatar_path"];


            /**************** 优化项 ******************/
            Settings.Opti_Debug = WebConfig.IsDebug();

            //缓存项
            if (sf.Contains("opti_IndexCacheSeconds"))
            {
                int.TryParse(sf["opti_IndexCacheSeconds"], out Settings.Opti_IndexCacheSeconds);
            }

            if (sf.Contains("opti_ClientCacheSeconds"))
            {
                int.TryParse(sf["opti_ClientCacheSeconds"], out Settings.Opti_ClientCacheSeconds);
            }

            if (sf.Contains("Opti_GC_Collect_Interval"))
            {
                int.TryParse(sf["Opti_GC_Collect_Interval"], out Settings.Opti_GC_Collect_Interval);
            }


            /**************** 静态服务器 ******************/

            if (sf.Contains("server_static"))
            {
                Settings.SERVER_STATIC = sf["server_static"];
                if (Settings.SERVER_STATIC.Length == 0)
                {
                    Settings.SERVER_STATIC = Server._defaultStaticServer;
                }
            }
            else
            {
                sf.Append("server_static", Server._defaultStaticServer);
                Settings.SERVER_STATIC = Server._defaultStaticServer;
                settingChanged         = true;
            }

            if (sf.Contains("server_static_enabled"))
            {
                Settings.SERVER_STATIC_ENABLED = sf["server_static_enabled"] == "true";
            }
            else
            {
                sf.Append("server_static_enabled", "false");
                settingChanged = true;
            }


            if (sf.Contains("sys_admin_tag"))
            {
                Settings.SYS_ADMIN_TAG = sf["sys_admin_tag"];
            }
            else
            {
                sf.Append("sys_admin_tag", Settings.SYS_ADMIN_TAG);
                settingChanged = true;
            }

            if (settingChanged)
            {
                sf.Flush();
            }


            return(string.Empty);

            /*
             * }
             * catch (Exception ex)
             * {
             * const string strtpl = "配置文件不正确,请检查!位置:{0}。{1}";
             * string _file = filePath.Replace("/", "\\").Replace("\\\\", "\\");
             *
             * return string.Format(strtpl, _file,
             * ex.GetType() == typeof(ArgumentOutOfRangeException) ? "此错误可能因为缺少系统所需的配置而引发。" :
             * string.Empty
             * );
             * }*/
        }