public ajaxviewuserpost() { if (postid == 0) { return; } else { __spacepostsinfo = BlogProvider.GetSpacepostsInfo(Space.Data.DbProvider.GetInstance().GetSpacePost(postid)); if (_userinfo != null && Forum.AdminGroups.GetAdminGroupInfo(_userinfo.Groupid) != null) { isAdmin = true; } if (__spacepostsinfo != null) { //当是发布状态或当前作者的日志时 if (__spacepostsinfo.PostStatus == 1 || __spacepostsinfo.Uid == userid) { categorylink = GetCategoryLink(__spacepostsinfo.Category); ForumUtils.WriteCookie("referer", string.Format("space/viewspacepost.aspx?postid={0}&spaceid={1}", postid, sid)); } else { errorinfo = "当前请求的内容无效!"; } } else { errorinfo = "请求的日志不存在"; } } }
private string ParseLinkTemplate(StringBuilder sbLinkTemplate, SpacePostInfo post, Dictionary <string, Dictionary <string, string> > categorys) { StringBuilder sbTemp = new StringBuilder(sbLinkTemplate.ToString()); sbTemp.Replace("{$Root}", configspaceurlnopage); sbTemp.Replace("{$PostId}", post.Postid.ToString()); sbTemp.Replace("{$SpaceId}", SpaceConfig.SpaceID.ToString()); sbTemp.Replace("{$Title}", post.Title); sbTemp.Replace("{$Views}", post.Views.ToString()); sbTemp.Replace("{$ComentCount}", post.Commentcount.ToString()); if (categorys != null && categorys.ContainsKey(post.Postid.ToString())) { StringBuilder sbCategory = new StringBuilder(); foreach (System.Collections.Generic.KeyValuePair <string, string> category in categorys[post.Postid.ToString()]) { sbCategory.Append(category.Value); sbCategory.Append(","); } if (sbCategory.Length > 0) { sbCategory.Length = sbCategory.Length - 1; } sbTemp.Replace("{$Category}", sbCategory.ToString()); } else { sbTemp.Replace("{$Category}", string.Empty); } return(sbTemp.ToString()); }
/// <summary> /// 获取空间日志 /// </summary> /// <param name="__idatareader"></param> /// <returns></returns> public static SpacePostInfo GetSpacepostsInfo(IDataReader idatareader) { if (idatareader == null) { return(null); } if (idatareader.Read()) { SpacePostInfo spacepostsinfo = new SpacePostInfo(); spacepostsinfo.Postid = TypeConverter.ObjectToInt(idatareader["postid"]); spacepostsinfo.Author = idatareader["author"].ToString(); spacepostsinfo.Uid = TypeConverter.ObjectToInt(idatareader["uid"]); spacepostsinfo.Postdatetime = Convert.ToDateTime(idatareader["postdatetime"]); spacepostsinfo.Content = idatareader["content"].ToString(); spacepostsinfo.Title = idatareader["title"].ToString(); spacepostsinfo.Category = idatareader["category"].ToString(); spacepostsinfo.PostStatus = Convert.ToInt16(idatareader["poststatus"]); spacepostsinfo.CommentStatus = Convert.ToInt16(idatareader["commentstatus"]); spacepostsinfo.PostUpDateTime = Convert.ToDateTime(idatareader["postupdatetime"]); spacepostsinfo.Commentcount = TypeConverter.ObjectToInt(idatareader["commentcount"]); spacepostsinfo.Views = TypeConverter.ObjectToInt(idatareader["views"]); idatareader.Close(); return(spacepostsinfo); } else { idatareader.Close(); return(null); } }
/// <summary> /// 获取日志数组 /// </summary> /// <param name="dt"></param> /// <returns></returns> public static SpacePostInfo[] GetSpacepostsInfo(DataTable dt) { if (dt == null || dt.Rows.Count == 0) { return(null); } SpacePostInfo[] spacepostsinfoarray = new SpacePostInfo[dt.Rows.Count]; for (int i = 0; i < dt.Rows.Count; i++) { spacepostsinfoarray[i] = new SpacePostInfo(); spacepostsinfoarray[i].Postid = TypeConverter.ObjectToInt(dt.Rows[i]["postid"]); spacepostsinfoarray[i].Author = dt.Rows[i]["author"].ToString(); spacepostsinfoarray[i].Uid = TypeConverter.ObjectToInt(dt.Rows[i]["uid"]); spacepostsinfoarray[i].Postdatetime = Convert.ToDateTime(dt.Rows[i]["postdatetime"]); spacepostsinfoarray[i].Content = dt.Rows[i]["content"].ToString(); spacepostsinfoarray[i].Title = dt.Rows[i]["title"].ToString(); spacepostsinfoarray[i].Category = dt.Rows[i]["category"].ToString(); spacepostsinfoarray[i].PostStatus = TypeConverter.ObjectToInt(dt.Rows[i]["poststatus"]); spacepostsinfoarray[i].CommentStatus = TypeConverter.ObjectToInt(dt.Rows[i]["commentstatus"]); spacepostsinfoarray[i].PostUpDateTime = Convert.ToDateTime(dt.Rows[i]["postupdatetime"]); spacepostsinfoarray[i].Commentcount = TypeConverter.ObjectToInt(dt.Rows[i]["commentcount"]); spacepostsinfoarray[i].Views = TypeConverter.ObjectToInt(dt.Rows[i]["views"].ToString()); } dt.Dispose(); return(spacepostsinfoarray); }
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 string ParseTimeTemplate(string sbTimeTemplate, SpacePostInfo post) { sbTimeTemplate = sbTimeTemplate.Replace("{$Year}", post.Postdatetime.Year.ToString()); sbTimeTemplate = sbTimeTemplate.Replace("{$Month}", post.Postdatetime.Month.ToString("00")); sbTimeTemplate = sbTimeTemplate.Replace("{$Date}", post.Postdatetime.Day.ToString("00")); return(sbTimeTemplate.ToString()); }
public DiscuzSpaceUCBase() { OnlineUserInfo oluserinfo = OnlineUsers.UpdateInfo(config.Passwordkey, config.Onlinetimeout); olid = oluserinfo.Olid; userid = oluserinfo.Userid; username = oluserinfo.Username; _userinfo = Users.GetUserInfo(userid); 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(); } pagesize = spaceconfiginfo.Bpp; //去掉http地址中的文件名称 if (forumurl.ToLower().IndexOf("http://") == 0) { forumurlnopage = forumurl.Substring(0, forumurl.LastIndexOf('/')) + "/"; } else { forumurl = "../" + forumurl; } if (configspaceurlnopage.ToLower().IndexOf("http://") < 0) { configspaceurlnopage = forumurlnopage; } else { configspaceurlnopage = configspaceurlnopage.ToLower().Substring(0, configspaceurlnopage.LastIndexOf('/')) + "/"; } }
private static SpacePostInfo GetSpacePostEntity(IDataReader reader) { SpacePostInfo post = new SpacePostInfo(); post.Postid = Utils.StrToInt(reader["postid"], 0); post.Title = reader["title"].ToString(); post.Author = reader["author"].ToString(); post.Postdatetime = Convert.ToDateTime(reader["postdatetime"]); post.Commentcount = Utils.StrToInt(reader["commentcount"], 0); post.Views = Utils.StrToInt(reader["views"], 0); return(post); }
public ajaxuserspacecommentlist() { postid = DNTRequest.GetInt("postid", 0); if (postid > 0) { if (Discuz.Common.DNTRequest.GetString("load") == "true") { //当前用户是否是日志的作者 SpacePostInfo __spacepostinfo = BlogProvider.GetSpacepostsInfo(Space.Data.DbProvider.GetInstance().GetSpacePost(postid)); if (__spacepostinfo.Uid == userid) { ispostauthor = true; } if (Forum.AdminGroups.GetAdminGroupInfo(_userinfo.Groupid) != null) { isadmin = true; } //当是发布状态或当前作者的日志时 if (__spacepostinfo.PostStatus == 0) { errorinfo = "当前请求的内容无效!"; return; } //当有要删除的记录时 int delcommentid = DNTRequest.GetInt("delcommentid", 0); if (delcommentid > 0) { //判断该用户是否为本人或管理组内 if ((UserGroups.GetUserGroupInfo(_userinfo.Groupid).Radminid == 1 && this.isadmin) || (this.spaceconfiginfo.UserID == this.userid)) { Space.Data.DbProvider.GetInstance().DeleteSpaceComment(delcommentid); } //更新相关评论数 Space.Data.DbProvider.GetInstance().CountUserSpaceCommentCountByUserID(__spacepostinfo.Uid, -1); Space.Data.DbProvider.GetInstance().CountSpaceCommentCountByPostID(postid, -1); } //得到当前评论列表 __spacecommentinfos = GetSpaceCommentInfoList(currentpage, postid); //得到页码链接 pagelink = AjaxPagination(Space.Data.DbProvider.GetInstance().GetSpaceCommentsCountByPostid(postid), 16, currentpage); } } else { errorinfo = "当前请求日志回复信息无效!"; } }
private void Submit_CategoryInfo() { if (!OnlineUsers.CheckUserVerifyCode(olid, DNTRequest.GetString("vcode"))) { completeinfo = "验证码错误,请重新输入"; return; } if (commentcontent == "") { completeinfo = "请输入评论内容"; return; } SpacePostInfo __spacepostinfo = BlogProvider.GetSpacepostsInfo(Space.Data.DbProvider.GetInstance().GetSpacePost(postid)); if (__spacepostinfo.CommentStatus == 1) { completeinfo = "当前日志不允许评论"; return; } if ((__spacepostinfo.CommentStatus == 2) && (userid < 1)) { completeinfo = "当前日志仅允许注册用户评论"; return; } SpaceCommentInfo __spacecommentinfo = new SpaceCommentInfo(); __spacecommentinfo.PostID = postid; __spacecommentinfo.Author = Utils.HtmlEncode(commentauthor != ""?commentauthor:"匿名"); __spacecommentinfo.Email = Utils.HtmlEncode(commentemail); __spacecommentinfo.Url = commenturl; __spacecommentinfo.Ip = DNTRequest.GetIP(); __spacecommentinfo.PostDateTime = DateTime.Now; __spacecommentinfo.Content = Utils.HtmlEncode(ForumUtils.BanWordFilter(commentcontent)); __spacecommentinfo.ParentID = 0; __spacecommentinfo.Uid = (commentauthor == username) ? userid: -1; __spacecommentinfo.PostTitle = Utils.HtmlEncode(ForumUtils.BanWordFilter(__spacepostinfo.Title)); Space.Data.DbProvider.GetInstance().AddSpaceComment(__spacecommentinfo); Space.Data.DbProvider.GetInstance().CountUserSpaceCommentCountByUserID(__spacepostinfo.Uid, 1); Space.Data.DbProvider.GetInstance().CountSpaceCommentCountByPostID(postid, 1); if (DNTRequest.GetString("notice") == "true") { SendSpaceCommentNotice(__spacecommentinfo); } }
protected override void OnTopicCreated(TopicInfo topic, PostInfo post, AttachmentInfo[] attachs) { SpacePostInfo spacepost = new SpacePostInfo(); spacepost.Author = post.Poster; string content = Posts.GetPostMessageHTML(post, attachs); spacepost.Category = ""; spacepost.Content = content; spacepost.Postdatetime = DateTime.Now; spacepost.PostStatus = 1; spacepost.PostUpDateTime = DateTime.Now; spacepost.Title = post.Title; spacepost.Uid = post.Posterid; DbProvider.GetInstance().AddSpacePost(spacepost); }
override protected void OnInit(EventArgs e) { if (GeneralConfigs.GetConfig().Enablespace != 1) { HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Write("<script>alert('" + config.Spacename + "功能已被关闭!');document.location = '" + forumurlnopage + "/index.aspx';</script>"); HttpContext.Current.Response.End(); return; } if (DNTRequest.GetString("act") == "del") { Discuz.Space.Spaces.DeleteSpacePost(DNTRequest.GetString("postid"), spaceconfiginfo.UserID); HttpContext.Current.Response.Write("<script>alert('日志已经被删除!');document.location = 'viewspacepostlist.aspx?spaceid=" + DNTRequest.GetString("spaceid") + "';</script>"); return; } postid = DNTRequest.GetInt("postid", 0); if (postid == 0) { return; } else { spacepostinfo = BlogProvider.GetSpacepostsInfo(Space.Data.DbProvider.GetInstance().GetSpacePost(postid)); commentcount = spacepostinfo != null ? spacepostinfo.Commentcount : 0; if (spacepostinfo == null) { spacepostinfo = new SpacePostInfo(); } else { //对用户空间浏览量加1 Space.Data.DbProvider.GetInstance().CountUserSpacePostByUserID(postid); //对用户空间访问量加1 Space.Data.DbProvider.GetInstance().CountUserSpaceVisitedTimesByUserID(spaceconfiginfo.UserID); } } configspaceurl = GeneralConfigs.GetConfig().Spaceurl; if (configspaceurl.ToLower().IndexOf("http://") < 0) { configspaceurl = forumurlnopage + configspaceurl; } }
private string ParseTagItem(StringBuilder sbTagItem, SpacePostInfo post) { string xx = SpaceTags.GetSpacePostTagsCacheFile(post.Postid); object o = JsonConvert.DeserializeObject(xx, typeof(TagInfo[])); TagInfo[] tags = o as TagInfo[]; StringBuilder sbResult = new StringBuilder(); if (tags != null) { foreach (TagInfo tag in tags) { StringBuilder sbTemp = new StringBuilder(sbTagItem.ToString()); sbTemp.Replace("{$TagUrl}", GetTagURL(tag.Tagid)); sbTemp.Replace("{$TagName}", tag.Tagname); sbResult.Append(sbTemp); } } return(sbResult.ToString()); }
/// <summary> /// 日志评论通知 /// </summary> /// <param name="commentinfo">日志评论信息</param> public void SendSpaceCommentNotice(SpaceCommentInfo commentinfo) { //要回复的用户id int replyuserid = DNTRequest.GetInt("userid", 0); //当日志有效时 if (commentinfo.PostID > 0) { SpacePostInfo __spacepostsinfo = BlogProvider.GetSpacepostsInfo(Space.Data.DbProvider.GetInstance().GetSpacePost(commentinfo.PostID)); //当日志有效时 if (__spacepostsinfo != null) { NoticeInfo __noticeinfo = new NoticeInfo(); __noticeinfo.Type = NoticeType.SpaceCommentNotice; __noticeinfo.New = 1; __noticeinfo.Posterid = commentinfo.Uid; __noticeinfo.Poster = commentinfo.Author; __noticeinfo.Postdatetime = Utils.GetDateTime(); //当回复人与评论作者不是同一人时,则向评论作者发送通知 if (__noticeinfo.Posterid != replyuserid && replyuserid > 0) { __noticeinfo.Note = Utils.HtmlEncode(string.Format("<a href=\"userinfo.aspx?userid={0}\">{1}</a> 回复了您的日志信息 <a href =\"viewspacepost.aspx?postid={3}\">{4}</a>.", commentinfo.Uid, commentinfo.Author, config.Spacename, commentinfo.PostID, __spacepostsinfo.Title)); __noticeinfo.Uid = replyuserid; Notices.CreateNoticeInfo(__noticeinfo); } //当上面通知的用户与该空间日志作者不同,则还要向主题作者发通知 if (__noticeinfo.Posterid != __spacepostsinfo.Uid && __spacepostsinfo.Uid > 0) { __noticeinfo.Note = Utils.HtmlEncode(string.Format("<a href=\"userinfo.aspx?userid={0}\">{1}</a> 评论了您的{2}日志 <a href =\"viewspacepost.aspx?postid={3}\">{4}</a>.", commentinfo.Uid, commentinfo.Author, config.Spacename, commentinfo.PostID, __spacepostsinfo.Title)); __noticeinfo.Uid = __spacepostsinfo.Uid; Notices.CreateNoticeInfo(__noticeinfo); } } } }
protected override void ShowPage() { pagetitle = "用户控制面板"; if (userid == -1) { AddErrLine("你尚未登录"); return; } user = Users.GetUserInfo(userid); if (config.Enablespace != 1) { AddErrLine("个人空间功能已被关闭"); return; } if (user.Spaceid <= 0) { AddErrLine("您尚未开通个人空间"); return; } enabletag = config.Enabletag == 1; categoryslist = Space.Data.DbProvider.GetInstance().GetSpaceCategoryListByUserId(userid); spaceconfig = Spaces.GetSpaceConfigByUserId(userid); if (DNTRequest.IsPost()) { if (ForumUtils.IsCrossSitePost()) { AddErrLine("您的请求来路不正确,无法提交。如果您安装了某种默认屏蔽来路信息的个人防火墙软件(如 Norton Internet Security),请设置其不要禁止来路信息后再试。"); return; } if (!Utils.IsNumeric(DNTRequest.GetString("poststatus")) || !Utils.IsNumeric(DNTRequest.GetString("commentstatus"))) { AddErrLine("请您确保 发布类型,评论类型,数据项有效!"); return; } if (DNTRequest.GetString("title") == "") { AddErrLine("请您输入文章标题"); return; } if (DNTRequest.GetString("title").Length > 150) { AddErrLine("请将文章标题保持在150字以内"); return; } if (blogcontent == "") { AddErrLine("请您输入文章内容"); return; } SpacePostInfo spacepostsinfo = new SpacePostInfo(); spacepostsinfo.Title = Utils.HtmlEncode(ForumUtils.BanWordFilter(DNTRequest.GetString("title"))); spacepostsinfo.Content = Utils.HtmlEncode(ForumUtils.BanWordFilter(blogcontent)); spacepostsinfo.Category = DNTRequest.GetString("category"); spacepostsinfo.PostStatus = DNTRequest.GetFormInt("poststatus", 0); spacepostsinfo.CommentStatus = DNTRequest.GetFormInt("commentstatus", 0); spacepostsinfo.Postdatetime = DateTime.Now; spacepostsinfo.Author = username; spacepostsinfo.Uid = userid; spacepostsinfo.PostUpDateTime = DateTime.Now; spacepostsinfo.Commentcount = 0; int postid = Space.Data.DbProvider.GetInstance().AddSpacePost(spacepostsinfo); //启用了标签功能 if (enabletag) { string tags = DNTRequest.GetString("tags").Trim(); string[] tagsArray = null; if (!Utils.StrIsNullOrEmpty(tags)) { tagsArray = Utils.SplitString(tags, " ", true, 10); if (tagsArray != null && tagsArray.Length > 0) { Space.Data.DbProvider.GetInstance().CreateSpacePostTags(string.Join(" ", tagsArray), postid, userid, Utils.GetDateTime()); SpaceTags.WriteSpacePostTagsCacheFile(postid); } } } DNTCache.GetCacheService().RemoveObject("/Space/RecentUpdateSpaceAggregationList"); SetUrl("usercpspacemanageblog.aspx"); SetMetaRefresh(); SetShowBackLink(true); AddMsgLine("文章增加成功"); } }
private void PassApply_Click(object sender, EventArgs e) { if (DNTRequest.GetString("uid") != "") { string uidlist = DNTRequest.GetString("uid"); foreach (string uid in uidlist.Split(',')) { Discuz.Data.DatabaseProvider.GetInstance().UpdateUserSpaceId(Convert.ToInt32(uid)); //string sql = "UPDATE [" + BaseConfigs.GetTablePrefix + "users] SET [spaceid]=ABS([spaceid]) WHERE [uid]=" + uid; //sql += ";SELECT [spaceid] FROM [" + BaseConfigs.GetTablePrefix + "users] WHERE [uid]=" + uid; //int spceid = (int)AdminDatabase.ExecuteScalar(sql); int tabid = Spaces.GetNewTabId(Convert.ToInt32(uid)); TabInfo tab = new TabInfo(); tab.TabID = tabid; tab.UserID = Convert.ToInt32(uid); tab.DisplayOrder = 0; tab.TabName = "首页"; tab.IconFile = ""; tab.Template = "template_25_75.htm"; Spaces.AddTab(tab); //sql = "INSERT INTO [" + BaseConfigs.GetTablePrefix + "spacetabs] ([uid],[displayorder], [tabname], [iconfile],[template]) VALUES(" + uid + ",0,'默认','','template_25_75.htm');SELECT SCOPE_IDENTITY()"; //int tabid = Utils.StrToInt(AdminDatabase.ExecuteScalar(sql),0); Spaces.AddLocalModule("builtin_calendarmodule.xml", int.Parse(uid), tabid, 1); Spaces.AddLocalModule("builtin_statisticmodule.xml", int.Parse(uid), tabid, 1); Spaces.AddLocalModule("builtin_postlistmodule.xml", int.Parse(uid), tabid, 2); if (spaceConfig.Spacegreeting != string.Empty) { SpacePostInfo spacepostsinfo = new SpacePostInfo(); spacepostsinfo.Title = string.Format("欢迎使用 {0} {1}", config.Forumtitle, config.Spacename); spacepostsinfo.Content = spaceConfig.Spacegreeting; spacepostsinfo.Category = string.Empty; spacepostsinfo.PostStatus = 1; spacepostsinfo.CommentStatus = 0; spacepostsinfo.Postdatetime = DateTime.Now; spacepostsinfo.Author = username; spacepostsinfo.Uid = Utils.StrToInt(uid, -1); 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 = Utils.StrToInt(uid, -1);; DbProvider.GetInstance().AddSpacePost(spacepost); } } //短信通知用户个人空间已经开通 PrivateMessageInfo privatemessageinfo = new PrivateMessageInfo(); ShortUserInfo userInfo = Users.GetShortUserInfo(Convert.ToInt32(uid)); privatemessageinfo.Msgto = userInfo == null ? "" : userInfo.Username; privatemessageinfo.Msgtoid = Convert.ToInt32(uid); privatemessageinfo.Postdatetime = Utils.GetDateTime(); privatemessageinfo.Message = "恭喜您,您的" + config.Spacename + "已经被管理员" + username + "开通!"; privatemessageinfo.Subject = "恭喜,您的" + config.Spacename + "已经开通"; privatemessageinfo.Msgfrom = username; privatemessageinfo.Msgfromid = userid; privatemessageinfo.New = 1; privatemessageinfo.Folder = 0; PrivateMessages.CreatePrivateMessage(privatemessageinfo, 0); //AdminDatabase.ExecuteNonQuery("INSERT INTO [" + BaseConfigs.GetTablePrefix + "pms] (msgfrom,msgfromid,msgto,msgtoid,folder,new,subject,postdatetime,message) VALUES ('" + username + "','" + userid + "','" + msgto.Replace("'", "''") + "','" + uid + "','0','1','" + subject + "','" + curdatetime + "','" + message + "')"); //AdminDatabase.ExecuteNonQuery("UPDATE [" + BaseConfigs.GetTablePrefix + "users] SET [newpmcount]=[newpmcount]+1 WHERE [uid] =" + uid); } base.RegisterStartupScript("PAGE", "window.location.href='space_spaceapplymanage.aspx';"); } else { base.RegisterStartupScript("", "<script>alert('请选择要开通的空间!');window.location.href='space_spaceapplymanage.aspx';</script>"); } }
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); } }
protected override void ShowPage() { pagetitle = "用户控制面板"; if (userid == -1) { AddErrLine("你尚未登录"); return; } user = Users.GetUserInfo(userid); if (config.Enablespace != 1) { AddErrLine("个人空间功能已被关闭"); return; } if (user.Spaceid <= 0) { AddErrLine("您尚未开通个人空间"); return; } enabletag = config.Enabletag == 1; if (DNTRequest.IsPost()) { if (ForumUtils.IsCrossSitePost()) { AddErrLine("您的请求来路不正确,无法提交。如果您安装了某种默认屏蔽来路信息的个人防火墙软件(如 Norton Internet Security),请设置其不要禁止来路信息后再试。"); return; } if (!Utils.IsNumeric(DNTRequest.GetString("poststatus")) || !Utils.IsNumeric(DNTRequest.GetString("commentstatus"))) { AddErrLine("请您确保: 发布类型, 评论类型 数据项有效!"); return; } if (DNTRequest.GetString("title") == "") { AddErrLine("请您输入文章标题"); return; } if (DNTRequest.GetString("title").Length > 150) { AddErrLine("请将文章标题保持在150字以内"); return; } if (blogcontent == "") { AddErrLine("请您输入文章内容"); return; } int postid = DNTRequest.GetInt("postid", 0); if (postid == 0) { AddErrLine("请正确选择文章"); return; } spacepostsinfo = BlogProvider.GetSpacepostsInfo(Space.Data.DbProvider.GetInstance().GetSpacePost(postid)); if (spacepostsinfo == null || spacepostsinfo.Uid != userid) { AddErrLine("您选择文章不存在"); return; } spacepostsinfo.Title = Utils.HtmlEncode(ForumUtils.BanWordFilter(DNTRequest.GetString("title"))); spacepostsinfo.Content = Utils.HtmlEncode(ForumUtils.BanWordFilter(blogcontent)); spacepostsinfo.Category = DNTRequest.GetString("category"); spacepostsinfo.PostStatus = DNTRequest.GetFormInt("poststatus", 0); spacepostsinfo.CommentStatus = DNTRequest.GetFormInt("commentstatus", 0); spacepostsinfo.PostUpDateTime = DateTime.Now; string errorinfo = ""; Space.Data.DbProvider.GetInstance().SaveSpacePost(spacepostsinfo); if (enabletag) { SpaceTags.DeleteSpacePostTags(spacepostsinfo.Postid); string tags = DNTRequest.GetString("tags").Trim(); string[] tagsArray = null; if (tags != string.Empty) { tagsArray = Utils.SplitString(tags, " ", true, 10); if (tagsArray != null && tagsArray.Length > 0) { Space.Data.DbProvider.GetInstance().CreateSpacePostTags(string.Join(" ", tagsArray), postid, userid, Utils.GetDateTime()); SpaceTags.WriteSpacePostTagsCacheFile(postid); } } } DNTCache.GetCacheService().RemoveObject("/Space/RecentUpdateSpaceAggregationList"); if (errorinfo == "") { SetUrl("usercpspacemanageblog.aspx"); SetMetaRefresh(); SetShowBackLink(true); AddMsgLine("文章修改成功"); } else { AddErrLine(errorinfo); return; } } else { int postid = DNTRequest.GetInt("postid", 0); if (postid == 0) { AddErrLine("请正确选择文章"); return; } categoryslist = Space.Data.DbProvider.GetInstance().GetSpaceCategoryListByUserId(userid); spacepostsinfo = BlogProvider.GetSpacepostsInfo(Space.Data.DbProvider.GetInstance().GetSpacePost(postid)); if (spacepostsinfo == null || spacepostsinfo.Uid != userid) { AddErrLine("您选择文章不存在"); return; } categoryslist.Columns.Add(new DataColumn("checked", Type.GetType("System.Int32"))); foreach (DataRow dr in categoryslist.Rows) { dr["checked"] = ("," + spacepostsinfo.Category + ",").IndexOf("," + dr["categoryid"].ToString() + ","); } blogcontent = spacepostsinfo.Content.Replace("'", "\""); if (enabletag) { List <TagInfo> tags = SpaceTags.GetTagsListBySpacePost(spacepostsinfo.Postid); foreach (TagInfo tag in tags) { if (tag.Orderid > -1) { spaceposttags += string.Format(" {0}", tag.Tagname); } } spaceposttags = spaceposttags.Trim(); } } }