/// <summary> /// 模板设置 /// </summary> public void Settings_GET() { string tpl = Request["tpl"]; if (String.IsNullOrEmpty(tpl)) { tpl = base.CurrentSite.Tpl; } var tplSetting = new TemplateSetting(tpl); base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.Template_Setting), new { //模板 tpl_CFG_OutlineLength = tplSetting.CFG_OutlineLength.ToString(), tpl_CFG_allowAmousComment = tplSetting.CFG_AllowAmousComment ? " checked=\"checked\"" : String.Empty, tpl_CFG_CommentEditorHtml = tplSetting.CFG_CommentEditorHtml, tpl_CFG_ArchiveTagsFormat = tplSetting.CFG_ArchiveTagsFormat, tpl_CFG_FriendLinkFormat = tplSetting.CFG_FriendLinkFormat, tpl_CFG_FriendShowNum = tplSetting.CFG_FriendShowNum, tpl_CFG_NavigatorLinkFormat = tplSetting.CFG_NavigatorLinkFormat, tpl_CFG_NavigatorChildFormat = tplSetting.CFG_NavigatorChildFormat, tpl_CFG_SitemapSplit = tplSetting.CFG_SitemapSplit, tpl_CFG_TrafficFormat = tplSetting.CFG_TrafficFormat }); }
/// <summary> /// 编辑模板 /// </summary> public void Edit_GET() { string tpl = Request["tpl"]; if (String.IsNullOrEmpty(tpl)) { tpl = base.CurrentSite.Tpl; } StringBuilder sb = new StringBuilder(); DirectoryInfo dir = new DirectoryInfo(String.Format("{0}templates/{1}/", AppDomain.CurrentDomain.BaseDirectory, tpl)); if (!dir.Exists) { Response.Redirect(Request.Path + "?module=template&action=templates", true); return; } EachClass.IterialTemplateFiles(dir, sb, tpl); base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.Template_Edit), new { tplfiles = sb.ToString(), tpl = tpl }); }
public void Forword_GET() { int id = int.Parse(base.Request["archive.id"]); ArchiveDto archive = ServiceCall.Instance.ArchiveService.GetArchiveById(this.SiteId, id); string fullDomain = this.CurrentSite.FullDomain; if (fullDomain.IndexOf("#") != -1) { fullDomain = fullDomain.Replace("#", AtNet.Cms.Cms.Context.Host); } string url = fullDomain + archive.Url; if (String.IsNullOrEmpty(archive.Outline)) { archive.Outline = ArchiveUtility.GetOutline(archive.Content, 100); } //Cms.Context.SiteDomain object data = new { title = archive.Title, outline = archive.Outline, url = url, forword_content = String.Format("<a href=\"{0}\" target=\"_blank\"><strong>{1}</strong><br />{2}</a>", url, archive.Title, archive.Outline), link_content = "" }; base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.Archive_Forword), data); }
/// <summary> /// 编辑文件 /// </summary> public void EditFile_GET() { string path = Request["path"]; string content, bakinfo; FileInfo file, bakfile; file = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + path); bakfile = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + Helper.GetBackupFilePath(path)); if (!file.Exists) { Response.Write("文件不存在!"); return; } else { if (bakfile.Exists) { bakinfo = String.Format(@"上次修改时间日期:{0:yyyy-MM-dd HH:mm:ss} <a style=""margin-right:20px"" href=""javascript:;"" onclick=""process('restore')"">还原</a>", bakfile.LastWriteTime, path); } else { bakinfo = ""; } } StreamReader sr = new StreamReader(file.FullName); content = sr.ReadToEnd(); sr.Dispose(); //base.RenderTemplate(ManagerResouces.tpl_editfile, new //{ // file=path, // content=content, // bakinfo=bakinfo //}); // Response.Write(ManagerResouces.tpl_editfile.Replace("${file}", path) // .Replace("${content}", content).Replace("${bakinfo}", bakinfo)); content = Regex.Replace(content, "&", "&"); content = Regex.Replace(content, "<", "<"); content = Regex.Replace(content, ">", ">"); base.RenderTemplate( BasePage.CompressHtml(ResourceMap.GetPageContent(ManagementPage.Template_EditFile)), new { file = path, content = content, bakinfo = bakinfo, path = path }); }
/// <summary> /// 服务器信息页面 /// </summary> public void ServerSummary_GET() { base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.Server_Summary), new { path = GetPath(), dashurl = Server.DashbordRssServer, soft_ver = AtNet.Cms.Cms.Version, sys_alias = Settings.License_NAME, // + "(KEY:" + Settings.SYS_KEY + ")", server_name = HttpContext.Current.Server.MachineName, server_os = Environment.OSVersion.VersionString, server_local = System.Globalization.CultureInfo.InstalledUICulture.EnglishName, server_ip = Request.ServerVariables["LOCAl_ADDR"], server_host = Request.ServerVariables["SERVER_NAME"], server_iis = Request.ServerVariables["Server_SoftWare"], server_netver = Environment.Version.Major + "." + Environment.Version.Minor + "." + Environment.Version.Build + "." + Environment.Version.Revision, server_https = Request.Url.ToString().IndexOf("https://") != -1 ? "是" : "否", server_port = Request.ServerVariables["Server_Port"], server_hour = String.Format("{0}小时", ((Environment.TickCount / 0x3e8) / 3600).ToString()), server_time = DateTime.Now.ToString(), server_cpu = String.Format("{0},{1}核", Environment.GetEnvironmentVariable("PROCESSOR_IDENTIFIER"), Environment.GetEnvironmentVariable("NUMBER_OF_PROCESSORS")), server_meory = (Environment.WorkingSet / 1024 / 1024) + "M", server_net_meory = ((Double)System.Diagnostics.Process.GetCurrentProcess().WorkingSet64 / 1048576).ToString("N2") + "M", person_os = this.GetOSNameByUserAgent(base.Request.UserAgent), person_ip = base.Request.UserHostAddress, person_soft = base.Request.Browser.Browser, person_softver = base.Request.Browser.Version, person_cookie = base.Request.Browser.Cookies ? "支持" : "<span style=\"color:Red\">不支持</span>", person_java = base.Request.Browser.EcmaScriptVersion.Major >= 1 ? "支持" : "<span style=\"color:Red\">不支持</span>", }); }
/// <summary> /// 系统设置 /// </summary> public void AppConfig_GET() { object data = new { license_name = Settings.License_NAME, license_key = Settings.License_KEY, site_domain = Request.Url.Host, sys_autowww = Settings.SYS_AUTOWWW, sys_admin_tag = Settings.SYS_ADMIN_TAG, db_prefix = Settings.DB_PREFIX, opti_IndexCacheSeconds = (Settings.Opti_IndexCacheSeconds / 60).ToString(), opti_ClientCacheSeconds = (Settings.Opti_ClientCacheSeconds / 60).ToString(), Opti_GC_Collect_Interval = (Settings.Opti_GC_Collect_Interval / 3600000), opti_debug = Settings.Opti_Debug, server_static = Settings.SERVER_STATIC, server_static_enabled = Settings.SERVER_STATIC_ENABLED, tpl_usefullpath = Settings.TPL_UseFullPath, tpl_usecompress = Settings.TPL_UseCompress }; base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.App_Config), new { json = JsonSerializer.Serialize(data) }); }
/// <summary> /// 分类扩展信息设置 /// </summary> /// <returns></returns> public void Category_Check_GET() { int categoryLft = int.Parse(base.Request["lft"]); IList <int> extendIds = new List <int>(); IList <ExtendFieldDto> list = ExtendFieldCacheManager.GetExtendFields(base.CurrentSite.SiteId); CategoryDto category = ServiceCall.Instance.SiteService.GetCategoryByLft(this.SiteId, categoryLft); foreach (IExtendField extend in category.ExtendFields) { extendIds.Add(extend.Id); } string json = JsonSerializer.Serialize(list); category.ExtendFields = null; string categoryJson = JsonSerializer.Serialize(new { ID = category.Id, Lft = category.Lft, Name = category.Name, ExtendIds = extendIds }); base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.Site_Extend_Category_Check), new { url = base.Request.RawUrl, json = json, category = categoryJson }); }
/// <summary> /// 链接列表 /// </summary> public void List_GET() { SiteLinkType type = (SiteLinkType)Enum.Parse(typeof(SiteLinkType), HttpContext.Current.Request["type"], true); string linkTypeName; switch (type) { case SiteLinkType.FriendLink: linkTypeName = "友情链接"; break; default: case SiteLinkType.CustomLink: linkTypeName = "自定义链接"; break; case SiteLinkType.Navigation: linkTypeName = "网站导航"; break; } //显示页面 object data = new { linktype = base.Request["type"], linkTypeName = linkTypeName }; base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.Link_SiteLinkList), data); }
public void Fields_GET() { string form = EntityForm.Build <ExtendFieldDto>(new ExtendFieldDto(), false, "btn"); base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.Site_Extend_List), new { form = form }); }
public void RelatedLink_GET() { string form = EntityForm.Build <LinkDto>(new LinkDto(), false, "btn"); base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.Link_RelatedLink), new { form = form }); }
/// <summary> /// 欢迎首页 /// </summary> public void Welcome_GET() { base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.Welcome), new { path = GetPath(), dashurl = Server.DashbordRssServer, soft_ver = AtNet.Cms.Cms.Version, sys_alias = Settings.License_NAME, }); }
/// <summary> /// 登录页面 /// </summary> public void Login_GET() { base.RenderTemplate( ResourceMap.GetPageContent(ManagementPage.Login), new { path = GetPath(), version = AtNet.Cms.Cms.Version, year = DateTime.Now.Year.ToString() }); }
/// <summary> /// 修改资料 /// </summary> public void ModifyUserBasicProfile_GET() { User user = UserState.Administrator.Current; base.RenderTemplate( ResourceMap.GetPageContent(ManagementPage.User_ModifyBasicProfile), new { name = user.Name }); }
/// <summary> /// 管理首页 /// </summary> //[StaticCache] public void Index_GET() { //if (!Cms.Cache.CheckClientCacheExpiresByEtag()) { return; } //重定向管理页 string path = base.Request.Path; if (base.Request.Url.Query == "" || path.EndsWith("/")) { if (path.EndsWith("/")) { path = path.Substring(0, path.Length - 1); } base.Response.Write(String.Format("<script>window.parent.location.replace('{0}?ver={1}')</script>", path, AtNet.Cms.Cms.Version)); return; } string page_Template; User usr = UserState.Administrator.Current; if (usr.SiteId > 0) { //子站用户跳转标识 //if (base.Request["f"] != "s") //{ // base.Response.Write(String.Format("<script>window.parent.location.replace('{0}?ver={1}&f=s')</script>", base.Request.Path, Cms.Version)); // return; //} //else //{ // page_Template = ResourceMap.GetPageContent(ManagementPage.SUB_Index); //} page_Template = ResourceMap.GetPageContent(ManagementPage.SUB_Index); } else { page_Template = ResourceMap.GetPageContent(ManagementPage.Index); } base.RenderTemplateUseCache(page_Template, new { version = AtNet.Cms.Cms.Version, path = GetPath(), admin_path = Settings.SYS_ADMIN_TAG, //ui_component_path = ResourceMap.GetPageUrl(ManagementPage.UI_Component), ui_css_path = ResourceMap.GetPageUrl(ManagementPage.UI_Index_Css), ui_custom_js_path = ResourceMap.GetPageUrl(ManagementPage.UI_Index_Custom_Js) //initData=new Ajax().GetAppInit() }); }
public void Edit_GET() { int siteID = int.Parse(base.Request["siteId"] ?? "1"); SiteDto site = SiteCacheManager.GetSite(siteID); string html = EntityForm.Build <SiteDto>(site, true, "提交"); base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.Site_Edit), new { form = html, tpls = Helper.GetTemplateOptions(site.Tpl) }); }
/// <summary> /// 更新用户 /// </summary> public void UpdateUser_GET() { AtNet.Cms.Cms.Context.Items["ajax"] = "1"; User usr = CmsLogic.User.GetUser(base.Request["username"]); usr.Password = "******"; string html = EntityForm.Build <User>(usr, true, "保存"); base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.User_Edit), new { entity = html, groups = Helper.GetUserGroupOptions(usr.GroupId) }); }
/// <summary> /// 创建会员 /// </summary> public void CreateUser_GET() { AtNet.Cms.Cms.Context.Items["ajax"] = "1"; string html = EntityForm.Build <User>(new User { Available = true }, true, "添加用户"); base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.User_Edit), new { entity = html, sites = Helper.GetSiteOptions(-1), groups = Helper.GetUserGroupOptions(-1) }); }
/// <summary> /// 预览文档 /// </summary> public void View_GET() { int id = int.Parse(base.Request["archive.id"]); ArchiveDto archive = ServiceCall.Instance.ArchiveService.GetArchiveById(this.SiteId, id); User author = CmsLogic.User.GetUser(archive.Author); base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.Archive_View), new { title = archive.Title, author = author == null ? archive.Author : author.Name + "(" + author.UserName + ")", publishdate = String.Format("{0:yyyy-MM-dd HH:mm:ss}", archive.CreateDate), content = archive.Content, thumbnail = archive.Thumbnail, count = archive.ViewCount }); }
public void Create_GET() { var site = new SiteDto(); var sites = SiteCacheManager.GetAllSites(); if (sites.Count > 0) { site.SiteId = sites[sites.Count - 1].SiteId + 1; //site.Name = "未命名站点"+site.SiteId.ToString(); } string html = EntityForm.Build <SiteDto>(site, true, "创建"); base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.Site_Edit), new { form = html, tpls = Helper.GetTemplateOptions("") }); }
/// <summary> /// 编辑模板 /// </summary> public void Edit_GET() { StringBuilder sb = new StringBuilder(); DirectoryInfo cssDir = new DirectoryInfo(String.Format("{0}style/", AppDomain.CurrentDomain.BaseDirectory)); DirectoryInfo cfgDir = new DirectoryInfo(String.Format("{0}config/", AppDomain.CurrentDomain.BaseDirectory)); //sb.Append("<optgroup label=\"样式表\">"); //EachClass.EachFiles(cssDir, sb, "style",".css", true); sb.Append("</optgroup><optgroup label=\"设置文件\">"); EachClass.EachFiles(cfgDir, sb, "config", ".xml ; .ini ; .conf", true); sb.Append("</optgroup>"); base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.File_SelectEdit), new { files = sb.ToString(), systpl = base.CurrentSite.Tpl }); }
public void Index_GET() { IList <SiteDto> sites = SiteCacheManager.GetAllSites(); TreeItem[] items = new TreeItem[sites.Count]; for (int i = 0; i < sites.Count; i++) { items[i] = new TreeItem { ID = sites[i].SiteId, Name = sites[i].Name + (sites[i].Note.Trim() != ""?"[" + sites[i].Note + "]":"") }; } base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.Site_Index), new { siteTree = Helper.SingleTree("所有站点", items) }); }
/// <summary> /// 文档列表 /// </summary> public void List_GET() { HttpRequest request = HttpContext.Current.Request; const int __pageSize = 10; object data; //返回的数据 int pageSize, pageIndex, recordCount, pages; bool?visible, special, system, aspage; int?categoryId = null, moduleId = null; string _categoryId = request["category.id"], //只有这个参数为必传 _moduleId = request["moduleId"], _pageIndex = request["page"] ?? "1", _pageSize = request["size"], _author = request["author"], _visible = request["visible"], _special = request["special"], _system = request["system"], _aspage = request["aspage"]; StringBuilder sb = new StringBuilder(); string categoryOpts, //栏目Options pagerHtml, //分页链接 tableHeaderText, //表头字段 archiveListHtml; //文档列表HTML goto result; //处理页码大小并保存 if (!Regex.IsMatch(_pageIndex, "^(?!0)\\d+$")) { pageIndex = 1; //If pageindex start with zero or lower } else { pageIndex = int.Parse(_pageIndex); } if (String.IsNullOrEmpty(_pageSize)) { object o = HttpContext.Current.Session["archivelist_pagesize"]; int.TryParse(HttpContext.Current.Session["archivelist_pagesize"] as string, out pageSize); } else { int.TryParse(_pageSize, out pageSize); HttpContext.Current.Session["archivelist_pagesize"] = pageSize; } if (pageSize == 0) { pageSize = __pageSize; } //文档显示选项 #region if (String.IsNullOrEmpty(_visible)) { visible = null; } else { visible = String.Compare(_visible, String.Intern("true"), true) == 0; } if (String.IsNullOrEmpty(_special)) { special = null; } else { special = String.Compare(_special, String.Intern("true"), true) == 0; } if (String.IsNullOrEmpty(_system)) { system = null; } else { system = String.Compare(_system, String.Intern("true"), true) == 0; } if (String.IsNullOrEmpty(_aspage)) { aspage = null; } else { aspage = String.Compare(_aspage, String.Intern("true"), true) == 0; } #endregion //获取表头 bool isMaster = (UserGroups)UserState.Administrator.Current.GroupId == UserGroups.Master; tableHeaderText = isMaster ? "<th style=\"width:60px\" class=\"center\">发布人</th>" : String.Empty; //加载栏目 ServiceCall.Instance.SiteService.HandleCategoryTree(this.SiteId, 1, (category, level) => { sb.Append("<option value=\"").Append(category.Id.ToString()).Append("\">"); for (var i = 0; i < level; i++) { sb.Append("-"); } sb.Append(category.Name).Append("</option>"); }); categoryOpts = sb.ToString(); sb.Remove(0, sb.Length); string[,] flags = new string[, ] { { ArchiveFlag.GetInternalFlagKey(BuiltInArchiveFlags.IsSystem), system == null?"":(system.Value?"1":"0") }, { ArchiveFlag.GetInternalFlagKey(BuiltInArchiveFlags.IsSpecial), special == null?"":(special.Value?"1":"0") }, { ArchiveFlag.GetInternalFlagKey(BuiltInArchiveFlags.Visible), visible == null?"":(visible.Value?"1":"0") }, { ArchiveFlag.GetInternalFlagKey(BuiltInArchiveFlags.AsPage), aspage == null?"":(aspage.Value?"1":"0") } }; //文档数据表,并生成Html DataTable dt = ServiceCall.Instance.ArchiveService.GetPagedArchives(this.SiteId, categoryId, _author, flags, null, false, pageSize, pageIndex, out recordCount, out pages); //moduleID == null ? CmsLogic.Archive.GetPagedArchives(categoryID, _author,flags, null, false, pageSize, pageIndex, out recordCount, out pages) //: CmsLogic.Archive.GetPagedArchives((SysModuleType)(moduleID ?? 1), _author, flags,null, false, pageSize, pageIndex, out recordCount, out pages); IDictionary <string, bool> flagsDict; bool isSpecial, isSystem, isVisible, isPage; foreach (DataRow dr in dt.Rows) { flagsDict = ArchiveFlag.GetFlagsDict(dr["flags"].ToString()); isSpecial = flagsDict.ContainsKey(ArchiveFlag.GetInternalFlagKey(BuiltInArchiveFlags.IsSpecial)) && flagsDict[ArchiveFlag.GetInternalFlagKey(BuiltInArchiveFlags.IsSpecial)]; isSystem = flagsDict.ContainsKey(ArchiveFlag.GetInternalFlagKey(BuiltInArchiveFlags.IsSystem)) && flagsDict[ArchiveFlag.GetInternalFlagKey(BuiltInArchiveFlags.IsSystem)]; isVisible = flagsDict.ContainsKey(ArchiveFlag.GetInternalFlagKey(BuiltInArchiveFlags.Visible)) && flagsDict[ArchiveFlag.GetInternalFlagKey(BuiltInArchiveFlags.Visible)]; isPage = flagsDict.ContainsKey(ArchiveFlag.GetInternalFlagKey(BuiltInArchiveFlags.AsPage)) && flagsDict[ArchiveFlag.GetInternalFlagKey(BuiltInArchiveFlags.AsPage)]; //编号 sb.Append("<tr indent=\"").Append(dr["id"].ToString()).Append("\"><td align=\"center\">").Append(dr["id"].ToString()).Append("</td>"); //标题 sb.Append("<td").Append(isSpecial ? " class=\"special\">" : ">").Append(dr["title"].ToString()); if (!String.IsNullOrEmpty(dr["alias"] as string)) { sb.Append(" <span style=\"color:#777\">( 别名:").Append(dr["alias"].ToString()).Append(" )</span>"); } sb.Append("</td>"); //管理员可以查看发布人 if (isMaster) { sb.Append("<td class=\"center\"><a href=\"?module=archive&action=list&moduleID=").Append(_moduleId).Append("&author=") .Append(dr["author"].ToString()).Append("\" title=\"查看该用户发布的文档\">").Append(dr["Author"].ToString()).Append("</a></td>"); } sb.Append("<td>").Append(String.Format("{0:yyyy/MM/dd HH:mm}", Convert.ToDateTime(dr["CreateDate"]))).Append("</td><td align=\"center\">") .Append(dr["ViewCount"].ToString()).Append("</td><td><button class=\"refresh\" /></td><td><button class=\"file\" /></td><td><button class=\"edit\" /></td><td><button class=\"delete\" /></td></tr>"); } archiveListHtml = sb.ToString(); string format = String.Format("?module=archive&action=list&categoryID={0}&moduleID={1}&page={2}&size={3}&author={4}&visible={5}&special={6}&system={7}", _categoryId, _moduleId, "{0}", pageSize, _author, _visible, _special, _system); pagerHtml = Helper.BuildPagerInfo(format, pageIndex, recordCount, pages); result: data = new { moduleID = _moduleId ?? String.Empty, categoryID = _categoryId ?? String.Empty, username = _author }; base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.Archive_List), data); }
/// <summary> /// 系统用户列表 /// </summary> public void UserIndex_GET() { base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.User_Index), new { }); }
/// <summary> /// 主要首页 /// </summary> public void IndexMain_GET() { base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.IndexMain), null); }
/// <summary> /// 管理后台调用的脚本 /// </summary> public void Read_GET() { HttpContext context = HttpContext.Current; /* * MemoryStream ms = new MemoryStream(); * WebManagerResource.loading_process.Save(ms, ImageFormat.Gif); * string x = Convert.ToBase64String(ms.ToArray()); * ms.Dispose(); * throw new Exception(x); */ //context.Response.Write(Convert.ToBase64String(Encoding.UTF8.GetBytes("ui_component"))); return; /* To Base64 */ //byte[] data2=Encoding.UTF8.GetBytes("sys_tab"); //context.Response.Write(Convert.ToBase64String(data2, 0, data2.Length)); return; const int maxAge = 31536000; DateTime sinceTime; DateTime nowTime = DateTime.Now.ToUniversalTime(); string sinceModified = context.Request.Headers.Get("If-Modified-Since"); DateTime.TryParse(sinceModified, out sinceTime); sinceTime = sinceTime.ToUniversalTime(); if (!String.IsNullOrEmpty(sinceModified) && (nowTime - sinceTime).TotalSeconds < maxAge) { context.Response.StatusCode = 304; context.Response.Status = "304 Not Modified"; return; } else { if (Settings.Opti_SupportGZip) { context.Response.Filter = new GZipStream(context.Response.Filter, CompressionMode.Compress); context.Response.AddHeader("Content-Encoding", "gzip"); } context.Response.AddHeader("Cache-Control", "max-age=" + maxAge.ToString()); context.Response.AddHeader("Last-Modified", nowTime.ToString("r")); context.Response.AddHeader("Expires", DateTime.Now.AddYears(1).ToString("r")); context.Response.AddHeader("ETag", "\"" + DateTime.Now.Ticks + "\""); /* * response.Cache.SetETag(lastModified.Ticks.ToString()); * response.Cache.SetLastModified(lastModified); * //public 以指定响应能由客户端和共享(代理)缓存进行缓存。 * response.Cache.SetCacheability(HttpCacheability.Public); * //是允许文档在被视为陈旧之前存在的最长绝对时间。 * response.Cache.SetMaxAge(new TimeSpan(7, 0, 0, 0)); * //将缓存过期从绝对时间设置为可调时间 * response.Cache.SetSlidingExpiration(true); */ string filename = Encoding.UTF8.GetString(Convert.FromBase64String(context.Request["res"])); //获取文件MImE类型 string mime = fileMImE.ContainsKey(filename) ? fileMImE[filename] : "text/plain"; if (Regex.IsMatch(mime, "^image\\/(jpg|png|gif)$", RegexOptions.IgnoreCase)) { //ajax_loading图片 if (filename == "ajax_loader") { //const string data = "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"; const string data = "R0lGODlhEAAQAPIAAP///wBg/8LY/kKJ/gBg/2Kc/oKw/pK6/iH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAADMwi63P4wyklrE2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQJCgAAACwAAAAAEAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAIfkECQoAAAAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkECQoAAAAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYumCYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkECQoAAAAsAAAAABAAEAAAAzIIunInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQJCgAAACwAAAAAEAAQAAADMwi6ImKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJibufbSlKAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFGxTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAkKAAAALAAAAAAQABAAAAMyCLrc/jDKSatlQtScKdceCAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA=="; HttpContext.Current.Response.BinaryWrite(Convert.FromBase64String(data)); } else if (filename == "load_process") { const string data = "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"; HttpContext.Current.Response.BinaryWrite(Convert.FromBase64String(data)); } else { #region 管理后台LOGO if (filename == "cms_top_logo") { FileInfo file = new FileInfo(String.Format("{0}{1}local/logo.gif", AppDomain.CurrentDomain.BaseDirectory, CmsVariables.FRAMEWORK_PATH)); if (file.Exists) { using (Bitmap bit = new Bitmap(file.FullName)) { MemoryStream stream = new MemoryStream(); bit.Save(stream, ImageFormat.Gif); bit.Dispose(); context.Response.BinaryWrite(stream.ToArray()); stream.Dispose(); } return; } } #endregion using (Bitmap bit = WebManagerResource.ResourceManager.GetObject(filename) as Bitmap) { MemoryStream stream = new MemoryStream(); bit.Save(stream, ImageFormat.Gif); bit.Dispose(); context.Response.BinaryWrite(stream.ToArray()); stream.Dispose(); } } } else { if (filename == "style") { context.Response.Write( ResourceUtility.CompressHtml( ResourceMap.GetPageContent(ManagementPage.Css_Style) )); } else { context.Response.Write(ResourceUtility.CompressHtml(WebManagerResource.ResourceManager.GetString(filename))); } } HttpContext.Current.Response.ContentType = mime; // HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=cms"); } }
/// <summary> /// 创建文档 /// </summary> public void Create_GET() { object data; string tpls, nodesHtml, //栏目JSON extendFieldsHtml = "", //属性Html extendItemsHtml = ""; Module module; int categoryId = int.Parse(base.Request["category.id"] ?? "1"); //分类ID CategoryDto category = ServiceCall.Instance.SiteService.GetCategory(base.SiteId, categoryId); //获取模板视图下拉项 StringBuilder sb2 = new StringBuilder(); //模板目录 DirectoryInfo dir = new DirectoryInfo( String.Format("{0}templates/{1}", AppDomain.CurrentDomain.BaseDirectory, Settings.TPL_MultMode ? "" : base.CurrentSite.Tpl + "/" )); EachClass.EachTemplatePage( dir, sb2, TemplatePageType.Custom, TemplatePageType.Archive ); tpls = sb2.ToString(); sb2.Remove(0, sb2.Length); //获取该模块栏目JSON数据 //categoryJSON = CmsLogic.Category.GetJson(m.ID); ServiceCall.Instance.SiteService.HandleCategoryTree(this.SiteId, 1, (_category, level) => { sb2.Append("<option value=\"").Append(_category.Id.ToString()).Append("\""); if (_category.Id == category.Id) { sb2.Append(" selected=\"selected\""); } sb2.Append(">"); for (int i = 0; i < level; i++) { sb2.Append(CmsCharMap.Dot); } sb2.Append(_category.Name).Append("</option>"); }); nodesHtml = sb2.ToString(); //============= 拼接模块的属性值 ==============// /* * //========= 统计tab =============// * sb.Append("<ul class=\"dataExtend_tabs\">"); * foreach (DataExtend e in extends) * { * sb.Append("<li><span>").Append(e.Name).Append("</span></li>"); * } * sb.Append("</ul>"); * * extendItemsHtml = sb.ToString(); * * sb.Capacity = 1000; * sb.Remove(0, sb.Length); */ //======== 生成值 =============// StringBuilder sb = new StringBuilder(500); sb.Append("<div class=\"dataextend_item\">"); PropertyUI uiType; foreach (IExtendField p in category.ExtendFields) { uiType = (PropertyUI)int.Parse(p.Type); sb.Append("<dl><dt>").Append(p.Name).Append(":</dt><dd>"); switch (uiType) { case PropertyUI.Text: sb.Append("<input type=\"text\" class=\"tb_normal\" field=\"extend_").Append(p.Id.ToString()) .Append("\" value=\"").Append(p.DefaultValue).Append("\"/>"); break; case PropertyUI.MultLine: sb.Append("<textarea class=\"tb_normal\" field=\"extend_").Append(p.Id.ToString()) .Append("\">").Append(p.DefaultValue).Append("</textarea>"); break; case PropertyUI.Integer: sb.Append("<input type=\"text\" class=\"tb_normal ui-validate\" isnum=\"true\" field=\"extend_").Append(p.Id.ToString()) .Append("\" value=\"").Append(p.DefaultValue).Append("\"/>"); break; case PropertyUI.Upload: sb.Append("<input type=\"text upload_value\" class=\"tb_normal\" id=\"extend_").Append(p.Id.ToString()) .Append("\" field=\"extend_").Append(p.Id.ToString()) .Append("\" value=\"").Append(p.DefaultValue).Append("\"/> <span id=\"upload_") .Append(p.Id.ToString()).Append("\">选择文件</span>") .Append("<script type=\"text/javascript\">cms.propertyUpload(") .Append("'upload_").Append(p.Id.ToString()).Append("','extend_").Append(p.Id.ToString()).Append("');</script>"); break; } sb.Append("</dd></dl>"); /*<p><span class="txt">标签:</span> * <span class="input"><input type="text" name="tags" size="30"/></span> * <span class="msg"></span></p> */ } sb.Append("</div>"); extendFieldsHtml = sb.ToString(); // extendFieldsHtml = "<div style=\"color:red;padding:20px;\">所选栏目模块不包含任何自定义属性,如需添加请到模块管理-》属性设置</div>"; object json = new { Thumbnail = CmsVariables.FRAMEWORK_ARCHIVE_NoPhoto, Location = String.Empty }; data = new { extendFieldsHtml = extendFieldsHtml, extendItemsHtml = extendItemsHtml, thumbPrefix = CmsVariables.Archive_ThumbPrefix, nodes = nodesHtml, url = Request.Url.PathAndQuery, tpls = tpls, json = JsonSerializer.Serialize(json) }; base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.Archive_Create), data); }
public void Dashboard_GET() { base.RenderTemplate( ResourceMap.GetPageContent(ManagementPage.Plugin_Dashboard), null); }
/// <summary> /// 供首页调用 /// </summary> public void MiniApps_Get() { base.RenderTemplate( ResourceMap.GetPageContent(ManagementPage.Plugin_MiniApps), null); }
/// <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> <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 }); }
/// <summary> /// 更新文档 /// </summary> public void Update_GET() { object data; int archiveId = int.Parse(base.Request["archive.id"]); string tpls, nodesHtml, //栏目JSON extendFieldsHtml = "", //属性Html extendItemsHtml = ""; Module module; int siteId = this.CurrentSite.SiteId; ArchiveDto archive = ServiceCall.Instance.ArchiveService.GetArchiveById(siteId, archiveId); int categoryId = archive.Category.Id; #region 旧的 //获取上次发布的栏目 //Category category = CmsLogic.Category.Get(a => a.ID == archive.Category.ID); //if (base.CompareSite(category.SiteId)) return; //bool categoryIsNull = category == null; /* * if (!categoryIsNull) * { * * module = CmsLogic.Module.GetModule(category.ModuleID); * * //============= 拼接模块的属性值 ==============// * * StringBuilder sb = new StringBuilder(50); * IList<DataExtend> extends = null;// new List<DataExtend>(CmsLogic.DataExtend.GetExtendsByModule(module)); * * if (extends.Count > 0) * { * * //========= 统计tab =============// * sb.Append("<ul class=\"dataExtend_tabs\">"); * foreach (DataExtend e in extends) * { * sb.Append("<li><span>").Append(e.Name).Append("</span></li>"); * } * sb.Append("</ul>"); * * extendItemsHtml = sb.ToString(); * * sb.Capacity = 1000; * sb.Remove(0, sb.Length); * * * //======== 生成值 =============// * * IEnumerable<DataExtendAttr> attrs; * IDictionary<string, string> extendFields = null;// CmsLogic.DataExtend.GetExtendFiledDictionary(archive.ID); * string attrValue; * * foreach (DataExtend e in extends) * { * sb.Append("<div class=\"dataextend_item\">"); * * attrs = CmsLogic.DataExtend.GetExtendAttrs(e.ID); * * foreach (DataExtendAttr p in attrs) * { * * * attrValue = extendFields.ContainsKey(p.AttrName) ? extendFields[p.AttrName] : p.AttrVal; * * sb.Append("<dl><dt>").Append(p.AttrName).Append(":</dt><dd>"); * * if (p.AttrType == ((int)PropertyUI.Text).ToString()) * { * sb.Append("<input type=\"text\" class=\"tb_normal\" name=\"extend_").Append(p.ID.ToString()) * .Append("\" value=\"").Append(attrValue).Append("\"/>"); * } * else if (p.AttrType == ((int)PropertyUI.Upload).ToString()) * { * sb.Append("<input type=\"text\" disabled=\"disabled\" class=\"tb_normal\" id=\"extend_").Append(p.ID.ToString()).Append("\" name=\"extend_").Append(p.ID.ToString()) * .Append("\" value=\"").Append(attrValue).Append("\"/><span id=\"upload_") * .Append(p.ID.ToString()).Append("\">选择文件</span>") * .Append("<script type=\"text/javascript\">cms.propertyUpload(") * .Append("'upload_").Append(p.ID.ToString()).Append("','extend_").Append(p.ID.ToString()).Append("');</script>"); * } * * * sb.Append("</dd></dl>"); * * //<p><span class="txt">标签:</span> * // <span class="input"><input type="text" name="tags" size="30"/></span> * // <span class="msg"></span></p> * * } * * * sb.Append("</div>"); * } * * extendFieldsHtml = sb.ToString(); * } * * // extendFieldsHtml = "<div style=\"color:red;padding:20px;\">所选栏目模块不包含任何自定义属性,如需添加请到模块管理-》属性设置</div>"; * * } */ #endregion //============= 拼接模块的属性值 ==============// StringBuilder sb = new StringBuilder(50); string attrValue; IExtendField field; sb.Append("<div class=\"dataextend_item\">"); PropertyUI uiType; foreach (IExtendValue extValue in archive.ExtendValues) { field = extValue.Field; uiType = (PropertyUI)int.Parse(field.Type); attrValue = (extValue.Value ?? field.DefaultValue).Replace("<br />", "\n"); sb.Append("<dl><dt>").Append(field.Name).Append(":</dt><dd>"); switch (uiType) { case PropertyUI.Text: sb.Append("<input type=\"text\" class=\"tb_normal\" field=\"extend_").Append(field.Id.ToString()) .Append("\" value=\"").Append(attrValue).Append("\"/>"); break; case PropertyUI.MultLine: sb.Append("<textarea class=\"tb_normal\" field=\"extend_").Append(field.Id.ToString()) .Append("\">").Append(attrValue).Append("</textarea>"); break; case PropertyUI.Integer: sb.Append("<input type=\"text\" class=\"tb_normal ui-validate\" isnum=\"true\" field=\"extend_") .Append(field.Id.ToString()).Append("\" value=\"").Append(attrValue).Append("\"/>"); break; case PropertyUI.Upload: // sb.Append("<input type=\"text\" disabled=\"disabled\" class=\"tb_normal\" id=\"extend_").Append(field.ID.ToString()) sb.Append("<input type=\"text\" class=\"tb_normal upload_value\" id=\"extend_").Append(field.Id.ToString()) .Append("\" field=\"extend_").Append(field.Id.ToString()) .Append("\" value=\"").Append(attrValue).Append("\"/> <span id=\"upload_") .Append(field.Id.ToString()).Append("\">选择文件</span>") .Append("<script type=\"text/javascript\">cms.propertyUpload(") .Append("'upload_").Append(field.Id.ToString()).Append("','extend_").Append(field.Id.ToString()) .Append("');</script>"); break; } sb.Append("</dd></dl>"); } sb.Append("</div>"); extendFieldsHtml = sb.ToString(); //获取模板视图下拉项 StringBuilder sb2 = new StringBuilder(); //模板目录 DirectoryInfo dir = new DirectoryInfo( String.Format("{0}templates/{1}", AppDomain.CurrentDomain.BaseDirectory, Settings.TPL_MultMode ? "" : base.CurrentSite.Tpl + "/" )); EachClass.EachTemplatePage(dir, sb2, TemplatePageType.Custom, TemplatePageType.Archive ); tpls = sb2.ToString(); sb2.Remove(0, sb2.Length); ServiceCall.Instance.SiteService.HandleCategoryTree(this.SiteId, 1, (_category, level) => { sb2.Append("<option value=\"").Append(_category.Id.ToString()).Append("\""); //if (_category.ModuleID != category.ModuleID) //{ // sb2.Append(" disabled=\"disabled\" class=\"disabled\""); //} sb2.Append(_category.Id == categoryId ? " selected=\"selected\"" : "").Append(">"); for (int i = 0; i < level; i++) { sb2.Append(CmsCharMap.Dot); } sb2.Append(_category.Name).Append("</option>"); }); nodesHtml = sb2.ToString(); //标签 Dictionary <string, bool> flags = ArchiveFlag.GetFlagsDict(archive.Flags); string thumbnail = !String.IsNullOrEmpty(archive.Thumbnail) ? archive.Thumbnail : "/" + CmsVariables.FRAMEWORK_ARCHIVE_NoPhoto; object json = new { IsSpecial = flags.ContainsKey(ArchiveFlag.GetInternalFlagKey(BuiltInArchiveFlags.IsSpecial)) && flags[ArchiveFlag.GetInternalFlagKey(BuiltInArchiveFlags.IsSpecial)], IsSystem = flags.ContainsKey(ArchiveFlag.GetInternalFlagKey(BuiltInArchiveFlags.IsSystem)) && flags[ArchiveFlag.GetInternalFlagKey(BuiltInArchiveFlags.IsSystem)], IsNotVisible = !(flags.ContainsKey(ArchiveFlag.GetInternalFlagKey(BuiltInArchiveFlags.Visible)) && flags[ArchiveFlag.GetInternalFlagKey(BuiltInArchiveFlags.Visible)]), AsPage = flags.ContainsKey(ArchiveFlag.GetInternalFlagKey(BuiltInArchiveFlags.AsPage)) && flags[ArchiveFlag.GetInternalFlagKey(BuiltInArchiveFlags.AsPage)], Id = archive.Id, Title = archive.Title, SmallTitle = archive.SmallTitle, Alias = archive.Alias ?? String.Empty, Tags = archive.Tags, Source = archive.Source, Outline = archive.Outline, Content = archive.Content, TemplatePath = archive.IsSelfTemplate && !String.IsNullOrEmpty(archive.TemplatePath) ? archive.TemplatePath : String.Empty, Thumbnail = thumbnail, Location = archive.Location }; data = new { extendFieldsHtml = extendFieldsHtml, extendItemsHtml = extendItemsHtml, thumbPrefix = CmsVariables.Archive_ThumbPrefix, nodes = nodesHtml, url = Request.Url.PathAndQuery, tpls = tpls, json = JsonSerializer.Serialize(json) }; base.RenderTemplate( BasePage.CompressHtml(ResourceMap.GetPageContent(ManagementPage.Archive_Update)), data); }