protected override void ShowPage() { if (!this.ispost) { if (this.tid <= 0) { base.AddErrLine("不存在的主题ID"); return; } var topicInfo = Topic.FindByID(this.tid); if (topicInfo == null) { base.AddErrLine("不存在的主题"); return; } string a; if ((a = this.action) != null) { if (!(a == "emailfriend")) { if (!(a == "viewvote")) { return; } this.title = "参与投票的会员"; var pollInfo = Poll.FindByTid(tid); if (pollInfo == null) { base.AddErrLine("不存在的调查"); return; } if (pollInfo.AllowView != true && pollInfo.Uid != this.userid && !Moderators.IsModer(this.useradminid, this.userid, topicInfo.Fid)) { base.AddErrLine("您没有查看投票人的权限"); return; } this.pollOptionList = PollOption.FindAllByTid(tid); if (polloptionid == 0) { bool flag; this.voters = GetVoters(this.tid, this.userid, this.username, out flag); return; } foreach (var item in pollOptionList) { if (item.ID == polloptionid) { string[] array = Utils.SplitString(item.VoterNames.Trim(), " <"); string[] array2 = array; for (int i = 0; i < array2.Length; i++) { string text = array2[i]; this.voters = this.voters + "<li>" + (text.StartsWith("<") ? text : ("<" + text)) + "</li>"; } } } if (String.IsNullOrEmpty(this.voters)) { this.voters = "<li>暂无人投票</li>"; return; } } else { this.title = "分享"; this.emailcontent = "你好!我在 {0} 看到了这篇帖子,认为很有价值,特推荐给你。\r\n{1}\r\n地址 {2}\r\n希望你能喜欢。"; if (topicInfo != null) { this.topictitle = topicInfo.Title; this.emailcontent = string.Format(this.emailcontent, this.config.Forumtitle, this.topictitle, DNTRequest.GetUrlReferrer()); return; } } } } else { this.SendEmail(); } }
protected override void ShowPage() { var adminGroupInfo = AdminGroup.FindByID(this.usergroupid); this.disablepostctrl = false; if (adminGroupInfo != null) { this.disablepostctrl = adminGroupInfo.DisablePostctrl; } if (this.userid == -1) { this.forum = new XForum(); this.topic = new Topic(); this.postinfo = new Post(); base.AddErrLine("您尚未登录"); return; } if (this.postid == -1) { base.AddErrLine("无效的帖子ID"); return; } //this.postinfo = Posts.GetPostInfo(this.topicid, this.postid); postinfo = Post.FindByID(postid); if (this.postinfo == null) { base.AddErrLine("不存在的帖子ID"); return; } this.pagetitle = ((String.IsNullOrEmpty(this.postinfo.Title)) ? "编辑帖子" : this.postinfo.Title); this.htmlon = this.postinfo.HtmlOn; this.message = this.postinfo.Message; this.isfirstpost = (this.postinfo.Layer == 0); if (this.topicid != this.postinfo.Tid || this.postinfo.Tid == -1) { base.AddErrLine("无效的主题ID"); return; } //this.topic = Topics.GetTopicInfo(this.postinfo.Tid); topic = Topic.FindByID(postinfo.Tid); if (this.topic == null) { base.AddErrLine("不存在的主题ID"); return; } if (this.topic.Special == 1 && this.postinfo.Layer == 0) { //修改为Xcode方法 this.pollinfo = Poll.FindByTid(topic.ID); this.polloptionlist = PollOption.FindAllByTid(topic.ID); } if (this.topic.Special == 4 && this.postinfo.Layer == 0) { this.debateinfo = Debate.FindByTid(this.topic.ID); } this.forumid = this.topic.Fid; this.forum = Forums.GetForumInfo(this.forumid); this.needaudit = UserAuthority.NeedAudit(forum.Fid, forum.Modnewposts, this.useradminid, this.userid, this.usergroupinfo, this.topic); if (this.forum == null || this.forum.Layer == 0) { base.AddErrLine("版块已不存在"); this.forum = new XForum(); return; } if (!this.forum.Password.IsNullOrEmpty() && Utils.MD5(this.forum.Password) != ForumUtils.GetCookie("forum" + this.forumid + "password")) { base.AddErrLine("本版块被管理员设置了密码"); base.SetBackLink(base.ShowForumAspxRewrite(this.forumid, 0)); return; } if (this.forum.ApplytopicType == 1) { this.topictypeselectoptions = Forums.GetCurrentTopicTypesOption(this.forum.Fid, this.forum.Topictypes); } this.customeditbuttons = Caches.GetCustomEditButtonList(); if (!UserAuthority.CanEditPost(this.postinfo, this.userid, this.useradminid, ref this.msg)) { base.AddErrLine(this.msg); return; } //string allowAttachmentType = Attachments.GetAllowAttachmentType(this.usergroupinfo, this.forum); this.attachextensions = AttachType.GetAttachmentTypeArray(usergroupinfo, forum); this.attachextensionsnosize = AttachType.GetAttachmentTypeString(usergroupinfo, forum); int num = (this.userid > 0) ? Attachment.GetUploadFileSizeByuserid(this.userid) : 0; this.attachsize = this.usergroupinfo.MaxSizeperday - num; this.canpostattach = UserAuthority.PostAttachAuthority(this.forum, this.usergroupinfo, this.userid, ref this.msg); this.userinfo = BBX.Entity.User.FindByID(this.userid); this.attachmentlist = Attachment.FindAllByPid(this.postinfo.ID); this.attachmentcount = this.attachmentlist.Count; this.allowviewattach = UserAuthority.DownloadAttachment(this.forum, this.userid, this.usergroupinfo); this.smileyoff = ((!DNTRequest.IsPost()) ? this.postinfo.SmileyOff : (forum.AllowSmilies ? 0 : 1)); //this.allowimg = this.forum.Allowimgcode; this.parseurloff = this.postinfo.ParseUrlOff; this.bbcodeoff = this.usergroupinfo.AllowCusbbCode ? this.postinfo.BBCodeOff : 1; this.usesig = this.postinfo.UseSig; this.userextcreditsinfo = Scoresets.GetScoreSet(Scoresets.GetTopicAttachCreditsTrans()); if (this.bonusCreditsTrans > 0 && this.bonusCreditsTrans < 9) { this.bonusextcreditsinfo = Scoresets.GetScoreSet(this.bonusCreditsTrans); this.mybonustranscredits = Users.GetUserExtCredits(this.userid, this.bonusCreditsTrans); } if (!UserAuthority.VisitAuthority(this.forum, this.usergroupinfo, this.userid, ref this.msg)) { base.AddErrLine(this.msg); return; } if (!Moderators.IsModer(this.useradminid, this.userid, this.forumid)) { if (this.postinfo.PosterID != this.userid) { base.AddErrLine("你并非作者, 且你当前的身份 \"" + this.usergroupinfo.GroupTitle + "\" 没有修改该帖的权限"); return; } if (this.config.Edittimelimit > 0 && this.postinfo.PostDateTime.AddMinutes(this.config.Edittimelimit) < DateTime.Now) { base.AddErrLine("抱歉, 系统规定只能在帖子发表" + this.config.Edittimelimit + "分钟内才可以修改"); return; } if (this.config.Edittimelimit == -1) { base.AddErrLine("抱歉,系统不允许修改帖子"); return; } this.alloweditpost = true; } else { if (adminGroupInfo != null && adminGroupInfo.AllowEditPost && Moderators.IsModer(this.useradminid, this.userid, this.forumid)) { this.alloweditpost = true; } } if (!this.alloweditpost && this.postinfo.PosterID != this.userid) { base.AddErrLine("您当前的身份没有编辑帖子的权限"); return; } if (this.postinfo.Layer == 0) { this.canhtmltitle = this.usergroupinfo.AllowHtmlTitle; } if (Topics.GetMagicValue(this.topic.Magic, MagicType.HtmlTitle) == 1) { this.htmltitle = Topics.GetHtmlTitle(this.topic.ID).Replace("\"", "\\\"").Replace("'", "\\'"); } this.enabletag = config.Enabletag && forum.AllowTag; if (this.enabletag && Topics.GetMagicValue(this.topic.Magic, MagicType.TopicTag) == 1) { foreach (var item in Tag.GetTagsListByTopic(this.topic.ID)) { if (item.OrderID > -1) { this.topictags += string.Format(" {0}", item.Name); } } this.topictags = this.topictags.Trim(); } this.userGroupInfoList.Sort((x, y) => x.Readaccess - y.Readaccess + (y.ID - x.ID)); if (this.ispost) { base.SetBackLink("editpost.aspx?topicid=" + this.postinfo.Tid + "&postid=" + this.postinfo.ID); if (ForumUtils.IsCrossSitePost()) { base.AddErrLine("您的请求来路不正确,无法提交。如果您安装了某种默认屏蔽来路信息的个人防火墙软件(如 Norton Internet Security),请设置其不要禁止来路信息后再试。"); return; } this.SetPostInfo(adminGroupInfo, this.userinfo, DNTRequest.GetString("htmlon").ToInt(0) == 1); if (base.IsErr()) { return; } //Posts.UpdatePost(this.postinfo); postinfo.Update(); var stringBuilder = this.SetAttachmentInfo(); if (base.IsErr()) { return; } CreditsFacade.UpdateUserCredits(this.userid); string url; if (this.topic.Special == 4) { url = Urls.ShowTopicAspxRewrite(this.topic.ID, this.pageid); } else { if (DNTRequest.GetQueryString("referer") != "") { url = string.Format("showtopic.aspx?page=end&forumpage={2}&topicid={0}#{1}", this.topic.ID, this.postinfo.ID, this.forumpageid); } else { if (this.pageid > 1) { if (this.config.Aspxrewrite == 1) { url = string.Format("showtopic-{0}-{2}{1}#{3}", new object[] { this.topic.ID, this.config.Extname, this.pageid, this.postinfo.ID }); } else { url = string.Format("showtopic.aspx?topicid={0}&forumpage={3}&page={2}#{1}", new object[] { this.topic.ID, this.postinfo.ID, this.pageid, this.forumpageid }); } } else { if (this.config.Aspxrewrite == 1) { url = string.Format("showtopic-{0}{1}", this.topic.ID, this.config.Extname); } else { url = string.Format("showtopic.aspx?topicid={0}&forumpage={1}", this.topic.ID, this.forumpageid); } } } } base.SetUrl(url); if (stringBuilder.Length > 0) { base.SetMetaRefresh(5); base.SetShowBackLink(true); if (this.infloat == 1) { base.AddErrLine(stringBuilder.ToString()); return; } stringBuilder.Insert(0, "<table cellspacing=\"0\" cellpadding=\"4\" border=\"0\"><tr><td colspan=2 align=\"left\"><span class=\"bold\"><nobr>编辑帖子成功,但图片/附件上传出现问题:</nobr></span><br /></td></tr>"); stringBuilder.Append("</table>"); base.AddMsgLine(stringBuilder.ToString()); } else { if (this.postinfo.Layer == 0) { base.SetMetaRefresh(2, url); } else { base.SetMetaRefresh(); } base.SetShowBackLink(false); if (this.useradminid != 1 && (this.needaudit || this.topic.DisplayOrder == -2 || this.postinfo.Invisible == 1)) { if (this.postinfo.Layer == 0) { base.SetUrl(base.ShowForumAspxRewrite(this.forumid, this.forumpageid)); } else { base.SetUrl(base.ShowTopicAspxRewrite(this.topic.ID, this.forumpageid)); } base.AddMsgLine("编辑成功, 但需要经过审核才可以显示"); } else { base.MsgForward("editpost_succeed"); base.AddMsgLine("编辑帖子成功, 返回该主题"); } } if (this.postinfo.Layer == 0) { ForumUtils.DeleteTopicCacheFile(this.topic.ID); return; } } else { base.AddLinkCss(BaseConfigs.GetForumPath + "templates/" + this.templatepath + "/editor.css", "css"); } }