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

📄 dispbbs.asp

📁 前台及后台用户名密码都是:gz35gz35.com
💻 ASP
📖 第 1 页 / 共 2 页
字号:
<!--#include file="conn.asp"-->
<!--#include file="inc/const.asp"-->
<!--#include file="inc/dv_clsother.asp"-->
<!--#include file="inc/dv_ubbcode.asp"-->
<%
If Dvbbs.BoardID < 1 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,CanRead,PostUserName
Dim T_GetMoney,T_UseTools,T_GetMoneyType,TopicInfo,IsTopicUser
Dim FoundUseMagic,iMagicFace
Dim ReplyID_a,AnnounceID_a,RootID_a	'当前贴子相关ID,给出售贴用 by 轻飘飘
FoundUseMagic = 0
Chk_Topic_Err
Dvbbs.Showerr()
Dvbbs.Nav()
Dvbbs.Showerr()
Dvbbs.Head_var 1,"","",""
GetForumTextAd(2)
Dvbbs.ActiveOnline()
Dim Page,LockTopic,action,TopicNum,n,SplitPageNum,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
dv_ubb.PostType=1
Show_Topic_HTML()
Set dv_ubb=Nothing
If Skin=1 and CanRead Then showtree()
If CanReply Then Show_Topic_FastRe
If Dvbbs.UserID>0 Then Show_Topic_ManageAction
Dvbbs.NewPassword()
Dvbbs.Footer()

Sub 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(42)
	If Dvbbs.ErrCodes<>"" Then Exit Sub
	Dim SQl,Rs
	Dim MyCanReply
	'浏览购买帖权限
	CanRead=False
	If Dvbbs.Master or Dvbbs.SuperBoardMaster or Dvbbs.BoardMaster Then CanRead=True

	Set Rs=Server.CreateObject("Adodb.RecordSet")
	SQL="Select title,istop,isbest,PostUserName,PostUserid,hits,isvote,child,pollid,LockTopic,PostTable,BoardID,TopicMode,GetMoney,UseTools,GetMoneyType,DateAndTime,Expression From DV_topic where topicID="&Announceid
	If Not IsObject(Conn) Then ConnectionDatabase
	Rs.Open SQL,Conn,3,2
	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)
		'锁定多少天前的帖子判断 2004-9-16 Dv.Yz
		If Not Ubound(Dvbbs.Board_Setting) > 70 Then
			Locktopic = Rs(9)
		Else
			If Not Clng(Dvbbs.Board_Setting(71)) = 0 And Datediff("d", Rs(16), Now()) > Clng(Dvbbs.Board_Setting(71)) Then
				Locktopic = 1
			Else
				Locktopic = Rs(9)
			End If
		End If
		TotalUseTable=rs(10)
		TopicMode=rs(12)
		ViewNum=Rs(5)
		T_GetMoney = cCur(Rs(13))
		T_UseTools = Rs(14)
		T_GetMoneyType = Cint(Rs(15))
		PostUserName = Rs(3)
		
		If Rs(4)=Dvbbs.UserID then
			IsTopicUser = True	'是楼主
			MyCanReply=Dvbbs.GroupSetting(4)
			CanRead=True
		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
		iMagicFace = Split(Rs(17),"|")
		If Ubound(iMagicFace) = 1 Then FoundUseMagic = iMagicFace(0)
	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 Sub

Function Show_Topic_Top()
	 
	Dim TempStr,MyTempStr,ViewUrl
	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))
	Else
		If Dvbbs.Board_Setting(0)="1" Then TempStr=template.Strings(0)
	End If
	ViewUrl = "View_TopicInfo.asp?action=View&BoardId="&Dvbbs.BoardID&"&ID="&Announceid
	'帖子信息类型
	Select Case T_GetMoneyType
		Case 1
			TopicInfo = Replace(Template.Strings(17),"{$SendMoney}",T_GetMoney)
			TopicInfo = Replace(TopicInfo,"{$Stats}","")
		Case 2
			TopicInfo = Replace(Template.Strings(18),"{$GetMoney}",T_GetMoney)
		Case 3
			TopicInfo = Replace(Template.Strings(19),"{$PayMoney}",T_GetMoney)
		Case 5
			TopicInfo = Replace(Template.Strings(17),"{$SendMoney}",T_GetMoney)
			TopicInfo = Replace(TopicInfo,"{$Stats}",Template.Strings(21))
	End Select
	TopicInfo = Replace(TopicInfo,"{$ViewUrl}",ViewUrl)
	
	Response.Write "<Script Language=JavaScript>" 
	Response.Write "var TopicMoneyInfo='"&Replace(Replace(TopicInfo,"'","\'"),VbCrLf,"")&"';"
	Response.Write "</Script>"

	TopicInfo = Replace(TopicInfo,"{$alertcolor}",Dvbbs.Mainsetting(1)) 
	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
	'魔法表情部分
	TempStr=Replace(TempStr,"{$dispmagicface}",Split(template.html(14),"||")(0))
	If Clng(FoundUseMagic) > 0 Then
		Dim MagicFaceCookies
		MagicFaceCookies = Request.Cookies("DvbbsMagicFace")
		If MagicFaceCookies = "" Or Not IsNumeric(MagicFaceCookies) Then
			TempStr=Replace(TempStr,"{$isdispmagic}",Split(template.html(14),"||")(2))
			TempStr=Replace(TempStr,"{$magicfaceid}",FoundUseMagic)
			Response.Cookies("DvbbsMagicFace") = AnnounceID
		ElseIf cCur(AnnounceID) <> cCur(MagicFaceCookies) Then
			TempStr=Replace(TempStr,"{$isdispmagic}",Split(template.html(14),"||")(2))
			TempStr=Replace(TempStr,"{$magicfaceid}",FoundUseMagic)
			Response.Cookies("DvbbsMagicFace") = AnnounceID
		Else
			Response.Cookies("DvbbsMagicFace") = AnnounceID
		End If
	End If
	TempStr=Replace(TempStr,"{$isdispmagic}","")
	'魔法表情部分
	Response.Write TempStr
	TopicInfo = TopicInfo & Replace(template.Strings(20),"{$SubmitUrl}","buypost.asp?Action=buy&PostTable="&TotalUseTable&"&boardid="&Dvbbs.Boardid&"&ID="&Announceid&"&ReplyID="&Announceid)
	TopicInfo = "<div class=info>"&TopicInfo&"</div>"
End Function
Function Topic_Ads()
	If Dvbbs.Forum_ads(7)="1" Then
		Randomize
		Topic_Ads=Dvbbs.Forum_ads(14)(CInt(UBound(Dvbbs.Forum_ads(14))*Rnd))
	Else
		Topic_Ads=""
	End If
End Function
Sub Show_Topic_HTML()
	If Dvbbs.Forum_ads(7)="1" Then
		Dvbbs.Forum_ads(14)=replace(Dvbbs.Forum_ads(14),Chr(13),"")
		Dvbbs.Forum_ads(14)=Split(Dvbbs.Forum_ads(14),Chr(10))
	End If
	Dim SQL,Rs,i
	Dim TopicPageList,Pcount,isagree
	TopicPageList=Dvbbs.Board_Setting(27)
	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,B.GetMoney,B.UseTools,U.UserMoney,U.UserTicket,B.GetMoneyType,B.IsUpload"
	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.BoardID="&Dvbbs.BoardID&" And B.RootID="&Announceid&" 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)
		Dvbbs.ShowErr()
		Exit Sub
	End If
	'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,UserHidden=37,IsChallenge=38,Ubblists=39,LockTopic=40,
	'GetMoney=41,UseTools=42,UserMoney=43,UserTicket=44,GetMoneyType=45,IsUpload=46 
	Dim MyTempStr,ReplaceStr,userface,UserIM,TopicBody,Node,cnode,XMLDOM,XMLStyle,documentElement
	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
		If star > Pcount Then star = Pcount
		If star < 1 Then star = 1				
		Response.Write "<Script Language=JavaScript>"
		Response.Write  "var star='"&star&"';"
		Response.Write  "var alertcolor='"&Dvbbs.mainsetting(1)&"';"
		Response.Write  "var Board_Setting27='"&TopicPageList&"';"
		Response.Write  "var TopicNum='"&TopicCount&"';"
		Response.Write  "var TotalUseTable='"&TotalUseTable&"';"
		Response.Write  "var GetMoneyType="&T_GetMoneyType&";"
		Response.Write  Dvbbs.GroupSetting_UserName
		Response.Write  "</Script>"&vbNewLine
		Set XMLDOM=Server.CreateObject("Msxml2.FreeThreadedDOMDocument")
		XMLDOM.validateOnParse = False
		XMLDOM.resolveExternals = False
		Rs.Save XMLDOM,1
				
		XMLDOM.documentElement.removeChild(XMLDOM.documentElement.selectSingleNode("s:Schema"))
		Set documentElement=XMLDOM.documentElement
		Dim nodelist
		Dim BuyMoneyInfo,ShowForm

		Set nodelist=documentElement.selectNodes("rs:data/z:row")
		i=0
		For each node in nodelist
			PostBuyUser=Rs("PostBuyUser")
			UserName=Rs("UserName")
			ReplyID_a=Rs("AnnounceID")
			AnnounceID_a=Rs("AnnounceID")
			RootID_a=Rs("RootID")
			If (star = 1 And TopicMode=1 And i=0) Or Request("skin")="1" Then
				node.attributes.getNamedItem("Topic").text=replacehtml(node.attributes.getNamedItem("Topic").text)
			End If
			i=i+1

			If node.attributes.getNamedItem("GetMoneyType").text <>"3" Then
				CanRead=True
			Else
				If Not CanRead Then
					If Instr(node.attributes.getNamedItem("PostBuyUser").text,"|||"&Dvbbs.Membername&"|||") Then
						CanRead = True
					Else
						BuyMoneyInfo = Split(Split(node.attributes.getNamedItem("PostBuyUser").text,"|||",2)(0),"@@@")
						If Ubound(BuyMoneyInfo)>0 Then
							If BuyMoneyInfo(2) = 0 And Dvbbs.VipGroupUser Then
								CanRead = True
								ShowForm = True
							End If
						End If
					End If
				End If
			End If

			Ubblists=Rs("Ubblist")&""
			If Not CanRead Then
				TopicBody = TopicInfo
			Else
				If Not (node.attributes.getNamedItem("LockUser").text="2" Or (node.attributes.getNamedItem("isbest").text="1" And Dvbbs.GroupSetting(41)="0") Or node.attributes.getNamedItem("LockUser").text="1") Then
					If InStr(Ubblists,",39,") > 0  Then
						TopicBody = dv_ubb.Dv_UbbCode(node.attributes.getNamedItem("body").text,node.attributes.getNamedItem("UserGroupID").text,1,0)
					Else
						TopicBody = dv_ubb.Dv_UbbCode(node.attributes.getNamedItem("body").text,node.attributes.getNamedItem("UserGroupID").text,1,1)
					End If			
				End If
			End If
			If ShowForm Then
				TopicBody = TopicBody & TopicInfo
			End If
			node.attributes.getNamedItem("body").text=Dvbbs.ChkBadWords(TopicBody)
			If Not (node.attributes.getNamedItem("Usersign") is Nothing) Then
				TopicBody=node.attributes.getNamedItem("Usersign").text
				If Dvbbs.forum_setting(42) = "0" Then '关闭签名的判断 2005-5-17 Dv.Yz
					node.attributes.getNamedItem("Usersign").text = ""
				ElseIf node.attributes.getNamedItem("signflag").text = "1" And node.attributes.getNamedItem("LockUser").text = "0" And Dvbbs.forum_setting(42) = "1" Then
					node.attributes.getNamedItem("Usersign").text = Dvbbs.ChkBadWords(Dv_ubb.Dv_SignUbbCode(TopicBody, node.attributes.getNamedItem("UserGroupID").text))
				End If
			End If
			Userface=split(Rs("Userface")&"","|")
			If UBound(Userface)>0 Then
				node.attributes.getNamedItem("Userface").text=Userface(1)
				Set CNode = XMLDOM.createNode(2,"UserMfface","")
				Cnode.text=Userface(0)
				node.attributes.setNamedItem(Cnode)
			ElseIf UBound(Userface)=0 Then 
				node.attributes.getNamedItem("Userface").text=Userface(0)
			End If
			userIM=Split(node.attributes.getNamedItem("UserIM").text,"|||")
			Set CNode = XMLDOM.createNode(2,"homepage","")
			Cnode.text=UserIM(0)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -