⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dispbbs.asp

📁 动网论坛源代码
💻 ASP
📖 第 1 页 / 共 2 页
字号:
<!--#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,"<!--","&lt;!--")		
			Else
				Topic = Replace(Topic,"<","&lt;")
				Topic = Replace(Topic,">","&gt;")	
				Topic=Dvbbs_TopicMode(Topic,TopicMode)
			End If
		Else
			Topic = Replace(Topic,"<","&lt;")
			Topic = Replace(Topic,">","&gt;")
		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 + -