www.gusucode.com > ASP+ACCESS学生论坛设计与实现(源代码+论文+开题报告) > ASP+ACCESS学生论坛设计与实现(源代码+论文+开题报告)\13学生论坛ASPAC\BBS\loadtree.asp
<!--#include file="conn.asp"--> <!--#include file="inc/const.asp"--> <!--#include file="inc/dv_clsother.asp"--> <!--#include file="inc/dv_ubbcode.asp"--> <% If Mybbs.BoardID = 0 Then Response.Write "参数错误" Response.End End If If Mybbs.GroupSetting(2)="0" Then Response.Write "<script language=""javascript"">alert('您没有权限查看贴子!')</script>" Response.End End If Mybbs.LoadTemplates("dispbbs") Showtitle() Mybbs.Head() Showtree() Mybbs.Footer() Sub Showtitle() Dim treeData treeData=template.html(11) treeData=Replace(treeData,"{$treeloop}",template.html(14)) Response.Write "<script language=""javascript"">" Response.Write Chr(10) Response.Write "var treedata='" Response.Write Replace(Replace(Replace(Replace(treeData,"\","\\"),"'","\'"),VbCrLf,"\n"),chr(13),"") Response.Write "';" Response.Write vbNewLine template.html(13)=split(template.html(13),"||") Response.Write template.html(13)(0) Response.Write Chr(10) Response.Write "</script>" Response.flush End Sub Sub Showtree() '接收参数 Dim AnnounceID,ReplyID,Star,TotalUseTable,openid openid=Request("openid") If openid="" Or Not IsNumeric(openid) Then openid=0 openid=CLng(openid) AnnounceID=Request("ID") If AnnounceID="" Or Not IsNumeric(AnnounceID) Then Exit Sub AnnounceID=CLng(AnnounceID) ReplyID=Request("ReplyID") If ReplyID="" Or Not IsNumeric(ReplyID) Then ReplyID=AnnounceID ReplyID=CLng(ReplyID) Star=Request("Star") If Star="" Or Not IsNumeric(Star) Then Star=1 Star=Clng(Star) Dim SQl,Rs sql="Select PostTable from Dv_topic where topicID="&Announceid Set rs=Mybbs.Execute(sql) If Not Rs.eof Then TotalUseTable=Rs(0) End If Dim tmpstr,treedata,blank,i,j,RecordCount,PageCount PageCount=0 If TotalUseTable <>"" Then Set Rs=server.createobject("adodb.recordset") sql="select t.AnnounceID,t.parentID,t.BoardID,t.UserName,t.PostUserid,t.Topic,t.DateAndTime,t.length,t.RootID,t.layer,t.orders,t.Expression,t.body,t.locktopic,u.LockUser from "&TotalUseTable&" t Inner Join [dv_user] U On T.postuserid=u.userid where BoardID="&Mybbs.BoardID&" and t.RootID="&Announceid&" and t.BoardID<>777 and t.BoardID<>444 order by t.RootID desc,t.orders" rs.open sql,conn,1,1 j=0 RecordCount=Rs.RecordCount If Not(Rs.EOF And Rs.BOF) Then Rs.PageSize=Cint(Mybbs.Board_Setting(27)) Rs.AbsolutePage=Star PageCount=Rs.PageCount Do while Not Rs.EOF treedata=template.html(12) For i=1 to Rs(9) blank=blank&" " Next If Rs("locktopic")=2 Then treedata=Replace(treedata,"{$topic}","==此发言已被管理员屏蔽==") ElseIf Rs("LockUser")=1 Then treedata=Replace(treedata,"{$topic}","==此人已被管理员锁定==") ElseIf Rs("LockUser")=2 Then treedata=Replace(treedata,"{$topic}","==此人所有发言已被管理员屏蔽==") Else If Rs("topic")="" or isnull(rs("topic")) Then treedata=Replace(treedata,"{$topic}",cutStr(Reubbcode(Rs("body")),35)) Else treedata=Replace(treedata,"{$topic}",cutStr(Rs("Topic"),35)) End If End If If Rs(0)=openid Then treedata=Replace(treedata,"{$alertcolor}",Mybbs.mainsetting(1)) Else treedata=Replace(treedata,"{$alertcolor}","") End If treedata=Replace(treedata,"{$announceid}",Rs(0)) treedata=Replace(treedata,"{$boardid}",Rs(2)) treedata=Replace(treedata,"{$username}",Rs(3)) treedata=Replace(treedata,"{$DateAndTime}",Rs(6)) If Rs(7)=0 Then treedata=Replace(treedata,"{$length}",template.Strings(14)) Else treedata=Replace(treedata,"{$length}",Rs(7)&template.Strings(13)) End If treedata=Replace(treedata,"{$rootid}",Rs(8)) treedata=Replace(treedata,"{$Expression}",Rs(11)) treedata=Replace(treedata,"{$blank}",blank) blank="" tmpstr=tmpstr&treedata Rs.MoveNext j=j+1 If j=Cint(Mybbs.Board_Setting(27)) Then Exit Do Loop End If Rs.close Set rs=Nothing End If template.html(11)=Replace(template.html(11),"{$treeloop}",tmpstr) Response.Write "<script language=""javascript"">" Response.Write Chr(10) Response.Write "var treedata='" Response.Write Replace(Replace(Replace(Replace(template.html(11),"\","\\"),"'","\'"),VbCrLf,"\n"),chr(13),"") Response.Write "';" Response.Write vbNewLine Response.Write template.html(13)(0) tmpstr=template.html(13)(1) tmpstr=Replace(tmpstr,"{$alertcolor}",Mybbs.mainsetting(1)) tmpstr=Replace(tmpstr,"{$boardid}",Mybbs.BoardID) tmpstr=Replace(tmpstr,"{$replyid}",ReplyID) tmpstr=Replace(tmpstr,"{$announceid}",AnnounceID) tmpstr=Replace(tmpstr,"{$openid}",openid) Response.Write tmpstr '//树型分页代码,参数:页码,记录总数,每页显示数,页数 'function showpage(page,RecordCount,PageSize,PageCount) Response.Write "showpage("&Star&","&RecordCount&","&Cint(Mybbs.Board_Setting(27))&","&PageCount&");" Response.Write Chr(10) Response.Write "</script>" End Sub Function reUBBCode(strContent) Dim re Set re=new RegExp re.IgnoreCase =True re.Global=True strContent=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," ") strContent=replace(strContent,"<I></I>","") set re=Nothing reUBBCode=strContent End Function '截取指定字符 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 str=Replace(str,chr(10),"") str = Mybbs.HTMLEncode(str) 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 End Function %>