public moregadgets() { if (this.userid < 1) { HttpContext.Current.Response.Redirect(forumurlnopage + "/login.aspx?reurl=space"); return; } GetOnlineUserInfo(); #if NET1 TabInfoCollection tc = Spaces.GetTabInfoCollectionByUserID(this.userid); #else Discuz.Common.Generic.List <TabInfo> tc = Spaces.GetTabInfoCollectionByUserID(this.userid); #endif currentUserSpaceConfig = Spaces.GetSpaceConfigByUserId(this.userid); int defaultTabId = Spaces.GetDefaultTabId(currentUserSpaceConfig, tc); string html = StaticFileProvider.GetContent(templatePath + "moregadgets.htm"); TemplateEngine te = new TemplateEngine(); te.Init(html, templatePath); te.Put("tabid", defaultTabId); te.Put("forumpath", BaseConfigs.GetForumPath); te.Put("config", currentUserSpaceConfig); te.Put("username", this.olusername); te.Put("userid", this.oluserid); te.Put("userkey", oluserkey); te.Put("forumurlnopage", forumurlnopage); double processtime = new TimeSpan(DateTime.Now.Ticks).Subtract(begints).Duration().TotalSeconds; te.Put("processtime", processtime); html = te.MergeTemplate(); HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Write(html); HttpContext.Current.Response.End(); }
public override string OnMouduleLoad(string content) { UserPrefsSaved userprefs = new UserPrefsSaved(this.Module.UserPref); int topiccount = Utils.StrToInt(userprefs.GetValueByName("topiccount"), 10); bool iselite = Utils.StrToInt(userprefs.GetValueByName("iselite"), 0) > 0; DataTable topics = Focuses.GetTopicList(topiccount, 0, 0, "", TopicTimeType.All, TopicOrderType.ID, iselite, 30, false); StringBuilder sb = new StringBuilder(StaticFileProvider.GetContent(jsFile).Replace("${forumpath}", BaseConfigs.GetForumPath).Replace("${themepath}", this.SpaceConfig.ThemePath)); GeneralConfigInfo config = GeneralConfigs.GetConfig(); sb.Append("\r\n<div class='dnt-theme'><ul>\r\n"); foreach (DataRow r in topics.Rows) { string img = string.Format("<img onerror='this.src=\"{0}space/modules/builtin/forum/images/item_extend.gif\";' src='{0}space/skins/themes/{1}/images/item_extend.gif' id='imgButton_{2}' onclick='showtree({2},10);' title='展开' alt='展开' style='cursor:pointer;'/>", BaseConfigs.GetForumPath, this.SpaceConfig.ThemePath, r["tid"]); if (Utils.StrToInt(r["replies"], 0) < 1) { img = string.Format("<img onerror='this.src=\"{0}space/modules/builtin/forum/images/item_collapsed.gif\";' src='{0}space/skins/themes/{1}/images/item_collapsed.gif' />", BaseConfigs.GetForumPath, this.SpaceConfig.ThemePath); } if (config.Aspxrewrite == 1) { sb.AppendFormat("<li>{0}<a href='" + BaseConfigs.GetForumPath + "showtopic-{1}.aspx' title='{2}' target='_blank'>{2}</a></li>", img, r["tid"], r["title"]); } else { sb.AppendFormat("<li>{0}<a href='" + BaseConfigs.GetForumPath + "showtopic.aspx?topicid={1}' title='{2}' target='_blank'>{2}</a></li>", img, r["tid"], r["title"]); } sb.AppendFormat("<div id='divTopic{0}'></div>", r["tid"]); } sb.Append("\r\n</ul></div>\r\n"); content = sb.ToString(); return(base.OnMouduleLoad(content)); }
/// <summary> /// 验证模块类型 /// </summary> /// <param name="url">模块Xml文件地址</param> /// <returns>返回模块类型</returns> public static ModuleType ValidateModuleType(string url) { try { bool local = false; string content = string.Empty; XmlDocument xml = new XmlDocument(); if (!url.StartsWith("http://")) //相对地址,取本地物理文件内容 { string filename = Utils.GetMapPath("modules/" + url); content = StaticFileProvider.GetContent(filename); local = true; xml.LoadXml(content); } else { string err = ""; HttpWebResponse response = Globals.GetPageResponse(url, out err); if (response == null) { return(ModuleType.Error); } //Encoding encoding = Encoding.GetEncoding(enc); Stream instream = response.GetResponseStream(); xml.Load(instream); //content = Globals.GetSourceTextByUrl(url); } if (xml.DocumentElement.Name.ToLower() == "rss") { return(ModuleType.Rss); } if (local) { return(ModuleType.Local); } else { return(ModuleType.Remote); } } catch { return(ModuleType.Error); } }
public override string OnMouduleLoad(string content) { IsScalableAndEditable(); this.ModulePref.Title = this.modulename; int pagesize = this.Module.Val; SpacePostInfo[] spacepostinfos = BlogProvider.GetSpacepostsInfo(DbProvider.GetInstance().SpacePostsList(pagesize, 1, this.SpaceConfig.UserID, 1)); string template = StaticFileProvider.GetContent(templatefile); string separator = "/*Discuz Separator*/"; string[] temp = Utils.SplitString(template, separator); if (temp.Length < 2) { return(content); } string itemtemplate = temp[1].Trim(); StringBuilder sbitemlist = new StringBuilder(); if (spacepostinfos != null) { foreach (SpacePostInfo sp in spacepostinfos) { string tmp = itemtemplate; tmp = tmp.Replace("{postid}", sp.Postid.ToString()); tmp = tmp.Replace("{spaceid}", this.SpaceConfig.SpaceID.ToString()); tmp = tmp.Replace("{title}", sp.Title); tmp = tmp.Replace("{forumpath}", BaseConfigs.GetForumPath); Regex r = new Regex(@"{title,(\d+)}"); foreach (Match m in r.Matches(tmp)) { if (m.Success) { tmp = tmp.Replace(m.Value, Utils.GetSubString(sp.Title, TypeConverter.StrToInt(m.Groups[1].Value, 20), "..")); } } sbitemlist.Append(tmp); } } content = temp[0].Replace("{ItemList}", sbitemlist.ToString()); return(base.OnMouduleLoad(content)); //output.Append("<div id=\"ajaxtopnewpost\">正在加载数据...</div>\r\n"); //output.Append("<script language=\"javascript1.2\" type=\"text/javascript\">AjaxProxyUrl = new String(\"manage/ajax.aspx\"); \r\n AjaxHelper.Updater('usercontrols/ajaxtopnewpost.ascx','ajaxtopnewpost','load=true&hidetitle=1&spaceid="+this.SpaceConfig.SpaceID+"&postnumber="+this.Module.Val+"');</script>\r\n"); //return output.ToString(); }
public override string OnMouduleLoad(string content) { UserPrefsSaved ups = new UserPrefsSaved(this.Module.UserPref); string savedContent = ups.GetValueByName("content"); savedContent = Utils.HtmlEncode(ForumUtils.BanWordFilter(savedContent)); content = StaticFileProvider.GetContent(filename); if (this.UserID == this.Module.Uid) { content = content.Replace("${ContentArea}", string.Format("<textarea class=\"notepadcontent\" style=\"background-color: {1}; color: {2};\" id=\"content__MODULE_ID__\" onkeyup=\"setRows__MODULE_ID__();\" onblur=\"saveResult__MODULE_ID__();\">{0}</textarea>", savedContent, ups.GetValueByName("bgcolor") == string.Empty ? "#ffffcc" : ups.GetValueByName("bgcolor"), ups.GetValueByName("txtcolor"))); } else { savedContent = savedContent.Replace("\n", "<br />"); content = content.Replace("${ContentArea}", string.Format("<div class=\"notepadcontent\" style=\"background-color: {1}; color: {2};padding: 8px;\">{0}</div>", savedContent, ups.GetValueByName("bgcolor") == string.Empty ? "#ffffcc" : ups.GetValueByName("bgcolor"), ups.GetValueByName("txtcolor"))); } return(base.OnMouduleLoad(content)); }
/// <summary> /// 自定义模块加载时的行为 /// </summary> /// <param name="content"></param> /// <returns></returns> public override string OnMouduleLoad(string content) { content = StaticFileProvider.GetContent(filename); string showborder = "0"; if (UserID == this.Module.Uid) { showborder = "1"; } else { UserPrefsSaved ups = new UserPrefsSaved(this.Module.UserPref); showborder = ups.GetValueByName("showborder"); } content = content.Replace("{showborder}", showborder == string.Empty ? "1" : showborder); content = content.Replace("{customizepanelcontent}", Spaces.GetCustomizePanelContent(this.ModuleID, this.Module.Uid)); content = content.Replace("{themepath}", this.SpaceConfig.ThemePath); content = content.Replace("{forumpath}", BaseConfigs.GetForumPath); return(base.OnMouduleLoad(content)); }
/// <summary> /// 自定义模块加载时的行为 /// </summary> /// <param name="content"></param> /// <returns></returns> public override string OnMouduleLoad(string content) { if (AlbumPluginProvider.GetInstance() == null || GeneralConfigs.GetConfig().Enablealbum != 1) { return("相册插件未安装,模块暂不可用"); } UserPrefsSaved userprefs = new UserPrefsSaved(this.Module.UserPref); int photocount = Utils.StrToInt(userprefs.GetValueByName("photocount"), 10); int albumid = Utils.StrToInt(userprefs.GetValueByName("albumid"), 0); List <PhotoInfo> photolist = DTOProvider.GetPhotoListByUserId(this.Module.Uid, albumid, photocount); StringBuilder sb = new StringBuilder(StaticFileProvider.GetContent(jsFile)); StringBuilder sbImgList = new StringBuilder(); for (int i = 0; i < photolist.Count; i++) { sbImgList.AppendFormat("data[\"-1_{0}\"] = \"img: {1}; url: {2}; target: _blank; \"\r\n", i + 1, BaseConfigs.GetForumPath + Discuz.Album.Globals.GetSquareImage(photolist[i].Filename), BaseConfigs.GetForumPath + "showalbumlist.aspx?uid=" + this.Module.Uid); } sb.Replace("{$templatepath}", BaseConfigs.GetForumPath + "templates/" + Templates.GetTemplateItem(GeneralConfigs.GetConfig().Templateid).Directory); sb.Replace("{$photolist}", sbImgList.ToString()); content = sb.ToString(); return(base.OnMouduleLoad(content)); }
public string ParseSubTemplate() { if (this._templateRoot == string.Empty) { return(string.Empty); } Regex r = new Regex(@"\#parse( )*\(([\s\S]+?)\)"); MatchCollection ms = r.Matches(_template); for (int i = 0; i < ms.Count; i++) { string codeBlock = ms[i].Groups[0].Value; string filename = this._templateRoot + ParseValue(ms[i].Groups[2].Value); string content = StaticFileProvider.GetContent(filename); TemplateEngine te = new TemplateEngine(); te.Init(content, this._templateRoot); te._context = this._context; content = te.MergeTemplate(); this._template = this._template.Replace(codeBlock, content); } return(string.Empty); }
/// <summary> /// 输出页面 /// </summary> private void OutputSpacePage() { string root = BaseConfigs.GetForumPath; string user = DNTRequest.GetQueryString("user"); int currentuid = DNTRequest.GetQueryInt("uid", -1); if (currentuid < 1) { if (user != string.Empty) { currentuid = Users.GetUserIdByRewriteName(user); } if (currentuid < 1) { currentuid = this.userid; } } if (userid > 0) { isLogged = true; if (userid == currentuid) { spaceEditable = true; } } if (currentuid < 1 && this.userid < 1) { HttpContext.Current.Response.Redirect(forumurlnopage + "login.aspx?reurl=space"); } else//对用户空间访问量加1 { Data.DbProvider.GetInstance().CountUserSpaceVisitedTimesByUserID(currentuid); } int currenttabid = DNTRequest.GetQueryInt("tab", 0); spaceConfig = Spaces.GetSpaceConfigByUserId(currentuid); ShortUserInfo sui = Users.GetShortUserInfo(currentuid); if (spaceConfig == null || sui == null || spaceConfig.Status != SpaceStatusType.Natural || sui.Spaceid <= 0) { if (userid == currentuid && userid > 0) { HttpContext.Current.Response.Redirect(forumurlnopage + "spaceregister.aspx"); } else { HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Write("<script>alert('当前用户未开通" + spacename + "!');document.location = '" + forumurl + "';</script>"); HttpContext.Current.Response.End(); } return; } Discuz.Common.Generic.List <TabInfo> tc = Spaces.GetTabInfoCollectionByUserID(currentuid); if (tc == null) { tc = new Discuz.Common.Generic.List <TabInfo>(); } int defaulttabid = 0; if (tc.Count > 0) { //此处修改为始终显示第一个tab //defaulttabid = tc[tc.Count - 1].TabID; defaulttabid = tc[0].TabID; spaceConfig.DefaultTab = defaulttabid; } StringBuilder tabsHtml = new StringBuilder(); TabInfo currentTab = null; foreach (TabInfo tab in tc) { if (tab.TabID == (currenttabid == 0 ? spaceConfig.DefaultTab : currenttabid)) { defaulttabid = tab.TabID; break; } } foreach (TabInfo tab in tc) { tabsHtml.Append("<li class=\"tab unselectedtab_l\"> </li>"); if (tab.TabID == defaulttabid) { currentTab = tab; string tabformat = ""; if (spaceEditable) { tabformat += @"<li id=""tab{0}_edit"" class=""tab edittab selectedtab"" style=""display:none"" onclick=""_gel('tab{0}_title').focus();"" onmouseover=""_disable_onblur=true;"" onmouseout=""_disable_onblur=false;""><script>_disable_onblur = false;</script><form id=""tab{0}_rename_form"" name=""tab{0}_rename_form"" onsubmit=""return _renameTab();""><span><input id=""tab{0}_title"" name=""tab_title"" value=""{1}"" onblur=""_disable_onblur ? void(0) : _renameTab();"">"; if (tc.Count > 1) { tabformat += @"<a href=""#"" onclick=""if (confirm('您确定要删除 "TAB_NAME" 页面及其所有内容吗?'.replace('TAB_NAME', _editedTabName()))) {{_dlsetp('dt={0}');}}return false;""><img src=""" + BaseConfigs.GetForumPath + "space/images/clear.gif\" border=\"0\" /></a>"; } tabformat += "</span></form></li>"; } tabformat += @"<li id=""tab{0}_view"" class=""tab selectedtab"" style=""display:block"" "; if (spaceEditable) { tabformat += @"onclick=""_editTab('{0}')"" title=""单击修改页面名称"""; } tabformat += @"><span id=""tab{0}_view_title"">{1}</span></li>"; tabsHtml.AppendFormat(tabformat, tab.TabID, tab.TabName); } else { string tabformat = "<li id=\"tab{0}_view\" class=\"tab unselectedtab\" style=\"display:block\" onclick=\""; tabformat += "document.location=ds_i()+'tab={0}'"; tabformat += "\"><span id=\"tab{0}_view_title\">{1}</span></li>"; tabsHtml.AppendFormat(/*"<li id=\"tab{0}_view\" class=\"tab unselectedtab\" style=\"display:block\" onclick=\"_dlsetp('ct={0}')\"><span id=\"tab{0}_view_title\">{1}</span></li>"*/ tabformat, tab.TabID, tab.TabName); } tabsHtml.Append("<li class=\"tab unselectedtab_r\"> </li>"); } // for test use the specific template string template = ""; string tempPath = ""; if (currentTab != null && currentTab.Template != string.Empty) { tempPath = Utils.GetMapPath(root + "/space/skins/templates/" + currentTab.Template + ""); } if (currentTab == null || currentTab.Template == string.Empty || !File.Exists(tempPath)) { template = "<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" align=\"center\" id=\"t_1\"><tr><td style=\"width: 67%;\" id=\"col_1\" class=\"col\">{pane1}</td></tr></table><script>alert('您选择的板式不存在或者已经被删除,请重新选择板式。');</script>"; } else { template = StaticFileProvider.GetContent(tempPath); } Discuz.Common.Generic.List <ModuleInfo> mc = Spaces.GetModuleCollectionByTabId(defaulttabid, currentuid); template = ParseModules(mc, template); Hashtable ht = new Hashtable(); ht.Add("modules", template); ht.Add("islogged", isLogged); ht.Add("editable", spaceEditable); ht.Add("userkey", this.userkey); ht.Add("username", this.username); ht.Add("userid", this.userid); ht.Add("config", spaceConfig); ht.Add("tabs", tabsHtml.ToString()); if (currentTab != null) { ht.Add("currenttab", currentTab); } ht.Add("tabid", defaulttabid); ht.Add("tabcount", tc.Count); ht.Add("can_be_added", tc.Count < 5 && spaceEditable); ht.Add("footer", SpaceActiveConfigs.GetConfig().SpaceFooterInfo); ht.Add("forumpath", BaseConfigs.GetForumPath); //在模板中设置相册名称变量 ht.Add("spacename", spacename); ht.Add("albumname", albumname); if (configspaceurl.ToLower().IndexOf("http://") < 0) { configspaceurl = forumurlnopage + configspaceurl; } ht.Add("configspaceurl", configspaceurl); if (configspaceurl.ToLower().IndexOf("http://") < 0) { configspaceurlnopage = forumurlnopage; } else { configspaceurlnopage = configspaceurl.Substring(0, configspaceurl.LastIndexOf('/')) + "/"; } ht.Add("configspaceurlnopage", configspaceurlnopage); //获取配置文件中的space空间路径 string spaceurl = GeneralConfigs.GetConfig().Spaceurl; if (spaceurl.ToLower().IndexOf("http://") == 0) { spaceurl = spaceurl.Substring(0, spaceurl.LastIndexOf('/')) + "/space/"; } else { //从当前的URL请求中获取相关站点及(虚拟)路径信息 spaceurl = HttpContext.Current.Request.Url.ToString(); spaceurl = spaceurl.Substring(0, spaceurl.LastIndexOf('/')) + "/"; } if (config.Enablespacerewrite > 0 && spaceConfig.Rewritename != string.Empty) { spaceurl += spaceConfig.Rewritename; } else { spaceurl += "?uid=" + spaceConfig.UserID; } ht.Add("spaceurl", spaceurl); if (configalbumurl.ToLower().IndexOf("http://") < 0) { configalbumurl = forumurlnopage + configalbumurl; } ht.Add("configalbumurl", configalbumurl); ht.Add("forumurl", forumurl); ht.Add("forumurlnopage", forumurlnopage); ht.Add("editbar", EditbarTemplate.Instance.GetHtml(ht)); string content = MainTemplate.Instance.GetHtml(ht); HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Write(content.Replace("IG_", "DS_").Replace("ig_", "dnt_")); HttpContext.Current.Response.End(); }
public override string OnEditBoxLoad(string editbox) { this.ModulePref.Title = this.modulename; return(StaticFileProvider.GetContent(Utils.GetMapPath(filename)).Replace("m___MODULE_ID___val", "m___MODULE_ID___val\" value=\"" + this.Module.Val + "\"")); }
public override string OnMouduleLoad(string content) { UserPrefsSaved userprefs = new UserPrefsSaved(this.Module.UserPref); string value = userprefs.GetValueByName("showaddons"); string vertical = userprefs.GetValueByName("isvertical"); string[] score = Scoresets.GetValidScoreName(); UserInfo ui = Users.GetUserInfo(this.Module.Uid); UserGroupInfo group = UserGroups.GetUserGroupInfo(ui.Groupid); content = StaticFileProvider.GetContent(contentTemplate); if (vertical == "1") { content = Regex.Replace(content, @"<div id=""UserInfo""([\s\S]+?)</div>\r\n</div>", ""); } else { content = Regex.Replace(content, @"<div id=""UserInfo2""([\s\S]+?)</div>\r\n</div>", ""); } content = content.Replace("${username}", ui.Username); string avatar = string.Empty; //if (ui.Avatar != string.Empty) //{ // if (Regex.IsMatch(ui.Avatar, @"^(http://)?([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?")) // avatar = string.Format("<img src='{0}'", ui.Avatar); // else if (ui.Avatar.StartsWith("avatars")) // avatar = string.Format("<img src='{0}'", BaseConfigs.GetForumPath + ui.Avatar.Replace('\\','/')); // else // avatar = string.Format("<img src='{0}'", ui.Avatar.Replace('\\', '/')); // if (ui.Avatarwidth > 0) // avatar += string.Format(" width='{0}' height='{1}' ", ui.Avatarwidth, ui.Avatarheight); // avatar += "/>"; //} content = content.Replace("${useravatar}", avatar); content = content.Replace("${userid}", ui.Uid.ToString()); content = content.Replace("${nickname}", ui.Nickname); content = content.Replace("${usergroup}", group.Grouptitle); content = content.Replace("${usercredits}", ui.Credits.ToString()); content = content.Replace("${forumpath}", BaseConfigs.GetForumPath); string addoninfo = string.Empty; if (value == "1") { if (score[1] != "") { addoninfo += string.Format("<li><span>{0}: </span>{1}</li>", score[1], ui.Extcredits1); } if (score[2] != "") { addoninfo += string.Format("<li><span>{0}: </span>{1}</li>", score[2], ui.Extcredits2); } if (score[3] != "") { addoninfo += string.Format("<li><span>{0}: </span>{1}</li>", score[3], ui.Extcredits3); } if (score[4] != "") { addoninfo += string.Format("<li><span>{0}: </span>{1}</li>", score[4], ui.Extcredits4); } if (score[5] != "") { addoninfo += string.Format("<li><span>{0}: </span>{1}</li>", score[5], ui.Extcredits5); } if (score[6] != "") { addoninfo += string.Format("<li><span>{0}: </span>{1}</li>", score[6], ui.Extcredits6); } if (score[7] != "") { addoninfo += string.Format("<li><span>{0}: </span>{1}</li>", score[7], ui.Extcredits7); } if (score[8] != "") { addoninfo += string.Format("<li><span>{0}: </span>{1}</li>", score[8], ui.Extcredits8); } } content = content.Replace("${addoninfo}", addoninfo); return(base.OnMouduleLoad(content)); }