www.gusucode.com > ASP+ACCESS学生论坛设计与实现(源代码+论文+开题报告) > ASP+ACCESS学生论坛设计与实现(源代码+论文+开题报告)\13学生论坛ASPAC\BBS\post.asp
<!--#include file="conn.asp"--> <!--#include file="inc/const.asp"--> <!--#include file="inc/dv_clsother.asp"--> <!--#include file="inc/dv_ubbcode.asp"--> <% Dim totalusetable,AnnounceID,ReplyID Dim MyPost,UserName Dim postbuyuser,bgcolor Mybbs.Loadtemplates("post") Set MyPost = New Dvbbs_Post Mybbs.Stats = MyPost.ActionName Mybbs.Nav() Mybbs.Head_var 1,Mybbs.Board_Data(4,0),"","" Dim dv_ubb,abgcolor Dim EmotPath EmotPath=Split(Mybbs.Forum_emot,"|||")(0) 'em心情路径 Set dv_ubb=new Dvbbs_UbbCode MyPost.Show_Post_Body Set MyPost = Nothing Mybbs.ActiveOnline Mybbs.Footer Class Dvbbs_Post Public Action,ActionName,Star,Page,IsAudit,ToAction Private ParentID,RootID,Topic,Content,char_changed,signflag,mailflag,iLayer,iOrders Private TopTopic,IsTop,LastPost,LastPost_1,UpLoadPic_n,ihaveupfile,smsuserlist,upfileinfo Private UserPassWord,UserPost,GroupID,UserClass,DateAndTime,DateTimeStr,Expression,MyLastPostTime,LastPostTimes Private LockTopic,MyLockTopic,MyIsTop,MyIsTopAll,MyTopicMode Private CanLockTopic,CanTopTopic,CanTopTopic_a,CanEditPost,Rs,SQL,i Private vote,votetype,votenum,votetimeout,voteid,isvote Private Sub Class_Initialize() If Mybbs.Board_Setting(0)="1" And Not Mybbs.Master Then Response.redirect "showerr.asp?action=lock&boardid="&Mybbs.boardID&"" End If If Mybbs.IsReadonly() And Not Mybbs.Master Then Response.redirect "showerr.asp?action=readonly&boardid="&Mybbs.boardID&"" Action = Request("Action") TotalUseTable = Mybbs.NowUseBBS Select Case Action Case "new" Action = 1 ActionName = template.Strings(0) ToAction = "SavePost.asp?Action=snew&boardid="&Mybbs.BoardID If Mybbs.GroupSetting(3)="0" Then Mybbs.AddErrCode(70) Case "re" Action = 2 ActionName = template.Strings(2) ToAction = "SavePost.asp?Action=sre&method=Topic&boardid="&Mybbs.BoardID If Mybbs.GroupSetting(5)="0" then Mybbs.AddErrCode(71) Case "vote" Action = 3 ActionName = template.Strings(4) ToAction = "SavePost.asp?Action=svote&boardid="&Mybbs.BoardID If Mybbs.GroupSetting(8)="0" then Mybbs.AddErrCode(56) Case "edit" Action = 4 ActionName = template.Strings(6) ToAction = "SavePost.asp?Action=sedit&boardid="&Mybbs.BoardID Case Else Action = 1 ActionName = template.Strings(0) End Select Star = Request("star") If Star = "" Or Not IsNumeric(Star) Then Star = 1 Star = Clng(Star) Page = Request("page") If Page = "" Or Not IsNumeric(Page) Then Page = 1 Page = Clng(Page) IsAudit = Cint(Mybbs.Board_Setting(3)) End Sub 'Action 1=发贴、2=回帖、3=投票、4=编辑 主体部分 Public Function Show_Post_Body() Chk_Post() Dim TempStr,TempArray,TempStr1,TempStr2,PostType signflag=1 mailflag=0 MyTopicMode=0 If Mybbs.UserID = 0 Then Mybbs.AddErrCode(6) Mybbs.ShowErr() TempStr = template.html(0) TempArray = Split(template.html(6),"||") If IsAudit = 1 Then TempStr = Replace(TempStr,"{$auditinfo}",template.Strings(9)) TempStr = Replace(TempStr,"{$auditinfo}","") If Action=1 Then TempStr = Replace(TempStr,"{$topicmode}",TopicMode(TempArray(4))) If signflag=1 Then TempStr = Replace(TempStr,"{$checkbox1}","checked") TempStr = Replace(TempStr,"{$checkbox1}","") Select Case mailflag Case 0 TempStr = Replace(TempStr,"{$checkbox2}","checked") Case 1 TempStr = Replace(TempStr,"{$checkbox3}","checked") Case 2 TempStr = Replace(TempStr,"{$checkbox4}","checked") Case 3 TempStr = Replace(TempStr,"{$checkbox5}","checked") Case Else TempStr = Replace(TempStr,"{$checkbox2}","checked") End Select TempStr = Replace(TempStr,"{$checkbox2}","") TempStr = Replace(TempStr,"{$checkbox3}","") TempStr = Replace(TempStr,"{$checkbox4}","") TempStr = Replace(TempStr,"{$checkbox5}","") If Mybbs.GroupSetting(51)="1" And (Action=1 Or Action=3) Then TempStr = Replace(TempStr,"{$useraction}",TempArray(3)) '话题 TempStr1 = Split(template.Strings(8),",") For i = 0 To Ubound(TempStr1) TempStr2 = TempStr2 & "<option value="&TempStr1(i)&">"&TempStr1(i)&"</option>" Next TempStr = Replace(TempStr,"{$topictype}",TempStr2) '特殊标题 If Mybbs.GroupSetting(51)="1" Then TempStr = Replace(TempStr,"{$topicstatsinfo}",TempArray(1)) TempStr = Replace(TempStr,"{$topicstatsinfo}","") '验证码Board_Setting(4) If Mybbs.Board_Setting(4)="0" Then TempStr = Replace(TempStr,"{$getcode}","") Else TempArray(5)= Replace(TempArray(5),"{$codestr}",Mybbs.GetCode&"<span id=GetCode></span>") TempStr = Replace(TempStr,"{$getcode}",TempArray(5)) End If '头像 TempStr = Replace(TempStr,"{$Forum_PostFace}",Mybbs.Forum_PostFace) TempStr = Replace(TempStr,"{$SelectFace}",Expression) '上传 If (Mybbs.GroupSetting(7)="1" Or Mybbs.GroupSetting(7)="2") and Mybbs.Forum_setting(43)<>999 Then TempStr = Replace(TempStr,"{$uploadinfo}",Temp_FileUpload) TempStr = Replace(TempStr,"{$uploadinfo}","") '标签判断部分 TempStr = Replace(TempStr,"{$ihtml}",Mybbs.Board_Setting(5)) TempStr = Replace(TempStr,"{$iubb}",Mybbs.Board_Setting(6)) TempStr = Replace(TempStr,"{$iimg}",Mybbs.Board_Setting(7)) TempStr = Replace(TempStr,"{$iflash}",Mybbs.Board_Setting(44)) TempStr = Replace(TempStr,"{$imidea}",Mybbs.Board_Setting(9)) TempStr = Replace(TempStr,"{$iemot}",Mybbs.Board_Setting(8)) TempStr = Replace(TempStr,"{$iupload}",Mybbs.GroupSetting(7)) TempStr = Replace(TempStr,"{$bodylimited}",Mybbs.Board_Setting(16)) TempStr = Replace(TempStr,"{$imoney}",Mybbs.Board_Setting(10)) TempStr = Replace(TempStr,"{$ipoint}",Mybbs.Board_Setting(11)) TempStr = Replace(TempStr,"{$iusercp}",Mybbs.Board_Setting(12)) TempStr = Replace(TempStr,"{$ipower}",Mybbs.Board_Setting(13)) TempStr = Replace(TempStr,"{$iarticle}",Mybbs.Board_Setting(14)) TempStr = Replace(TempStr,"{$ireplyview}",Mybbs.Board_Setting(15)) TempStr = Replace(TempStr,"{$iusemoney}",Mybbs.Board_Setting(23)) TempStr = Replace(TempStr,"{$iuseusername}",Mybbs.Board_Setting(56)) 'ubb部分 PostType = 1 TempStr = Replace(TempStr,"{$PostType}",PostType) TempStr = Replace(TempStr,"{$getubb}",Temp_UBBHTML()) '发贴心情 TempStr = Replace(TempStr,"{$Forum_emot}",Mybbs.Forum_emot) TempStr = Replace(TempStr,"{$Forum_sn}",Mybbs.Forum_sn) TempStr = Replace(TempStr,"{$star}",Star) TempStr = Replace(TempStr,"{$page}",Page) TempStr = Replace(TempStr,"{$actionname}",ActionName) TempStr = Replace(TempStr,"{$toaction}",ToAction) TempStr = Replace(TempStr,"{$topiclimited}",Mybbs.Board_Setting(45)) TempStr = Replace(TempStr,"{$boardid}",Mybbs.BoardID) TempStr = Replace(TempStr,"{$width}",Mybbs.mainsetting(0)) TempStr = Replace(TempStr,"{$alertcolor}",Mybbs.mainsetting(1)) TempStr = Replace(TempStr,"{$Forum_Emot}",Replace(Mybbs.Forum_Emot,"|||","<><><>")) TempStr = Replace(TempStr,"{$htmltool}",template.html(12)) If Mybbs.GroupSetting(62)="0" Then TempStr = Replace(TempStr,"{$AffordPost}","无限制") Else TempStr = Replace(TempStr,"{$AffordPost}",Mybbs.GroupSetting(62)) End If TempStr = Replace(TempStr,"{$UserToday}",Mybbs.UserToday(0)) Select Case Action Case 1 TempStr = Replace(TempStr,"{$rehiddeninput}","") TempStr = Replace(TempStr,"{$reinfo1}","") TempStr = Replace(TempStr,"{$edithiddeninput}","") TempStr = Replace(TempStr,"{$voteinfo}","") TempStr = Replace(TempStr,"{$useraction}","") TempStr = Replace(TempStr,"{$retopicloop}","") TempStr = Replace(TempStr,"{$membername}",Mybbs.MemberName) TempStr = Replace(TempStr,"{$memberword}","**********") TempStr = Replace(TempStr,"{$content}",server.htmlencode(Session(Mybbs.CacheName & "UserID")(37))) TempStr = Replace(TempStr,"{$retitle}","") TempStr = Replace(TempStr,"{$topic}","") TempStr = Replace(TempStr,"{$TopModeSelect}",MyTopicMode) TempStr = Replace(TempStr,"{$totalusetable}",TotalUseTable) Case 2 TempStr = Replace(TempStr,"{$voteinfo}","") TempStr = Replace(TempStr,"{$edithiddeninput}","") TempStr = Replace(TempStr,"{$topic}","") Dim retopicloop retopicloop = Get_Re_TopicInfo retopicloop=Replace(retopicloop,"$","$") TempStr = Replace(TempStr,"{$membername}",Mybbs.MemberName) TempStr = Replace(TempStr,"{$memberword}","**********") TempStr = Replace(TempStr,"{$useraction}","") TempStr = Replace(TempStr,"{$retitle}",Topic) TempStr = Replace(TempStr,"{$rehiddeninput}",Re_HiddenInput()) TempStr = Replace(TempStr,"{$reinfo1}",TempArray(0)) TempStr = Replace(TempStr,"{$topicmode}","") TempStr = Replace(TempStr,"{$retopicloop}",retopicloop) TempStr = Replace(TempStr,"{$TopModeSelect}",MyTopicMode) TempStr = Replace(TempStr,"{$totalusetable}",TotalUseTable) If Session(Mybbs.CacheName & "UserID")(37)<>"" And Trim(Content)="" Then TempStr = Replace(TempStr,"{$content}",server.htmlencode(Session(Mybbs.CacheName & "UserID")(37))) Else TempStr = Replace(TempStr,"{$content}",Content) End If TempStr = Replace(TempStr,"$","$") Case 3 TempStr1 = template.html(1) TempStr1 = Replace(TempStr1,"{$votelimited}",Mybbs.Board_Setting(32)) TempStr1 = Replace(TempStr1,"{$posttimesel}",TempArray(2)) TempStr = Replace(TempStr,"{$membername}",Mybbs.MemberName) TempStr = Replace(TempStr,"{$memberword}","**********") TempStr = Replace(TempStr,"{$voteinfo}",TempStr1) TempStr = Replace(TempStr,"{$topicmode}",TopicMode(TempArray(4))) TempStr = Replace(TempStr,"{$rehiddeninput}","") TempStr = Replace(TempStr,"{$reinfo1}","") TempStr = Replace(TempStr,"{$edithiddeninput}","") TempStr = Replace(TempStr,"{$TopModeSelect}",MyTopicMode) TempStr = Replace(TempStr,"{$useraction}","") TempStr = Replace(TempStr,"{$retopicloop}","") TempStr = Replace(TempStr,"{$totalusetable}",TotalUseTable) TempStr = Replace(TempStr,"{$content}",server.htmlencode(Session(Mybbs.CacheName & "UserID")(37))) TempStr = Replace(TempStr,"{$retitle}","") TempStr = Replace(TempStr,"{$topic}","") Case 4 Get_Edit_TopicInfo() TempStr = Replace(TempStr,"{$membername}",Mybbs.MemberName) TempStr = Replace(TempStr,"{$memberword}",Mybbs.memberword) TempStr = Replace(TempStr,"{$rehiddeninput}","") TempStr = Replace(TempStr,"{$reinfo1}","") TempStr = Replace(TempStr,"{$voteinfo}","") TempStr = Replace(TempStr,"{$retopicloop}","") TempStr = Replace(TempStr,"{$useraction}","") TempStr = Replace(TempStr,"{$edithiddeninput}",Edit_HiddenInput()) TempStr = Replace(TempStr,"{$topicmode}","") TempStr = Replace(TempStr,"{$totalusetable}",TotalUseTable) TempStr = Replace(TempStr,"{$TopModeSelect}",MyTopicMode) TempStr = Replace(TempStr,"{$topic}",Topic) TempStr = Replace(TempStr,"{$content}",Content) End Select Response.Write TempStr Response.Write "<script language=""javascript"">" Response.Write vbNewLine Response.Write "Maxtitlelength="&Mybbs.Board_Setting(45)&";" Response.Write vbNewLine If Action = 1 Or Action = 3 Then Response.Write "ispostnew=1;" Response.Write vbNewLine End If Response.Write "MaxConlength="&Mybbs.Board_Setting(16)&";" Response.Write vbNewLine Response.Write "</script>" Response.Cookies("Mybbs")="" End Function '专题下拉模式读取 Public Function TopicMode(SelectMode) If Cint(Mybbs.GroupSetting(65))=0 Then Exit Function If Replace(Mybbs.Board_Setting(48),"$$","")="" Then Exit Function Dim BoardTopic,iii BoardTopic=Split(Mybbs.Board_Setting(48),"$$") For iii=0 to Ubound(BoardTopic)-1 TopicMode=TopicMode+"<option value="&(iii+1) TopicMode=TopicMode+" >"&BoardTopic(iii)&"</option>" Next TopicMode=Replace(SelectMode,"{$TopicMode}",TopicMode) End Function '通用判断 Public Function Chk_Post() If Mybbs.Board_Setting(43)="1" Then Mybbs.AddErrCode(72) If Mybbs.Board_Setting(1)="1" and Mybbs.GroupSetting(37)="0" Then Mybbs.AddErrCode(26) If Mybbs.UserID>0 Then If Clng(Mybbs.GroupSetting(52))>0 And DateDiff("s",Mybbs.MyUserInfo(14),Now)<Clng(Mybbs.GroupSetting(52))*60 Then Response.redirect "showerr.asp?ErrCodes=<li>"&Replace(template.Strings(21),"{$timelimited}",Mybbs.GroupSetting(52))&"&action=OtherErr" If Mybbs.GroupSetting(62)<>"0" And Not Action = 4 Then If Clng(Mybbs.GroupSetting(62))<=Clng(Mybbs.UserToday(0)) Then Response.redirect "showerr.asp?ErrCodes=<li>"&Replace(template.Strings(27),"{$topiclimited}",Mybbs.GroupSetting(62))&"&action=OtherErr" End If End If If Mybbs.GroupSetting(3)="0" And (Action = 1 Or Action = 3) Then Response.redirect "showerr.asp?ErrCodes=<li>您没有发表新主题的权限&action=OtherErr" If Mybbs.GroupSetting(5)="0" And (Action = 2) Then Response.redirect "showerr.asp?ErrCodes=<li>您没有回复别人贴子的权限&action=OtherErr" End Function '得到回复或引用帖子的判断和相关信息 Public Function Get_Re_TopicInfo() Get_M_Request() ReplyID = Request("replyid") If ReplyID = "" Or Not IsNumeric(ReplyID) Then ReplyID = AnnounceID Set Rs=Mybbs.Execute("select PostTable from dv_topic where BoardID="&Mybbs.BoardID&" And TopicID="&AnnounceID) If Not (Rs.EOF And Rs.BOF) Then TotalUseTable=rs(0) Else Mybbs.AddErrCode(48) End If Set Rs=Nothing Mybbs.ShowErr() If ReplyID = AnnounceID Then Set Rs=Mybbs.Execute("select top 1 AnnounceID from "&TotalUseTable&" where RootID="&AnnounceID&" order by AnnounceID") If Not(Rs.BOF And Rs.EOF) Then ReplyID=rs(0) Else Mybbs.AddErrCode(48) End If Set Rs=Nothing Mybbs.ShowErr() End If Set Rs=Mybbs.Execute("select b.body,b.topic,b.locktopic,b.username,b.dateandtime,b.isbest,u.lockuser,u.UserGroupID,b.UbbList from "&TotalUseTable&" b inner join [dv_user] u on b.postuserid=u.userid Where b.AnnounceID="&ReplyID) If Rs.EOF And Rs.BOF Then Mybbs.AddErrCode(48) Else If rs("lockuser")=1 Or rs("lockuser")=2 Then Content="" ElseIf Rs("locktopic")=2 Then Content="" ElseIf (rs("isbest")=1 and Mybbs.GroupSetting(41)="0")Then Content="" Else Content=rs("body") End If Topic=Rs("topic") UserName=rs("username") DateAndTime=rs("dateandtime") UbbLists=Rs("UbbList") If UserName=Mybbs.membername Then If Cint(Mybbs.GroupSetting(4))=0 Then Mybbs.AddErrCode(73) Else If Cint(Mybbs.GroupSetting(2))=0 Then Mybbs.AddErrCode(31) End If End If Set Rs=Nothing Mybbs.ShowErr() If Topic<> "" Then Topic="回复:(" & UserName & ")" & Topic Else Topic="回复:(" & UserName & ")" & Content End If Topic=cutStr(Topic,50) Topic=Replace(Replace(Replace(Replace(Topic,"\","\\"),"'","\'"),VbCrLf,"\n"),chr(13),"") If Request("reply")="true" Then Content = reubbcode(Content) Content = Ubb2Html(Content) Content = "<DIV class=quote><B>以下是引用<i>"&UserName&"</i>在"&DateAndTime&"的发言:</B><br>"& Content & "</DIV><p>" Content = Server.HtmlEncode(Content) Else Content = "" End If '主题跟贴部分信息 Dim PostUserGroup,TempStr1,TempStr2,TempStr3 TempStr1 = Replace(template.html(7),"{$width}",Mybbs.mainsetting(0)) '<!--post.asp##回帖帖子循环部分--> Set Rs=Mybbs.Execute("Select top 10 b.UserName,b.Topic,b.dateandtime,b.body,b.AnnounceID,b.isbest,u.lockuser,u.UserGroupID,b.postbuyuser,b.ubblist,b.IsAudit,b.locktopic from "&TotalUseTable&" b inner join [dv_user] u on b.postuserid=u.userid where b.boardid="&Mybbs.boardid&" and b.RootID="&AnnounceID&" order by b.AnnounceID desc") Do While Not Rs.EOF TempStr2 = TempStr1 UserName = Rs("UserName") PostUserGroup=rs("UserGroupID") postbuyuser=rs("postbuyuser") UbbLists=Rs("UbbList") If bgcolor="tablebody1" Then bgcolor="tablebody2" abgcolor="tablebody1" Else bgcolor="tablebody1" abgcolor="tablebody2" End If TempStr2 = Replace(TempStr2,"{$tablebody}",bgcolor) TempStr2 = Replace(TempStr2,"{$username}",Mybbs.HtmlEncode(Rs("UserName"))) TempStr2 = Replace(TempStr2,"{$dateandtime}",Rs("DateAndTime")) If Rs("lockuser")=2 or Rs("locktopic")=2 Then TempStr2 = Replace(TempStr2,"{$body}",template.Strings(10)) ElseIf Rs("lockuser")=1 Then TempStr2 = Replace(TempStr2,"{$body}",template.Strings(11)) ElseIf Rs("isbest")=1 and Mybbs.GroupSetting(41)="0" Then TempStr2 = Replace(TempStr2,"{$body}",template.Strings(12)) Else If InStr(Ubblists,",39,") > 0 Then TempStr2 = Replace(TempStr2,"{$body}",dv_ubb.Dv_UbbCode(Rs("body"),PostUserGroup,1,0)) Else TempStr2 = Replace(TempStr2,"{$body}",dv_ubb.Dv_UbbCode(Rs("body"),PostUserGroup,1,1)) End If End If TempStr2 = Replace(TempStr2,"{$topic}",Mybbs.HtmlEncode(Rs("Topic"))) TempStr3 = TempStr3 & TempStr2 Rs.MoveNext Loop Rs.close Set Rs=Nothing Get_Re_TopicInfo = TempStr3 End Function '取得编辑贴页面信息 Public Function Get_Edit_TopicInfo() Get_M_Request() ReplyID = Request("replyid") If ReplyID = "" Or Not IsNumeric(ReplyID) Then Mybbs.AddErrCode(30) Mybbs.ShowErr() ReplyID = Clng(ReplyID) Set Rs=Mybbs.Execute("select PostTable,TopicMode from dv_topic where TopicID="&AnnounceID) If Rs.Eof And Rs.Bof Then Mybbs.AddErrCode(48) Else TotalUseTable = Rs(0) MyTopicMode = Rs(1) Rem 旧帖的主题模式值可能为空,则需要加入判断。2004-5-6 Mybbs.YangZheng If Isnull(MyTopicMode) Or MyTopicMode = "" Then MyTopicMode = 0 End If Rs.close Get_Edit_PermissionInfo() If Content<>"" then Dim re Set re=new RegExp re.IgnoreCase =true re.Global=True re.Pattern=vbNewLine&"<div align=right><font color=#000066>(.|\n)*<\/font><\/div>" Content=re.Replace(Content,"") re.Pattern=vbNewLine&"\[align=right\]\[color=#000066\](.|\n)*\[\/color\]\[\/align\]" Content=re.Replace(Content,"") re.Pattern="<div align=right><font color=#000066>(.|\n)*<\/font><\/div>" Content=re.Replace(Content,"") re.Pattern="\[align=right\]\[color=#000066\](.|\n)*\[\/color\]\[\/align\]" Content=re.Replace(Content,"") 're.Pattern="\[i\](.*)\[\/i\]" 'Content=re.Replace(Content,"$1") set re=Nothing Content=Ubb2Html(Content) Content=Server.htmlencode(Content) End If End Function '判断用户是否有编辑权限且提取相关信息 Public Function Get_Edit_PermissionInfo() Dim old_user If Action = 4 Then Set Rs=Mybbs.Execute("select b.username,b.topic,b.body,b.dateandtime,u.UserGroupID,b.signflag,b.emailflag,b.UbbList,b.Expression from "&TotalUseTable&" b,[dv_user] u where b.postuserid=u.userid and b.RootID="&AnnounceID&" and b.AnnounceID="&replyID) Else Set Rs=Mybbs.Execute("select b.username,b.topic,b.body,b.dateandtime,u.UserGroupID,b.signflag,b.emailflag,b.UbbList,b.Expression from "&TotalUseTable&" b,[dv_user] u where b.postuserid=u.userid and b.RootID="&RootID&" and b.AnnounceID="&AnnounceID) End If If Rs.Eof And Rs.Bof Then Mybbs.AddErrCode(48) Else Expression=Rs("Expression") If Action = 4 Then signflag=Rs("signflag") mailflag=Rs("emailflag") Topic=rs("topic") If Topic<>"" Then Topic = Server.HtmlEncode(Topic) topic=Replace(topic,"amp;","") Content=rs("body") old_user=rs("username") UbbLists=rs("UbbList") Else If Clng(Mybbs.forum_setting(50))>0 then If Datediff("s",rs("dateandtime"),Now())>Clng(Mybbs.forum_setting(50))*60 then Content = Content+chr(13)+chr(10)+char_changed+chr(13) Else Content = Content End If Else Content = Content+chr(13)+chr(10)+char_changed+chr(13) End If End If If Clng(Mybbs.forum_setting(51))>0 and not (Mybbs.master or Mybbs.boardmaster or Mybbs.superboardmaster) Then If DateDiff("s",rs("dateandtime"),Now())>Clng(Mybbs.forum_setting(51))*60 then Response.redirect "showerr.asp?ErrCodes=<li>"&Replace(Replace(template.Strings(22),"{$posttime}",Datediff("s",rs("dateandtime"),Now())/60),"{$etlimited}",Mybbs.forum_setting(51))&"&action=OtherErr" End If If Rs("username")=Mybbs.membername Then If Mybbs.GroupSetting(10)="0" then Mybbs.AddErrCode(74) CanEditPost=False Else CanEditPost=True End If Else If (Mybbs.master or Mybbs.superboardmaster or Mybbs.boardmaster) and Mybbs.GroupSetting(23)="1" then CanEditPost=True Else CanEditPost=False End If If Cint(Mybbs.UserGroupID) > 3 And Mybbs.GroupSetting(23)="1" Then CanEditPost=true If Mybbs.GroupSetting(23)="1" and Mybbs.founduserPer Then CanEditPost=True ElseIf Mybbs.GroupSetting(23)="0" And Mybbs.founduserPer Then CanEditPost=False End If If Cint(Mybbs.UserGroupID) < 4 And Cint(Mybbs.UserGroupID) = rs("UserGroupID") Then Mybbs.AddErrCode(75) ElseIf Cint(Mybbs.UserGroupID) < 4 and Cint(Mybbs.UserGroupID) > rs("UserGroupID") Then Mybbs.AddErrCode(76) End If If Not CanEditPost Then Mybbs.AddErrCode(77) End If End If Set Rs=Nothing Mybbs.ShowErr() If Action = 4 Then Mybbs.MemberName=old_user End Function '返回判断和参数 Public Function Get_M_Request() AnnounceID = Request("ID") If AnnounceID = "" Or Not IsNumeric(AnnounceID) Then Mybbs.AddErrCode(30) Mybbs.ShowErr() AnnounceID = Clng(AnnounceID) End Function '只读,获得回复隐含Input模板 Public Property Get Re_HiddenInput() Re_HiddenInput = template.html(4) Re_HiddenInput = Replace(Re_HiddenInput,"{$announceid}",AnnounceID) Re_HiddenInput = Replace(Re_HiddenInput,"{$replyid}",ReplyID) End Property '只读,获得编辑隐含Input模板 Public Property Get Edit_HiddenInput() Edit_HiddenInput = template.html(5) Edit_HiddenInput = Replace(Edit_HiddenInput,"{$announceid}",AnnounceID) Edit_HiddenInput = Replace(Edit_HiddenInput,"{$replyid}",ReplyID) End Property '只读,获得上传表单模板 Public Property Get Temp_FileUpload() Dim TempArray,TempStr1 Temp_FileUpload = template.html(2) TempArray = Split(Mybbs.Board_Setting(19),"|") For i = 0 To Ubound(TempArray) TempStr1 = TempStr1 & "<div class=menuitems><a href=#>"&TempArray(i)&"</a></div>" Next Temp_FileUpload = Replace(Temp_FileUpload,"{$uploadlist}",TempStr1) End Property '只读,获得UBB模板 Public Property Get Temp_UBB() Dim TempArray Temp_UBB = template.html(3) TempArray = Split(template.html(9),"|") For i = 1 To Ubound(TempArray) Temp_UBB = Replace(Temp_UBB,"{$ubb"&i&"}",TempArray(0) & TempArray(i)) Next End Property '只读,获得UBB——HTML编辑器模板 Public Property Get Temp_UBBHTML() Dim TempArray Temp_UBBHTML = template.html(11) Temp_UBBHTML=Replace(Temp_UBBHTML,"{$old_oldToolbars}",Temp_UBB) End Property End Class '截取指定字符 Function cutStr(str,strlen) '去掉所有HTML标记 Dim re Set re=new RegExp re.IgnoreCase =True re.Global=True re.Pattern="<(.[^>]*)>" str=re.Replace(str,"") set re=Nothing Dim l,t,c,i l=Len(str) t=0 For i=1 to l c=Abs(Asc(Mid(str,i,1))) If c>255 Then t=t+2 Else t=t+1 End If If t>=strlen Then cutStr=left(str,i)&"..." Exit For Else cutStr=str End If Next cutStr=Replace(cutStr,chr(10),"") cutStr=Replace(cutStr,chr(13),"") End Function '过滤不必要UBB Function reUBBCode(strContent) Dim re Set re=new RegExp re.IgnoreCase =True re.Global=True re.Pattern="(<DIV class=quote><b>以下是引用(.|\n)*<\/div>)" strContent=re.Replace(strContent,"") re.Pattern="<div align=right><font color=#000066>(.|\n)*<\/font><\/div>" strContent=re.Replace(strContent,"") re.Pattern="\[align=right\]\[color=#000066\](.|\n)*\[\/color\]\[\/align\]" strContent=re.Replace(strContent,"") re.Pattern="(\[QUOTE\])(.|\n)*(\[\/QUOTE\])" strContent=re.Replace(strContent,"$2") re.Pattern="(\[point=*([0-9]*)\])(.|\n)*(\[\/point\])" strContent=re.Replace(strContent,"") re.Pattern="(\[post=*([0-9]*)\])(.|\n)*(\[\/post\])" strContent=re.Replace(strContent,"") re.Pattern="(\[power=*([0-9]*)\])(.|\n)*(\[\/power\])" strContent=re.Replace(strContent,"") re.Pattern="(\[usercp=*([0-9]*)\])(.|\n)*(\[\/usercp\])" strContent=re.Replace(strContent,"") re.Pattern="(\[money=*([0-9]*)\])(.|\n)*(\[\/money\])" strContent=re.Replace(strContent,"") re.Pattern="(\[replyview\])(.|\n)*(\[\/replyview\])" strContent=re.Replace(strContent,"") re.Pattern="(\[usemoney=*([0-9]*)\])(.|\n)*(\[\/usemoney\])" strContent=re.Replace(strContent,"") re.Pattern="(\[UserName=(.[^\[]*)\])(.|\n)*(\[\/UserName\])" strContent=re.Replace(strContent,"") re.Pattern=" " strContent=re.Replace(strContent," ") re.Pattern="<I><\/I>" strContent=re.Replace(strContent,"") set re=Nothing reUBBCode=strContent End Function '编辑时用(对旧数据兼容) Function Ubb2Html(str) If Str<>"" And Not IsNull(Str) Then Dim re Set re=new RegExp re.IgnoreCase =True re.Global=True re.Pattern="(>)("&vbNewLine&")(<)" Str=re.Replace(Str,"$1$3") re.Pattern="(>)("&vbNewLine&vbNewLine&")(<)" Str=re.Replace(Str,"$1$3") re.Pattern=vbNewLine Str=re.Replace(Str,"<br>") re.Pattern="( )" Str=re.Replace(Str," ") re.Pattern="<I><\/I>" Str=re.Replace(Str,"") re.Pattern="( )" Str=re.Replace(Str," ") re.Pattern="<(\w+)( )+([^>]*)>" Str = re.Replace(Str,"<$1 $3>") If Request("reply")="true" Then re.Pattern="(<DIV class=quote><b>以下是引用(.|\n)*<\/div>)" Str=re.Replace(Str,"") re.Pattern="(\[quote\]<b>以下是引用(.|\n)*\[\/quote\])" Str=re.Replace(Str,"") re.Pattern="(\[quote\]\[b\]以下是引用(.|\n)*\[\/quote\])" Str=re.Replace(Str,"") End If Set Re=Nothing Ubb2Html = Str Else Ubb2Html = "" End If End Function %>