📄 dispbbs.asp
字号:
<!--#include file="conn.asp"-->
<!--#include file="inc/const.asp"-->
<!--#include file="inc/dv_clsother.asp"-->
<!--#include file="inc/dv_ubbcode.asp"-->
<!--#include file="inc/ubblist.asp"-->
<%
If Dvbbs.BoardID = 0 Then
Response.Write "参数错误"
Response.End
End If
Dvbbs.LoadTemplates("dispbbs")
Dim AnnounceID,ReplyID,Star,Skin,followup
Dim CanReply,IsTop,IsVote,TopicCount,PollID,TotaluseTable,ViewNum,Topic,TopicMode
Dim PostBuyUser,abgcolor,bgcolor,UserName
Chk_Topic_Err
Dvbbs.Showerr()
Dvbbs.Nav()
Dvbbs.Showerr()
Dvbbs.Head_var 1,Dvbbs.Board_Data(4,0),"",""
Dvbbs.ActiveOnline()
Dim Page,LockTopic
Dim action
Dim TopicNum,n,SplitPageNum
Dim EmotPath
EmotPath=Split(Dvbbs.Forum_emot,"|||")(0) 'em心情路径
action=Request("action")
Page=Request("Page")
If isNumeric(Page) = 0 or Page="" Then Page=1
Page=Clng(Page)
Show_Topic_Top()
Dvbbs.ShowErr()
Dim dv_ubb
Set dv_ubb=new Dvbbs_UbbCode
Show_Topic_Body
Set dv_ubb=Nothing
If Skin=1 Then showtree()
If CanReply Then Show_Topic_FastRe
If Dvbbs.UserID>0 Then Show_Topic_ManageAction
Dvbbs.NewPassword()
Dvbbs.Footer()
Function Chk_Topic_Err
AnnounceID=Request("ID")
If AnnounceID="" Or Not IsNumeric(AnnounceID) Then Dvbbs.AddErrCode(30)
ReplyID=Request("ReplyID")
If ReplyID="" Or Not IsNumeric(ReplyID) Then ReplyID=AnnounceID
Star=Request("Star")
If Star="" Or Not IsNumeric(Star) Then Star=1
Star=Clng(Star)
Skin=Request("Skin")
If Skin="" Or Not IsNumeric(Skin) Then Skin=Dvbbs.Board_setting(24)
If Dvbbs.ErrCodes<>"" Then Exit Function
Dim BrowserType
Set BrowserType=New Cls_Browser
If BrowserType.IsSearch Then Response.redirect "printpage.asp?BoardID="&Dvbbs.BoardID&"&ID="&AnnounceID
Set BrowserType=Nothing
Dim SQl,Rs
Dim MyCanReply
Set Rs=Server.CreateObject("Adodb.RecordSet")
SQL="Select title,istop,isbest,PostUserName,PostUserid,hits,isvote,child,pollid,LockTopic,PostTable,BoardID,TopicMode from dv_topic where topicID="&Announceid
If Not IsObject(Conn) Then ConnectionDatabase
Rs.Open SQL,Conn,1,3
Dvbbs.SqlQueryNum=Dvbbs.SqlQueryNum+1
'Set Rs=Dvbbs.Execute(SQL)
If Not(Rs.BOF and Rs.EOF) then
If Rs(11)<>Dvbbs.BoardID Then Dvbbs.AddErrCode(29)
Rs(5)=Rs(5)+1
Rs.Update
Topic=Rs(0)
istop=rs(1)
isVote=rs(6)
TopicCount=rs(7)+1
pollid=rs(8)
Locktopic=rs(9)
TotalUseTable=rs(10)
TopicMode=rs(12)
ViewNum=Rs(5)
If rs(3)=Dvbbs.Membername then
MyCanReply=Dvbbs.GroupSetting(4)
Else
MyCanReply=Dvbbs.GroupSetting(5)
If Cint(Dvbbs.GroupSetting(2))=0 Then Dvbbs.AddErrcode(31)
End If
If Len(Topic) > Cint(Dvbbs.Board_Setting(25)) And Not TopicMode>0 Then
Topic=Left(Topic,Dvbbs.Board_Setting(25))&"..."
End If
If TopicMode>0 Then
If TopicMode=1 Then
Topic = Replace(Topic,"<!--","<!--")
Else
Topic = Replace(Topic,"<","<")
Topic = Replace(Topic,">",">")
Topic=Dvbbs_TopicMode(Topic,TopicMode)
End If
Else
Topic = Replace(Topic,"<","<")
Topic = Replace(Topic,">",">")
End If
Topic=Dvbbs.ChkBadWords(Topic)
Dvbbs.Stats=Topic
Else
Dvbbs.AddErrcode(32)
End If
Rs.Close
Set Rs=Nothing
CanReply=False
If (Not Dvbbs.Board_Setting(0)="1" And Cint(mycanreply)=1 And Cint(locktopic)=0) Or (Dvbbs.master Or Dvbbs.superboardmaster Or Dvbbs.boardmaster) Then
CanReply=True
End If
End Function
Function Show_Topic_Top()
Dim TempStr,MyTempStr
If (Dvbbs.Board_Setting(43)="0" And Dvbbs.Board_Setting(0)="0") Or (Dvbbs.Board_Setting(43)="0" And Dvbbs.Board_Setting(0)="1" And (Dvbbs.Master Or Dvbbs.SuperBoardMaster Or Dvbbs.BoardMaster)) Then
MyTempStr=Split(template.html(1),"||")
TempStr=Replace(MyTempStr(0),"{$pic_newpost}",Dvbbs.mainpic(7))
TempStr=Replace(TempStr,"{$pic_newvote}",Dvbbs.mainpic(8))
If Dvbbs.Forum_ChanSetting(0)=1 And Dvbbs.Forum_ChanSetting(7)=1 Then
TempStr=TempStr & MyTempStr(1)
End If
Else
If Dvbbs.Board_Setting(0)="1" Then TempStr=template.Strings(0)
End If
TempStr=Replace(template.html(0),"{$topicpostinfo}",TempStr)
TempStr=Replace(TempStr,"{$width}",Dvbbs.mainsetting(0))
TempStr=Replace(TempStr,"{$boardid}",Dvbbs.BoardID)
TempStr=Replace(TempStr,"{$page}",page)
TempStr=Replace(TempStr,"{$replyid}",ReplyID)
TempStr=Replace(TempStr,"{$star}",Star)
TempStr=Replace(TempStr,"{$announceid}",AnnounceID)
TempStr=Replace(TempStr,"{$viewnum}",ViewNum)
Dim Skinpic,Skinname,nskin
If Skin="1" Then
nskin=0
Skinpic=template.pic(1)
Skinname=template.Strings(2)
Else
nskin=1
Skinpic=template.pic(0)
Skinname=template.Strings(1)
End If
TempStr=Replace(TempStr,"{$skin}",nskin)
TempStr=Replace(TempStr,"{$skinname}",skinname)
TempStr=Replace(TempStr,"{$skinpic}",skinpic)
TempStr=Replace(TempStr,"{$topic}",Topic)
If IsVote=1 Then
TempStr=Replace(TempStr,"{$voteinfo}",Show_Topic_Vote)
Else
TempStr=Replace(TempStr,"{$voteinfo}","")
End If
Response.Write TempStr
End Function
Function Show_Topic_Body()
If UBound(Dvbbs.Forum_ads)>13 Then
Dvbbs.Forum_ads(14)=Split(Dvbbs.Forum_ads(14),vbNewLine)
End If
Dim SQL,Rs,i
Dim TopicPageList,Pcount
Dim layer
TopicPageList=Dvbbs.Board_Setting(27)
With Response
.Write "<Script Language=JavaScript>"
.Write template.html(4)
.Write "var TempStr='"&Replace(Replace(Replace(Replace(Replace(template.html(2),"{$boardtype}",Server.Htmlencode(Dvbbs.Board_Data(1,0))),"\","\\"),"'","\'"),VbCrLf,"\n"),chr(13),"")&"';"
.Write "var sTempStr='"&Replace(Replace(Replace(Replace(template.html(3),"\","\\"),"'","\'"),VbCrLf,"\n"),chr(13),"")&"';"
.Write "sTempStr=sTempStr.split(""||"");"
.Write "var alertcolor='"&Dvbbs.mainsetting(1)&"';"
.Write "var Board_Setting27='"&TopicPageList&"';"
.Write "var fontsize='"&Dvbbs.Board_Setting(28)&"';"
.Write "var lineheight='"&Dvbbs.Board_Setting(29)&"';"
.Write "var Forum_Setting42='"&Dvbbs.Forum_Setting(42)&"';"
.Write "var facesetting='"&Dvbbs.Forum_Setting(53)&"';"
.Write "var votemoney='"&Dvbbs.GroupSetting(47)&"';"
.Write "var Forum_ChanSetting0='"&Dvbbs.Forum_ChanSetting(0)&"';"
.Write "var Forum_ChanSetting5='"&Dvbbs.Forum_ChanSetting(5)&"';"
.Write "var Forum_ChanSetting6='"&Dvbbs.Forum_ChanSetting(6)&"';"
.Write "var Forum_ChanSetting7='"&Dvbbs.Forum_ChanSetting(7)&"';"
.Write "var topfloor='"&template.Strings(3)&"';"
.Write "var floor='"&template.Strings(4)&"';"
.Write "var lockuserinfo1='"&template.Strings(5)&"';"
.Write "var lockuserinfo2='"&template.Strings(7)&"';"
.Write "var noviewbest='"&template.Strings(6)&"';"
.Write "var actioninfo1='"&template.Strings(8)&"';"
.Write "var actioninfo2='"&template.Strings(9)&"';"
.Write "var GroupSetting41='"&Dvbbs.GroupSetting(41)&"';"
.Write "var TopicMode='"&TopicMode&"';"
.Write "var mainsetting='"&Dvbbs.mainhtml(0)&"';"
.Write "var mainsetting=mainsetting.split(""||"");"
.Write "var TopicNum='"&TopicCount&"';"
.Write "</Script>"
SQL="B.AnnounceID,B.BoardID,B.UserName,B.Topic,B.dateandtime,B.body,B.Expression,B.ip,B.RootID,B.signflag,B.isbest,B.PostUserid,B.layer,b.isagree,U.useremail,U.UserIM,U.UserMobile,U.Usersign,U.userclass,U.Usertitle,U.Userwidth,U.Userheight,U.UserPost,U.Userface,U.JoinDate,U.userWealth,U.userEP,U.userCP,U.Userbirthday,U.Usersex,u.UserGroup,u.LockUser,u.userPower,U.titlepic,U.UserGroupID,U.LastLogin,B.PostBuyUser,U.UserHidden,U.IsChallenge,B.Ubblist,B.LockTopic"
If cint(skin)=1 and Clng(replyid)=Clng(Announceid) Then
SQL="Select top 1 "&SQL&" From "&TotalUseTable&" B Inner Join [dv_user] U On U.UserID=B.PostUserID Where B.BoardID="&Dvbbs.BoardID&" And B.RootID="&AnnounceID&" Order By B.AnnounceID, B.DateAndTime"
ElseIf cint(skin)=1 Then
SQL="Select "&SQL&" From "&TotalUseTable&" B Inner Join [dv_user] U On U.UserID=B.PostUserID Where B.BoardID="&Dvbbs.BoardID&" And B.AnnounceID="&replyID
Else
Dim AnnounceIDlists
AnnounceIDlists=AnnounceIDlist()
SQL="Select "&SQL&" From "&TotalUseTable&" B Inner Join [dv_user] U On U.UserID=B.PostUserID Where B.RootID="&Announceid&" And B.BoardID="&Dvbbs.BoardID&" And B.AnnounceID in ("&AnnounceIDlists&") Order BY B.AnnounceID, B.DateAndTime"
End If
Set Rs =Dvbbs.Execute(SQL)
If Rs.EOF And Rs.BOF Then
Dvbbs.AddErrCode(33)
Exit Function
End If
If Not(Rs.EOF And Rs.BOF) Then
followup = Rs("AnnounceID")
If TopicCount mod Cint(TopicPageList)=0 then
Pcount= TopicCount \ Cint(TopicPageList)
Else
Pcount= TopicCount \ Cint(TopicPageList)+1
End If
'Rs.MoveFirst
If star > Pcount Then star = Pcount
If star < 1 Then star = 1
'If Cint(skin) <> 1 Then Rs.Move (star-1) * TopicPageList
.Write "<Script Language=JavaScript>"
.Write "var star='"&star&"';"
.Write "</Script>"
'AnnounceID=0,BoardID=1,UserName=2,Topic=3,dateandtime=4,body=5,
'Expression=6,ip=7,RootID=8,signflag=9,isbest=10,PostUserid=11,
'layer=12,isagree=13,useremail=14,UserIM=15,UserMobile=16,sign=17,
'userclass=18,title=19,width=20,height=21,article=22,face=23,JoinDate=24,
'userWealth=25,userEP=26,userCP=27,birthday=28,sex=29,UserGroup=30,LockUser=31,
'userPower=32,titlepic=33,UserGroupID=34,LastLogin=35,PostBuyUser=36,Ubblists=39,LockTopic=40
Dim k,rndnum,TopicAddata,Topic_Ads,UserSign,TopicBody
K=0
Dim MyTempStr,ReplaceStr
SQL=Rs.GetRows(TopicPageList)
Set Rs=Nothing
For i=0 To Ubound(SQL,2)
.Write "<a name="&SQL(0,i)&"></a>"
.Write "<Script Language=JavaScript>"
UserName=Dvbbs.HtmlEncode(SQL(2,i))
If SQL(40,i)=2 Then
.Write "var actioninfo3='"&template.Strings(16)&"';"
Else
.Write "var actioninfo3='"&template.Strings(15)&"';"
End If
If bgcolor="tablebody1" Then
bgcolor="tablebody2"
abgcolor="tablebody1"
Else
bgcolor="tablebody1"
abgcolor="tablebody2"
End If
ReplyID=SQL(0,i)
PostBuyUser=SQL(36,i)
Topic_Ads=""
If Dvbbs.Forum_ChanSetting(5)="1" Then
If Dvbbs.Forum_AdLoop3<>"" Then
Randomize
rndnum=Cint((i3-1)*rnd+1)
If rndnum=0 Then rndnum=1
TopicAddata=Ad_3(rndnum-1)
TopicAddata=Replace(Replace(TopicAddata,"\","\\"),"'","\'")
Topic_Ads=TopicAddata
TopicAddata=""
Else
Topic_Ads=""
End If
Else
If UBound(Dvbbs.Forum_ads)>13 Then
If Topic_Ads="" And UBound(Dvbbs.Forum_ads(14)) > -1 Then
Randomize
Topic_Ads=Dvbbs.Forum_ads(14)(CInt(UBound(Dvbbs.Forum_ads(14))*Rnd))
Topic_Ads= Replace(Replace(Topic_Ads,"\","\\"),"'","\'")
End If
Else
Topic_Ads=""
End If
End If
UserSign=""
If Not Isnull(SQL(17,i)) Or Not SQL(17,i)="" Then
If SQL(9,i)=1 and SQL(31,i)=0 and Cint(Dvbbs.forum_setting(42))=1 Then
UserSign = dv_ubb.Dv_SignUbbCode(SQL(17,i),SQL(34,i))
UserSign=Replace(Replace(UserSign,"\","\\"),"'","\'")
'UserSign = Replace(UserSign, vbNewLine,"\n")
End If
End If
Ubblists=SQL(39,i)
If Not (SQL(31,i)=2 Or (SQL(10,i)=1 And CInt(Dvbbs.GroupSetting(41))=0) Or SQL(31,i)=1) Then
If InStr(Ubblists,",39,") > 0 Then
TopicBody = dv_ubb.Dv_UbbCode(SQL(5,i),SQL(34,i),1,0)
Else
TopicBody = dv_ubb.Dv_UbbCode(SQL(5,i),SQL(34,i),1,1)
End If
End If
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -