public SpaceBasePage() { OnlineUserInfo oluserinfo = OnlineUsers.UpdateInfo(config.Passwordkey, config.Onlinetimeout); olid = oluserinfo.Olid; userid = oluserinfo.Userid; username = oluserinfo.Username; if (DNTRequest.GetInt("postid", 0) > 0) { SpacePostInfo spacePostInfo = BlogProvider.GetSpacepostsInfo(Space.Data.DbProvider.GetInstance().GetSpacePost(DNTRequest.GetInt("postid", 0))); spaceuid = spacePostInfo != null? spacePostInfo.Uid:0; } if (spaceuid > 0) { spaceconfiginfo = BlogProvider.GetSpaceConfigInfo(spaceuid); spaceid = spaceconfiginfo.SpaceID; } else { if (spaceid > 0) { spaceuid = BlogProvider.GetUidBySpaceid(spaceid.ToString()); spaceconfiginfo = BlogProvider.GetSpaceConfigInfo(spaceuid); } } if (spaceconfiginfo == null) { spaceconfiginfo = new SpaceConfigInfo(); spaceconfiginfo.Status = SpaceStatusType.AdminClose; } if (spaceconfiginfo.Status != SpaceStatusType.Natural) { Context.Response.Redirect("index.aspx"); } spaceurl = Utils.GetRootUrl(BaseConfigs.GetForumPath) + "space/"; if (SpaceActiveConfigs.GetConfig().Enablespacerewrite > 0 && spaceconfiginfo.Rewritename != string.Empty) { spaceurl += spaceconfiginfo.Rewritename; } else { spaceurl += "?uid=" + spaceconfiginfo.UserID; } //去掉http地址中的文件名称 if (forumurl.ToLower().IndexOf("http://") == 0) { forumurlnopage = forumurl.Substring(0, forumurl.LastIndexOf('/')) + "/"; } else { forumurl = "../" + config.Forumurl; } }
private void SaveInfo_Click(object sender, EventArgs e) { #region 保存信息 if (this.CheckCookie()) { SpaceActiveConfigInfo __configinfo = SpaceActiveConfigs.GetConfig(); __configinfo.SpaceFooterInfo = spacefooterinfo.Text; __configinfo.Spacegreeting = greeting.Text; __configinfo.Enablespacerewrite = Utils.StrToInt(enablerewrite.SelectedValue, 0); SpaceActiveConfigs.SaveConfig(__configinfo); AdminVistLogs.InsertLog(this.userid, this.username, this.usergroupid, this.grouptitle, this.ip, "空间其它信息设置", ""); if (!Utils.IsNumeric(topictoblog.Text) || Convert.ToInt32(topictoblog.Text) > 10 || Convert.ToInt32(topictoblog.Text) < 0) { base.RegisterStartupScript("PAGE", "alert('自动加入日志数量取值必须在0~10之间');window.location='space_spacefooterinfo.aspx';"); return; } config.Topictoblog = Convert.ToInt32(topictoblog.Text); GeneralConfigs.Serialiaze(config, Server.MapPath("../../config/general.config")); base.RegisterStartupScript("PAGE", "window.location='space_spacefooterinfo.aspx';"); } #endregion }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { SpaceActiveConfigInfo __configinfo = SpaceActiveConfigs.GetConfig(); spacefooterinfo.Text = __configinfo.SpaceFooterInfo; greeting.Text = __configinfo.Spacegreeting; topictoblog.Text = config.Topictoblog.ToString(); enablerewrite.SelectedValue = __configinfo.Enablespacerewrite.ToString(); } }
private void Page_Load(object sender, System.EventArgs e) { spacehttplink = config.Spaceurl; if (spacehttplink.ToLower().IndexOf("http://") == 0) { spacehttplink = spacehttplink.Substring(0, spacehttplink.LastIndexOf('/')) + "/"; } else { spacehttplink = HttpContext.Current.Request.Url.ToString(); spacehttplink = spacehttplink.Substring(0, spacehttplink.LastIndexOf('/')) + "/"; } if (SpaceActiveConfigs.GetConfig().Enablespacerewrite > 0 && spaceconfiginfo.Rewritename != string.Empty) { spacehttplink += spaceconfiginfo.Rewritename; } else { spacehttplink += "?uid=" + spaceconfiginfo.UserID; } if (userid > 0) { isLogged = true; } if (spaceid > 0) { isshowuserpanel = base.IsHolder(); } List <TabInfo> tc = Spaces.GetTabInfoCollectionByUserID(spaceconfiginfo.UserID); if (tc == null) { tc = new List <TabInfo>(); } StringBuilder tabsHtml = new StringBuilder(); foreach (TabInfo tab in tc) { tabsHtml.Append("<li class=\"tab unselectedtab_l\"> </li>"); string tabformat = "<li id=\"tab{0}_view\" class=\"tab unselectedtab\" style=\"display:block\" onclick=\""; tabformat += "document.location='index.aspx'+ds_i()+'tab={0}&uid=" + spaceconfiginfo.UserID + "'"; tabformat += "\"><span id=\"tab{0}_view_title\">{1}</span></li>"; tabsHtml.AppendFormat(tabformat, tab.TabID, tab.TabName); tabsHtml.Append("<li class=\"tab unselectedtab_r\"> </li>"); } tabs = tabsHtml.ToString(); }
private void GetSpacePerm() { isactivespace = false; isallowapply = true; if (userinfo.Spaceid > 0) { isactivespace = true; } else { if (userinfo.Spaceid < 0) { isallowapply = false; } else { SpaceActiveConfigInfo spaceconfiginfo = SpaceActiveConfigs.GetConfig(); if (spaceconfiginfo.AllowPostcount == "1" || spaceconfiginfo.AllowDigestcount == "1" || spaceconfiginfo.AllowScore == "1" || spaceconfiginfo.AllowUsergroups == "1") { if (spaceconfiginfo.AllowPostcount == "1") { isallowapply = isallowapply && (Convert.ToInt32(spaceconfiginfo.Postcount) <= userinfo.Posts); } if (spaceconfiginfo.AllowDigestcount == "1") { isallowapply = isallowapply && (Convert.ToInt32(spaceconfiginfo.Digestcount) <= userinfo.Digestposts); } if (spaceconfiginfo.AllowScore == "1") { isallowapply = isallowapply && (Convert.ToInt32(spaceconfiginfo.Score) <= userinfo.Credits); } if (spaceconfiginfo.AllowUsergroups == "1") { isallowapply = isallowapply && (("," + spaceconfiginfo.Usergroups + ",").IndexOf("," + userinfo.Groupid + ",") != -1); } } else { isallowapply = false; } } } }
public SpacePage() { //去掉http地址中的文件名称 if (forumurl.ToLower().IndexOf("http://") == 0) { forumurlnopage = forumurl.Substring(0, forumurl.LastIndexOf('/')) + "/"; } else { forumurl = "../" + forumurl; } if (GeneralConfigs.GetConfig().Enablespace != 1) { HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Write("<script>alert('" + spacename + "功能已被关闭!');document.location = '" + forumurl + "';</script>"); HttpContext.Current.Response.End(); return; } userid = Utils.StrToInt(ForumUtils.GetCookie("userid"), -1); config = SpaceActiveConfigs.GetConfig(); OnlineUserInfo oluserinfo = OnlineUsers.UpdateInfo(GeneralConfigs.GetConfig().Passwordkey, GeneralConfigs.GetConfig().Onlinetimeout); olid = oluserinfo.Olid; userid = oluserinfo.Userid; username = oluserinfo.Username; password = oluserinfo.Password; if (password.Length > 16) { userkey = password.Substring(4, 8).Trim(); } else { userkey = ""; } if (!IsPostBack) { OutputSpacePage(); } }
protected override void ShowPage() { pagetitle = string.Format("激活{0}", config.Spacename); if (userid == -1) { AddErrLine("你尚未登录"); return; } UserInfo user = Users.GetUserInfo(userid); if (config.Enablespace != 1) { AddErrLine(string.Format("{0}功能已被关闭", config.Spacename)); return; } bool isactivespace = false; bool isallowapply = true; if (user.Spaceid > 0) { isactivespace = true; } else { if (user.Spaceid < 0) { isallowapply = false; } else { if (spaceactiveconfig.AllowPostcount == "1" || spaceactiveconfig.AllowDigestcount == "1" || spaceactiveconfig.AllowScore == "1" || spaceactiveconfig.AllowUsergroups == "1") { if (spaceactiveconfig.AllowPostcount == "1") { isallowapply = isallowapply && (Convert.ToInt32(spaceactiveconfig.Postcount) <= user.Posts); } if (spaceactiveconfig.AllowDigestcount == "1") { isallowapply = isallowapply && (Convert.ToInt32(spaceactiveconfig.Digestcount) <= user.Digestposts); } if (spaceactiveconfig.AllowScore == "1") { isallowapply = isallowapply && (Convert.ToInt32(spaceactiveconfig.Score) <= user.Credits); } if (spaceactiveconfig.AllowUsergroups == "1") { isallowapply = isallowapply && (("," + spaceactiveconfig.Usergroups + ",").IndexOf("," + user.Groupid + ",") != -1); } } else { isallowapply = false; } } } if (isactivespace) { AddErrLine("您已经申请过个人空间!"); return; } if (!isallowapply) { AddErrLine("您未被允许申请个人空间!"); return; } if (DNTRequest.IsPost()) { if (ForumUtils.IsCrossSitePost()) { AddErrLine("您的请求来路不正确,无法提交。如果您安装了某种默认屏蔽来路信息的个人防火墙软件(如 Norton Internet Security),请设置其不要禁止来路信息后再试。"); return; } if (DNTRequest.GetString("spacetitle").Length > 100) { AddErrLine("个人空间标题不得超过100个字符"); return; } if (DNTRequest.GetString("description").Length > 200) { AddErrLine("个人空间描述不得超过200个字符"); return; } if (DNTRequest.GetInt("bpp", 0) == 0) { AddErrLine("显示日志篇数必需是一个大于0的数字"); return; } if (page_err == 0) { DataRow dr = DbProvider.GetInstance().GetThemes(); spaceconfiginfo = new SpaceConfigInfo(); spaceconfiginfo.UserID = userid; spaceconfiginfo.Spacetitle = DNTRequest.GetHtmlEncodeString("spacetitle"); spaceconfiginfo.Description = DNTRequest.GetHtmlEncodeString("description"); spaceconfiginfo.BlogDispMode = DNTRequest.GetInt("blogdispmode", 0); spaceconfiginfo.Bpp = DNTRequest.GetInt("bpp", 0); spaceconfiginfo.Commentpref = DNTRequest.GetInt("commentpref", 0); spaceconfiginfo.MessagePref = DNTRequest.GetInt("messagepref", 0); spaceconfiginfo.UpdateDateTime = spaceconfiginfo.CreateDateTime = DateTime.Now; string rewritename = DNTRequest.GetFormString("rewritename").Trim(); if (rewritename != string.Empty) { if (Globals.CheckSpaceRewriteNameAvailable(rewritename) == 0) { spaceconfiginfo.Rewritename = rewritename; } else { AddErrLine("您输入的 个性域名 不可用或含有非法字符"); return; } } else { spaceconfiginfo.Rewritename = ""; } spaceconfiginfo.ThemeID = int.Parse(dr["themeid"].ToString()); spaceconfiginfo.ThemePath = dr["directory"].ToString(); spaceconfiginfo.PostCount = 0; spaceconfiginfo.CommentCount = 0; spaceconfiginfo.VisitedTimes = 0; spaceconfiginfo.DefaultTab = 0; string errorinfo = ""; int blogid = DbProvider.GetInstance().AddSpaceConfigData(spaceconfiginfo); Users.UpdateUserSpaceId(-blogid, userid); SpaceActiveConfigInfo _spaceconfiginfo = SpaceActiveConfigs.GetConfig(); if (_spaceconfiginfo.ActiveType == "0") { if (errorinfo == "") { SetUrl("index.aspx"); SetMetaRefresh(); SetShowBackLink(true); AddMsgLine("您的申请已经提交,请等待管理员开通您的个人空间"); } else { AddErrLine(errorinfo); return; } } else { Discuz.Data.DatabaseProvider.GetInstance().UpdateUserSpaceId(userid); int tabid = Spaces.GetNewTabId(userid); TabInfo tab = new TabInfo(); tab.TabID = tabid; tab.UserID = userid; tab.DisplayOrder = 0; tab.TabName = "首页"; tab.IconFile = ""; tab.Template = "template_25_75.htm"; Spaces.AddTab(tab); Spaces.AddLocalModule("builtin_calendarmodule.xml", userid, tabid, 1); Spaces.AddLocalModule("builtin_statisticmodule.xml", userid, tabid, 1); Spaces.AddLocalModule("builtin_postlistmodule.xml", userid, tabid, 2); if (SpaceActiveConfigs.GetConfig().Spacegreeting != string.Empty) { SpacePostInfo spacepostsinfo = new SpacePostInfo(); spacepostsinfo.Title = string.Format("欢迎使用 {0} 个人空间", config.Forumtitle); spacepostsinfo.Content = SpaceActiveConfigs.GetConfig().Spacegreeting; spacepostsinfo.Category = string.Empty; spacepostsinfo.PostStatus = 1; spacepostsinfo.CommentStatus = 0; spacepostsinfo.Postdatetime = DateTime.Now; spacepostsinfo.Author = username; spacepostsinfo.Uid = userid; spacepostsinfo.PostUpDateTime = DateTime.Now; spacepostsinfo.Commentcount = 0; DbProvider.GetInstance().AddSpacePost(spacepostsinfo); } ///添加最新主题到日志 List <TopicInfo> list = Topics.GetTopicsByUserId(userid, 1, config.Topictoblog, 0, 0); foreach (TopicInfo mytopic in list) { int pid = Posts.GetFirstPostId(mytopic.Tid); PostInfo post = Posts.GetPostInfo(mytopic.Tid, pid); if (post != null && post.Message.Trim() != string.Empty) { SpacePostInfo spacepost = new SpacePostInfo(); spacepost.Author = username; string content = Posts.GetPostMessageHTML(post, new AttachmentInfo[0]); spacepost.Category = ""; spacepost.Content = content; spacepost.Postdatetime = DateTime.Now; spacepost.PostStatus = 1; spacepost.PostUpDateTime = DateTime.Now; spacepost.Title = post.Title; spacepost.Uid = userid; DbProvider.GetInstance().AddSpacePost(spacepost); } } SetUrl("space/"); SetMetaRefresh(); SetShowBackLink(true); AddMsgLine("恭喜您,您的个人空间已经被开通"); } } } else { spaceconfiginfo = BlogProvider.GetSpaceConfigInfo(userid); } }
/// <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(); }