/// <summary> /// 获取指定日期的数据 /// </summary> /// <param name="date"></param> /// <returns></returns> public static string GetData(DateTime date) { string key = String.Format("{0:yyyyMMdd}", date); if (trafficFile.Contains(key)) { return(trafficFile[key]); } else { trafficFile.Add(key, defaultJson); trafficFile.Flush(); } //try //{ // trafficFile["ips"] = String.Empty; //} //catch //{ // trafficFile.Append("ips", String.Empty); //} return(defaultJson); }
/// <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("state")) { settings.Add("state", "Normal"); isChanged = true; } if (!settings.Contains("override.url.indent")) { settings.Add("override.url.indent", ""); isChanged = true; } if (isChanged) { settings.Flush(); } }
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.Add("CFG_ShowErrror", this.CFG_ShowError ? "true" : "false"); } if (sf.Contains("CFG_SitemapSplit")) { sf["CFG_SitemapSplit"] = this.cfg_sitemapSplit; } else { sf.Add("CFG_SitemapSplit", this.cfg_sitemapSplit); } if (sf.Contains("CFG_ArchiveTagsFormat")) { sf["CFG_ArchiveTagsFormat"] = this.cfg_ArchiveTagsFormat; } else { sf.Add("CFG_ArchiveTagsFormat", this.cfg_ArchiveTagsFormat); } if (sf.Contains("CFG_NavigatorLinkFormat")) { sf["CFG_NavigatorLinkFormat"] = this.cfg_navigatorLinkFormat; } else { sf.Add("CFG_NavigatorLinkFormat", this.cfg_navigatorLinkFormat); } if (sf.Contains("CFG_NavigatorChildFormat")) { sf["CFG_NavigatorChildFormat"] = this.cfg_navigatorChildFormat; } else { sf.Add("CFG_NavigatorChildFormat", this.cfg_navigatorChildFormat); } if (sf.Contains("CFG_FriendShowNum")) { sf["CFG_FriendShowNum"] = this.cfg_friendShowNum.ToString(); } else { sf.Add("CFG_FriendShowNum", this.cfg_friendShowNum.ToString()); } if (sf.Contains("CFG_FriendLinkFormat")) { sf["CFG_FriendLinkFormat"] = this.cfg_friendLinkFormat; } else { sf.Add("CFG_FriendLinkFormat", this.cfg_friendLinkFormat); } if (sf.Contains("CFG_TrafficFormat")) { sf["CFG_TrafficFormat"] = this.cfg_trafficFormat; } else { sf.Add("CFG_TrafficFormat", this.cfg_trafficFormat); } if (sf.Contains("CFG_CommentEditorHtml")) { sf["CFG_CommentEditorHtml"] = this.cfg_commentEditorHtml; } else { sf.Add("CFG_CommentEditorHtml", this.cfg_commentEditorHtml); } if (sf.Contains("CFG_allowAmousComment")) { sf["CFG_allowAmousComment"] = this.cfg_allowAmousComment ? "true" : "false"; } else { sf.Add("CFG_allowAmousComment", this.cfg_allowAmousComment ? "true" : "false"); } if (sf.Contains("CFG_OutlineLength")) { sf["CFG_OutlineLength"] = this.cfg_outlineLength.ToString(); } else { sf.Add("CFG_OutlineLength", this.cfg_outlineLength.ToString()); } if (sf.Contains("CFG_ArchiveFormat")) { sf["CFG_ArchiveFormat"] = this.cfg_archiveFormat; } else { sf.Add("CFG_ArchiveFormat", this.cfg_archiveFormat); } if (sf.Contains("CFG_ArchiveLinkFormat")) { sf["CFG_ArchiveLinkFormat"] = this.cfg_archiveLinkFormat; } else { sf.Add("CFG_ArchiveLinkFormat", this.cfg_archiveLinkFormat); } if (sf.Contains("CFG_PrevArchiveFormat")) { sf["CFG_PrevArchiveFormat"] = this.cfg_prevArchiveFormat; } else { sf.Add("CFG_PrevArchiveFormat", this.cfg_prevArchiveFormat); } if (sf.Contains("CFG_NextArchiveFormat")) { sf["CFG_NextArchiveFormat"] = this.cfg_nextArchiveFormat; } else { sf.Add("CFG_NextArchiveFormat", this.cfg_nextArchiveFormat); } if (sf.Contains("CFG_CategoryLinkFormat")) { sf["CFG_CategoryLinkFormat"] = this.cfg_categoryLinkFormat; } else { sf.Add("CFG_CategoryLinkFormat", this.cfg_categoryLinkFormat); } sf.Flush(); }
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 = "rd_" + StringExtensions.RandomLetters(string.Empty, 5) + ".db"; } else if (db_file.IndexOf(".") == -1) { db_file += ".db"; } if (!Directory.Exists(physical + "sqlite.db")) { Directory.CreateDirectory(physical + "sqlite.db").Create(); } System.IO.File.Copy(physical + FILE_DB_SQLITE, physical + "sqlite.db/" + db_file, true); db_str = "Data Source=$ROOT/sqlite.db/" + db_file; } else if (db_type == "oledb") { if (db_file == "") { db_file = "rd_" + StringExtensions.RandomLetters(string.Empty, 5) + ".mdb"; } else if (db_file.IndexOf(".") == -1) { db_file += ".mdb"; } if (!Directory.Exists(physical + "ole.db")) { Directory.CreateDirectory(physical + "ole.db").Create(); } File.Copy(physical + FILE_DB_OLEDB, physical + "ole.db/" + db_file, true); db_str = "Data Source=$ROOT/ole.db/" + 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.Add("license_key", t_key); file.Add("license_name", t_name); file.Add("server_static", ""); file.Add("server_static_enabled", "false"); file.Add("db_type", db_type); file.Add("db_conn", db_str); file.Add("db_prefix", db_prefix); file.Add("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_category 默认的about分类 // cms_usergroup //更新默认站点 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", StringExtensions.EncodeMD5(StringExtensions.Encode16MD5(user_pwd)) }, { "@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); }
/// <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.Add("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.Add("server_static_enabled", "false"); settingChanged = true; } if (sf.Contains("sys_admin_tag")) { Settings.SYS_ADMIN_TAG = sf["sys_admin_tag"]; } else { sf.Add("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 * ); * }*/ }
/// <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.Add("sys_autowww", Settings.SYS_AUTOWWW ? "true" : "false"); } else { sf["sys_autowww"] = Settings.SYS_AUTOWWW ? "true" : "false"; } //虚拟路径 //if (!sf.Contains("sys_virthpath")) //{ // sf.Add("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.Add("tpl_usecompress", Settings.TPL_UseCompress ? "true" : "false"); } else { sf["tpl_usecompress"] = Settings.TPL_UseCompress ? "true" : "false"; } //使用完整路径 if (!sf.Contains("tpl_usefullpath")) { sf.Add("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.Add("opti_IndexCacheSeconds", Settings.Opti_IndexCacheSeconds.ToString()); } else { sf["opti_IndexCacheSeconds"] = Settings.Opti_IndexCacheSeconds.ToString(); } if (!sf.Contains("Opti_GC_Collect_Interval")) { sf.Add("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.Add("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.Add("license_name", sf["sys_name"]); sf.Add("license_key", sf["sys_key"]); } sf.Remove("sys_name"); sf.Remove("sys_key"); } sf.Flush(); }