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 = "请求的日志不存在"; } } }
public ajaxspaceconfigstatic() { if (Discuz.Common.DNTRequest.GetString("load") == "true") { __spaceconfiginfo = BlogProvider.GetSpaceConfigInfo(spaceconfiginfo.UserID); } }
protected void DeleteApply_Click(object sender, EventArgs e) { #region ɾ³ýÏà²á string albumid = DNTRequest.GetString("albumid"); if (albumid.Trim() == "") { return; } foreach (string id in albumid.Split(',')) { #if NET1 PhotoInfoCollection _spacephotoinfoarray = BlogProvider.GetSpacePhotosInfo(DbProvider.GetInstance().GetSpacePhotoByAlbumID(int.Parse(id))); #else Discuz.Common.Generic.List <PhotoInfo> _spacephotoinfoarray = DTOProvider.GetSpacePhotosInfo(DbProvider.GetInstance().GetSpacePhotoByAlbumID(int.Parse(id))); #endif string photoidList = ""; int uid = DbProvider.GetInstance().GetUidByAlbumid(int.Parse(id)); if (_spacephotoinfoarray != null) { foreach (PhotoInfo _s in _spacephotoinfoarray) { photoidList += _s.Photoid + ","; } } if (photoidList != "") { photoidList = photoidList.Substring(0, photoidList.Length - 1); DbProvider.GetInstance().DeleteSpacePhotoByIDList(photoidList, int.Parse(id), uid); } DbProvider.GetInstance().DeleteSpaceAlbum(int.Parse(id), uid); } Response.Redirect("album_manage.aspx"); #endregion }
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; } }
public ajaxuseralbum() { forumPath = BaseConfigs.GetForumPath; if (spaceid > 0) { if (Discuz.Common.DNTRequest.GetString("load") == "true") { currentpage = DNTRequest.GetInt("currentpage", 1); //得到当前相册列表 __albums = BlogProvider.GetSpaceAlbumsInfo(Space.Data.DbProvider.GetInstance().SpaceAlbumsList(10, currentpage, spaceconfiginfo.UserID)); if (__albums.Length > 0) { if (__albums[0].Userid == userid) { ispostauthor = true; } } //得到页码链接 pagelink = AjaxPagination(Space.Data.DbProvider.GetInstance().GetSpaceAlbumsCount(spaceconfiginfo.UserID), pagesize, currentpage, ""); } } else { errorinfo = "当前请求日志图片信息无效!"; } }
public ajaxtopnewpost() { if (DNTRequest.GetString("load") == "true") { pagesize = DNTRequest.GetInt("postnumber", 10); __spacepostinfos = BlogProvider.GetSpacepostsInfo(Space.Data.DbProvider.GetInstance().SpacePostsList(pagesize, 1, spaceconfiginfo.UserID, 1)); } }
public ajaxspacelink() { if (DNTRequest.GetString("load") == "true") { pagesize = DNTRequest.GetInt("linknumber", 10); __spacelinkinfos = BlogProvider.GetSpaceLinksInfo(Space.Data.DbProvider.GetInstance().GetSpaceLinkList(pagesize, 1, spaceconfiginfo.UserID)); } }
public ajaxtopnewcomment() { if (DNTRequest.GetString("load") == "true") { //得到当前评论列表 pagesize = DNTRequest.GetInt("commentnumber", 10); __spacecommentinfos = BlogProvider.GetSpaceCommentInfo(Space.Data.DbProvider.GetInstance().GetSpaceNewComments(pagesize, spaceconfiginfo.UserID)); } }
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('/')) + "/"; } }
/// <summary> /// 当前用户是否是SPACE的所有人 /// </summary> /// <returns></returns> public bool IsHolder() { SpaceConfigInfo __spaceconfiginfo = BlogProvider.GetSpaceConfigInfo(userid); if (__spaceconfiginfo == null) { return(false); } return(DNTRequest.GetInt("spaceid", 0) == __spaceconfiginfo.SpaceID); }
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 = "当前请求日志回复信息无效!"; } }
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(); }
protected void BtnConvert_OnClick(object sender, EventArgs e) { // Get Blog to use Blog blog = BlogService.SelectBlog(new Guid(DdlBlogs.SelectedValue)); // Get ProviderName to convert to string providerName = DdlProviders.SelectedValue; BlogProvider convertTo = BlogService.Providers[providerName]; // Insert the Blog Record convertTo.InsertBlog(blog); // Categories // Load up Categories List <Category> cats = BlogService.Provider.FillCategories(blog); foreach (Category cat in cats) { convertTo.InsertCategory(cat); } // Posts List <Post> posts = BlogService.Provider.FillPosts(); foreach (Post post in posts) { convertTo.InsertPost(post); } // Pages List <Page> pages = BlogService.Provider.FillPages(); foreach (Page page in pages) { convertTo.InsertPage(page); } // Update Settings StringDictionary settings = BlogService.Provider.LoadSettings(blog); convertTo.SaveSettings(settings); // Update Ping Services StringCollection pingServices = BlogService.Provider.LoadPingServices(); convertTo.SavePingServices(pingServices); // Update display BtnConvert.Enabled = false; LblStatus.Text = "Data Copy Complete."; }
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); } }
private SpacePostInfo[] GetSpacePosts() { int currentpage = DNTRequest.GetInt("currentpage", 1); if (currentpage < 1) { currentpage = 1; } SpacePostInfo[] postarray = BlogProvider.GetSpacepostsInfo(DbProvider.GetInstance().SpacePostsList(base.SpaceConfig.Bpp, currentpage, base.SpaceConfig.UserID, 1)); if (postarray == null) { return(new SpacePostInfo[0]); } return(postarray); }
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; } }
public ActionResult Index() { var provider = new BlogProvider(); var blogs = provider.GetBlogs() .Select(x => new Models.Blog.BlogViewModel() { Name = x.BlogName, ID = x.Id, Author = x.User.Name }) .ToList(); var model = new HomeViewModel() { Blogs = blogs, CanCreateBlogs = GetLoggedUser()?.Type > (int)EUserType.Reader }; return(View(model)); }
public ActionResult Index(int id) { var provider = new BlogProvider(); var blog = provider.GetBlog(id); var posts = Db.Context.Post.Where(x => x.BlogId == id) .Select(x => new PostViewModel() { ID = x.Id, BlogID = x.BlogId, Content = x.Data, Title = x.Title, }) .ToList(); var model = new BlogViewModel() { ID = id, Name = blog.BlogName, Posts = posts, IsOwner = blog.UserID == GetLoggedUser()?.Id, }; return(View(model)); }
/// <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 = 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(); } } }
/// <summary> /// 获得指定用户日志的RSS /// </summary> /// <param name="ttl">Time To Live</param> /// <param name="uid">用户id</param> /// <returns></returns> public static string GetBlogRss(int ttl, int uid) { Discuz.Cache.DNTCache cache = Discuz.Cache.DNTCache.GetCacheService(); //Discuz.Cache.ICacheStrategy ics = new RssCacheStrategy(); //ics.TimeOut = ttl * 60; //cache.LoadCacheStrategy(ics); string str = cache.RetrieveObject("/SPACE/RSS/Blog" + uid) as string; if (str != null) { return(str); } string forumurl = "http://" + DNTRequest.GetCurrentFullHost() + BaseConfigs.GetForumPath.ToLower(); ShortUserInfo user = Users.GetShortUserInfo(uid); if (user == null || user.Uid < 1 || user.Uid != uid) { return("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<Rss>Specified user not found</Rss>\r\n"); } SpacePostInfo[] posts = BlogProvider.GetSpacepostsInfo(Space.Data.DbProvider.GetInstance().SpacePostsList(20, 1, uid, 1)); if (posts == null || posts.Length < 1) { return("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<Rss>Specified user's blog is not found</Rss>\r\n"); } StringBuilder rssBuilder = new StringBuilder("<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n"); rssBuilder.Append("<?xml-stylesheet type=\"text/xsl\" href=\"rss.xsl\" media=\"screen\"?>\r\n"); rssBuilder.Append("<rss version=\"2.0\">\r\n"); rssBuilder.Append(" <channel>\r\n"); rssBuilder.Append(" <title>"); rssBuilder.Append(Utils.HtmlEncode(GeneralConfigs.GetConfig().Forumtitle)); rssBuilder.Append(" - "); rssBuilder.Append(user.Username); rssBuilder.Append("的个人空间"); rssBuilder.Append("</title>\r\n"); rssBuilder.Append(" <link>"); rssBuilder.Append(forumurl); rssBuilder.Append("space/?uid="); rssBuilder.Append(uid.ToString()); rssBuilder.Append("</link>\r\n"); rssBuilder.AppendFormat(" <description>Latest {0} blogs</description>\r\n", posts.Length); rssBuilder.Append(" <copyright>Copyright (c) "); rssBuilder.Append(Utils.HtmlEncode(GeneralConfigs.GetConfig().Forumtitle)); rssBuilder.Append("</copyright>\r\n"); rssBuilder.Append(" <generator>"); rssBuilder.Append("Discuz!NT"); rssBuilder.Append("</generator>\r\n"); rssBuilder.Append(" <pubDate>"); rssBuilder.Append(DateTime.Now.ToString("r")); rssBuilder.Append("</pubDate>\r\n"); rssBuilder.AppendFormat(" <ttl>{0}</ttl>\r\n", ttl.ToString()); foreach (SpacePostInfo post in posts) { rssBuilder.Append(" <item>\r\n"); rssBuilder.Append(" <title>"); rssBuilder.Append(Utils.HtmlEncode(post.Title.ToString().Trim())); rssBuilder.Append("</title>\r\n"); rssBuilder.Append(" <description><![CDATA["); rssBuilder.Append(Utils.HtmlEncode(Utils.GetSubString(Utils.RemoveHtml(post.Content), 200, "......"))); rssBuilder.Append("]]></description>\r\n"); rssBuilder.Append(" <link>"); rssBuilder.Append(Utils.HtmlEncode(forumurl)); rssBuilder.Append("space/viewspacepost.aspx?postid="); rssBuilder.Append(post.Postid.ToString()); rssBuilder.Append("</link>\r\n"); rssBuilder.Append(" <category>"); rssBuilder.Append(Utils.HtmlEncode(post.Category)); rssBuilder.Append("</category>\r\n"); rssBuilder.Append(" <author>"); rssBuilder.Append(Utils.HtmlEncode(post.Author.ToString().Trim())); rssBuilder.Append("</author>\r\n"); rssBuilder.Append(" <pubDate>"); rssBuilder.Append(Utils.HtmlEncode(post.Postdatetime.ToString("r").Trim())); rssBuilder.Append("</pubDate>\r\n"); rssBuilder.Append(" </item>\r\n"); } rssBuilder.Append(" </channel>\r\n"); rssBuilder.Append("</rss>"); cache.AddObject("/SPACE/RSS/Blog" + uid, rssBuilder.ToString(), ttl * 60); //cache.LoadDefaultCacheStrategy(); return(rssBuilder.ToString()); }
private SpaceCommentInfo[] GetSpaceCommentInfoList(int currentpage, int postid) { return(BlogProvider.GetSpaceCommentInfo(Space.Data.DbProvider.GetInstance().GetSpaceCommentListByPostid(16, currentpage, postid, true))); }
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; } int linkid = DNTRequest.GetInt("linkid", 0); if (linkid <= 0) { AddErrLine("链接信息无效"); return; } if (DNTRequest.IsPost()) { if (ForumUtils.IsCrossSitePost()) { AddErrLine("您的请求来路不正确,无法提交。如果您安装了某种默认屏蔽来路信息的个人防火墙软件(如 Norton Internet Security),请设置其不要禁止来路信息后再试。"); return; } string linktitle = Utils.HtmlEncode(DNTRequest.GetString("linktitle")); if ((linktitle.Length > 50) || (linktitle == "")) { AddErrLine("链接标题不得超过50个字符且不能为空"); return; } string linkurl = Utils.HtmlEncode(DNTRequest.GetString("linkurl")); if ((linkurl.Length > 255) || (linkurl == "")) { AddErrLine("链接地址不得超过255个字符且不能为空"); return; } if (DNTRequest.GetString("description").Length > 200) { AddErrLine("链接描述不得超过200个字符"); return; } string errorinfo = ""; SpaceLinkInfo __spacelinkinfo = BlogProvider.GetSpaceLinksInfo(Space.Data.DbProvider.GetInstance().GetSpaceLinkByLinkID(linkid)); if (__spacelinkinfo.UserId != userid) { AddErrLine("您所编辑的链接不存在"); return; } __spacelinkinfo.LinkId = linkid; __spacelinkinfo.LinkTitle = linktitle; __spacelinkinfo.Description = Utils.HtmlEncode(DNTRequest.GetString("description")); __spacelinkinfo.LinkUrl = linkurl; Space.Data.DbProvider.GetInstance().SaveSpaceLink(__spacelinkinfo); if (errorinfo == "") { SetUrl("usercpspacelinklist.aspx"); SetMetaRefresh(); SetShowBackLink(true); AddMsgLine("编辑友情链接完毕"); } else { AddErrLine(errorinfo); return; } } else { spacelinkinfo = BlogProvider.GetSpaceLinksInfo(Space.Data.DbProvider.GetInstance().GetSpaceLinkByLinkID(linkid)); if (spacelinkinfo.UserId != userid) { AddErrLine("您所选择的链接不存在"); return; } } }
/// <summary> /// 根据用户ID获得空间的配置 /// </summary> /// <param name="uid">用户ID</param> /// <returns>空间的配置</returns> public static SpaceConfigInfo GetSpaceConfigByUserId(int uid) { return(BlogProvider.GetSpaceConfigInfo(uid)); }
private SpacePostInfo[] GetCurrentUserSpacePostList(int currentpage, int userid) { return(BlogProvider.GetSpacepostsInfo(Space.Data.DbProvider.GetInstance().SpacePostsList(pagesize, currentpage, userid, 1))); }
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; } if (DNTRequest.IsPost()) { if (ForumUtils.IsCrossSitePost()) { AddErrLine("您的请求来路不正确,无法提交。如果您安装了某种默认屏蔽来路信息的个人防火墙软件(如 Norton Internet Security),请设置其不要禁止来路信息后再试。"); return; } if (DNTRequest.GetString("spacetitle").Length > 100) { AddErrLine("BLOG标题不得超过100个字符"); return; } if (DNTRequest.GetString("_description").Length > 200) { AddErrLine("空间描述不得超过200个字符"); return; } if (page_err == 0) { spaceconfiginfo = BlogProvider.GetSpaceConfigInfo(userid); 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); if (spaceactiveconfig.Enablespacerewrite == 1) { string rewritename = DNTRequest.GetFormString("rewritename").Trim(); if (!Utils.StrIsNullOrEmpty(rewritename)) { if (Globals.CheckSpaceRewriteNameAvailable(rewritename) == 0) { Space.Data.DbProvider.GetInstance().UpdateUserSpaceRewriteName(userid, rewritename); } else { AddErrLine("您输入的 个性域名 不可用或含有非法字符"); return; } } } string errorinfo = ""; Space.Data.DbProvider.GetInstance().SaveSpaceConfigData(spaceconfiginfo); if (errorinfo == "") { SetShowBackLink(true); AddMsgLine("个人空间基本设置完毕"); } else { AddErrLine(errorinfo); return; } } } 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; } if (DNTRequest.IsPost()) { if (ForumUtils.IsCrossSitePost()) { AddErrLine("您的请求来路不正确,无法提交。如果您安装了某种默认屏蔽来路信息的个人防火墙软件(如 Norton Internet Security),请设置其不要禁止来路信息后再试。"); return; } string title = DNTRequest.GetHtmlEncodeString("title"); if ((title.Length > 50) || (title == "")) { AddErrLine("分类名称不得超过50个字符且不能为空"); return; } if (DNTRequest.GetString("description").Length > 1000) { AddErrLine("分类描述不得超过1000个字符"); return; } if (!Utils.IsNumeric(DNTRequest.GetString("displayorder"))) { AddErrLine("分类描述序号必须为数字"); return; } string errorinfo = ""; int categoryid = DNTRequest.GetInt("categoryid", 0); if (categoryid == 0) { AddErrLine("请正确选择分类信息"); return; } spacecategoryinfo = BlogProvider.GetSpaceCategoryInfo(Space.Data.DbProvider.GetInstance().GetSpaceCategoryByCategoryID(categoryid)); if (spacecategoryinfo == null || spacecategoryinfo.Uid != userid) { AddErrLine("您选择分类不存在"); return; } spacecategoryinfo.Title = title; spacecategoryinfo.Description = DNTRequest.GetHtmlEncodeString("description"); spacecategoryinfo.Displayorder = Convert.ToInt32(DNTRequest.GetString("displayorder")); Space.Data.DbProvider.GetInstance().SaveSpaceCategory(spacecategoryinfo); if (errorinfo == "") { SetUrl("usercpspacemanagecategory.aspx"); SetMetaRefresh(); SetShowBackLink(true); AddMsgLine("修改文章分类完毕"); } else { AddErrLine(errorinfo); return; } } else { int categoryid = DNTRequest.GetInt("categoryid", 0); if (categoryid == 0) { AddErrLine("请正确选择分类信息"); return; } spacecategoryinfo = BlogProvider.GetSpaceCategoryInfo(Space.Data.DbProvider.GetInstance().GetSpaceCategoryByCategoryID(categoryid)); if (spacecategoryinfo.Uid != userid) { AddErrLine("请选择的分类不存在"); return; } if (spacecategoryinfo == null || spacecategoryinfo.Uid != userid) { AddErrLine("您选择分类不存在"); return; } } }
public override SpacePostInfo GetSpacepostsInfo(int blogid) { return(BlogProvider.GetSpacepostsInfo(blogid)); }
private SpacePostInfo[] GetCurrentUserSpacePostList(int currentpage, int userid, string postdate) { return(BlogProvider.GetSpacepostsInfo(Space.Data.DbProvider.GetInstance().SpacePostsList(pagesize, currentpage, userid, Convert.ToDateTime(postdate)))); }