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

📄 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"-->
<%
If Dvbbs.BoardID < 1 Then
	Response.Write "参数错误"
	Response.End 
End If
Dvbbs.LoadTemplates("dispbbs")
Dim AnnounceID,ReplyID,Star,Skin,replyid_a,AnnounceID_a,RootID_a
Dim CanReply,IsTop,IsVote,TopicCount,PollID,TotaluseTable,mainTopic,TrueMaster
Dim CanRead,TopicInfo
Dim PostBuyUser,abgcolor,bgcolor,UserName,PostUserName
Dim Page,LockTopic,action,n,EmotPath
Dim dv_ubb
Dim T_GetMoneyType,T_GetMoney,T_UseTools
Chk_Topic_Err
Dvbbs.Showerr()
Response.Write Dvbbs.mainhtml(18)
Response.Cookies("Dvbbs")=GetFormID()
Dvbbs.Nav()
Dvbbs.Showerr()
Dvbbs.Head_var 1,"","",""

If UserFlashGet = 1 Then
	%><!--#include file="Dv_plus/Flashget/Flashget_base64.asp"--><%
	Response.Write "<script src=""http://ufile.kuaiche.com/Flashget_union.php?fg_uid="&FlashGetID&"""></script>"
End If

GetForumTextAd(2)
Dvbbs.ActiveOnline()
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)
Dvbbs.ShowErr()
Set dv_ubb=new Dvbbs_UbbCode
dv_ubb.PostType=1
Show_Topic_HTML()
Set dv_ubb=Nothing
Dvbbs.NewPassword()
Dvbbs.Footer()

Sub Chk_Topic_Err()
	Dim PostUserid
	AnnounceID=Request("ID")
	If Dvbbs.GroupSetting(2)="0" Then Dvbbs.AddErrcode(31)
	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
	'浏览购买帖权限
	CanRead=False
	TrueMaster=False
	Rem 为兼顾管理菜单显示,对有管理权限的暂时当版主等级处理,为的是显示管理菜单.
	If Not Dvbbs.BoardMaster Then
		If Dvbbs.UserID > 0 Then
			If Dvbbs.GroupSetting(18) = "1" Then
				Dvbbs.BoardMaster=True
			ElseIf Dvbbs.GroupSetting(19) = "1" Then
				Dvbbs.BoardMaster=True
			ElseIf Dvbbs.GroupSetting(20) = "1" Then
				Dvbbs.BoardMaster=True
			ElseIf Dvbbs.GroupSetting(21) = "1" Then
				Dvbbs.BoardMaster=True
			ElseIf Dvbbs.GroupSetting(22) = "1" Then
				Dvbbs.BoardMaster=True
			ElseIf Dvbbs.GroupSetting(23) = "1" Then
				Dvbbs.BoardMaster=True
			ElseIf Dvbbs.GroupSetting(24) = "1" Then
				Dvbbs.BoardMaster=True
			ElseIf Dvbbs.GroupSetting(25) = "1" Then
				Dvbbs.BoardMaster=True
			ElseIf Dvbbs.GroupSetting(26) = "1" Then
				Dvbbs.BoardMaster=True
			ElseIf Dvbbs.GroupSetting(27) = "1" Then
				Dvbbs.BoardMaster=True
			ElseIf Dvbbs.GroupSetting(28) = "1" Then
				Dvbbs.BoardMaster=True
			ElseIf Dvbbs.GroupSetting(29) = "1" Then
				Dvbbs.BoardMaster=True
			ElseIf Dvbbs.GroupSetting(30) = "1" Then
				Dvbbs.BoardMaster=True
			ElseIf Dvbbs.GroupSetting(31) = "1" Then
				Dvbbs.BoardMaster=True
			End If
		End If
	Else
		TrueMaster=True	
	End If
	If 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,topicID,topicID as ReplyID,topicID as star,topicID as page,topicID as skin  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)
		PostUserid = Rs(4)
		Rs(5)=Rs(5)+1
		Rs.Update
		mainTopic=Rs(0)
		istop=Rs(1)
		isVote=Rs(6)
		TopicCount=Rs(7)+1
		pollid=Rs(8)
		T_GetMoney = cCur(Rs(13))
		T_UseTools = Rs(14)
		T_GetMoneyType = Cint(Rs(15))
		PostUserName = Rs(3)
		'锁定多少天前的帖子判断 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)) And Rs(9)=0 Then
				Locktopic = 1
				Rs(9)=Locktopic
				Rs.Update
			Else
				Locktopic = Rs(9)
			End If
		End If
		
		TotalUseTable=rs(10)
		mainTopic=Dvbbs.ChkBadWords(mainTopic)
		If Not Rs("topicmode")=1 Then
			mainTopic=replace(mainTopic,"<","&lt;")
		End If
		Dvbbs.Stats=mainTopic
		Set Topicinfo=Dvbbs.RecordsetToxml(Rs,"postinfo","xml")
	Else
		Dvbbs.AddErrcode(32)
	End If
	Rs.Close
	Set Rs=Nothing
	CanReply=False
	'是否允许回复
	If Not Dvbbs.Board_Setting(0)="1"  And Cint(locktopic)=0 Then
		If Dvbbs.GroupSetting(5)="1" Then
			CanReply=True
		ElseIf Dvbbs.UserID = PostUserid and  Dvbbs.GroupSetting(4)="1" Then
			CanReply=True
		ElseIf Dvbbs.master Or Dvbbs.superboardmaster Or Dvbbs.boardmaster Then
			CanReply=True
		End If
	End If
End Sub

Function Topic_Ads(n)
		Randomize
		Topic_Ads=Dvbbs.Forum_ads(n)(CInt(UBound(Dvbbs.Forum_ads(n))*Rnd))
End Function


Sub Show_Topic_HTML()
	Dim namestyle,nameglow(7),postbuyinfo,SQL,Rs,i,j,XMLDom,PageCount,postarray,Node,postuseridlist,postuserlist,UserGroupID,postbody,Topic,cmd,postbuyusers,UserIM
	Dim userface
	nameglow(0)=Dvbbs.mainsetting(9):nameglow(1)=Dvbbs.mainsetting(7):nameglow(2)=Dvbbs.mainsetting(7):nameglow(3)=Dvbbs.mainsetting(5):nameglow(6)="gray":nameglow(7)=Dvbbs.mainsetting(11)
	'是否开启帖间广告
	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
	'帖子顶楼顶部广告位
	If Dvbbs.Forum_ads(18)="1" Then
		Dvbbs.Forum_ads(19)=replace(Dvbbs.Forum_ads(19),Chr(13),"")
		Dvbbs.Forum_ads(19)=Split(Dvbbs.Forum_ads(19),Chr(10))
	End If
	'帖子顶楼底部广告位
	If Dvbbs.Forum_ads(20)="1" Then
		Dvbbs.Forum_ads(21)=replace(Dvbbs.Forum_ads(21),Chr(13),"")
		Dvbbs.Forum_ads(21)=Split(Dvbbs.Forum_ads(21),Chr(10))
	End If
	'帖子顶楼左右广告位
	If Dvbbs.Forum_ads(22)<>"0" Then
		Dvbbs.Forum_ads(23)=replace(Dvbbs.Forum_ads(23),Chr(13),"")
		Dvbbs.Forum_ads(23)=Split(Dvbbs.Forum_ads(23),Chr(10))
	End If

	'插入顶帖广告节点
	Set Node = TopicInfo.documentElement.firstChild.appendChild(TopicInfo.createNode(1,"forum_ads",""))
		Node.attributes.setNamedItem(TopicInfo.createNode(2,"id","")).text = 18
		Node.attributes.setNamedItem(TopicInfo.createNode(2,"set","")).text = Dvbbs.Forum_ads(18)
	If Dvbbs.Forum_ads(18)="1" Then
		Node.attributes.setNamedItem(TopicInfo.createNode(2,"code","")).text = Topic_Ads(19)
	End If
	Set Node = TopicInfo.documentElement.firstChild.appendChild(TopicInfo.createNode(1,"forum_ads",""))
		Node.attributes.setNamedItem(TopicInfo.createNode(2,"id","")).text = 20
		Node.attributes.setNamedItem(TopicInfo.createNode(2,"set","")).text = Dvbbs.Forum_ads(20)
	If Dvbbs.Forum_ads(20)="1" Then
		Node.attributes.setNamedItem(TopicInfo.createNode(2,"code","")).text = Topic_Ads(21)
	End If
	Set Node = TopicInfo.documentElement.firstChild.appendChild(TopicInfo.createNode(1,"forum_ads",""))
		Node.attributes.setNamedItem(TopicInfo.createNode(2,"id","")).text = 22
		Node.attributes.setNamedItem(TopicInfo.createNode(2,"set","")).text = Dvbbs.Forum_ads(22)
	If Dvbbs.Forum_ads(22)<>"0" Then
		Node.attributes.setNamedItem(TopicInfo.createNode(2,"code","")).text = Topic_Ads(23)
	End If

	If TopicCount mod Cint(Dvbbs.Board_Setting(27))=0 then
			PageCount= TopicCount \ Cint(Dvbbs.Board_Setting(27))
	Else
			PageCount= TopicCount \ Cint(Dvbbs.Board_Setting(27))+1
	End If
	If star > PageCount Then star = PageCount
	If star < 1 Then star = 1
	If Skin=1 Then
		If Clng(replyid)=Clng(Announceid) Then
			SQL="Select Top 1 AnnounceID,UserName,Topic,dateandtime,body,Expression,ip,RootID,signflag,isbest,PostUserid,layer,isagree,GetMoneyType,IsUpload,Ubblist,LockTopic,GetMoney,UseTools,PostBuyUser,ParentID From "& TotalUseTable &" where RootID="& Announceid &" and Boardid="& Dvbbs.Boardid&" "
		Else
			SQL="Select AnnounceID,UserName,Topic,dateandtime,body,Expression,ip,RootID,signflag,isbest,PostUserid,layer,isagree,GetMoneyType,IsUpload,Ubblist,LockTopic,GetMoney,UseTools,PostBuyUser,ParentID From "& TotalUseTable &" where AnnounceID="&replyID&" and Boardid="& Dvbbs.Boardid&" "
		End If
	Else
		Rem 如果是原版论坛,没经过转换的建议使用这行,可以减少消耗
		SQL="Select AnnounceID,UserName,Topic,dateandtime,body,Expression,ip,RootID,signflag,isbest,PostUserid,layer,isagree,GetMoneyType,IsUpload,Ubblist,LockTopic,GetMoney,UseTools,PostBuyUser,ParentID From "& TotalUseTable &" where  RootID="& Announceid &" and Boardid="& Dvbbs.Boardid&" Order By Announceid"
		Rem 如果你的论坛是从别的论坛转换过来的,如出现楼层错误,则可以把下面的注释去掉,避免错误.
		Rem SQL="Select AnnounceID,UserName,Topic,dateandtime,body,Expression,ip,RootID,signflag,isbest,PostUserid,layer,isagree,GetMoneyType,IsUpload,Ubblist,LockTopic,GetMoney,UseTools,PostBuyUser,ParentID From "& TotalUseTable &" where  RootID="& Announceid &" and Boardid="& Dvbbs.Boardid&" Order By dateandtime"
	End If
	Set Rs=Dvbbs.Execute(SQL)
	If Not Rs.EOF Then
		If Not Skin=1 Then 	Rs.Move(Cint(Dvbbs.Board_Setting(27))*(star-1))
		If Not Rs.EOF Then
			TopicInfo.documentElement.firstChild.selectSingleNode("@replyid").text=Rs(0)
			TopicInfo.documentElement.firstChild.selectSingleNode("@star").text=star
			TopicInfo.documentElement.firstChild.selectSingleNode("@page").text=page
			TopicInfo.documentElement.firstChild.selectSingleNode("@skin").text=skin
			If TopicInfo.documentElement.firstChild.selectSingleNode("@topicmode").text <> "1" Then
				TopicInfo.documentElement.firstChild.selectSingleNode("@title").text=replace(TopicInfo.documentElement.firstChild.selectSingleNode("@title").text,"<","&lt;")
			End If
			Rem 如果顶楼是主题贴,并且是购买贴的时候,提取购买信息,讨厌的多层数组分割,烦琐的代码跟踪by 老迷!
			If Rs("ParentID")=0 and TopicInfo.documentElement.firstChild.selectSingleNode("@getmoneytype").text="3" Then
				Set Node=TopicInfo.documentElement.firstChild.appendChild(topicInfo.createNode(1,"postbuyinfo",""))
				postbuyusers=split(Rs("postbuyuser"),"|||")
				postbuyinfo=postbuyusers(0)
				postbuyinfo=Split(postbuyinfo,"@@@") 'Rem postbuyinfo(0) 收入 postbuyinfo(1) 购买限制 postbuyinfo(2) vip是否需要购买 postbuyinfo(3) 允许购买用户列表
				If UBound(postbuyinfo)> 2 Then 
					Node.attributes.setNamedItem(TopicInfo.createNode(2,"money","")).text=postbuyinfo(0)
					Node.attributes.setNamedItem(TopicInfo.createNode(2,"maxbuy","")).text=postbuyinfo(1)
					Node.attributes.setNamedItem(TopicInfo.createNode(2,"notvipbuy","")).text=postbuyinfo(2)
					Node.attributes.setNamedItem(TopicInfo.createNode(2,"buyuser","")).text=","& postbuyinfo(3) &","
				End If
				For i= 2 to UBound(postbuyusers)
					If postbuyusers(i)<>"" Then
						Node.appendChild(topicInfo.createNode(1,"postbuyusers","")).text=postbuyusers(i)
					End If
				Next
			End If
			postarray=Rs.GetRows(Cint(Dvbbs.Board_Setting(27)))
			Set XMLDom=Dvbbs.ArrayToxml(postarray,rs,"row","post")
			postarray=null
			'循环中整理数据,并取出发贴用户ID列表
			i=0
			For Each Node In XmlDom.documentElement.SelectNodes("row")
				If i=0 Then
					postuseridlist=Node.selectSingleNode("@postuserid").text
				Else
					postuseridlist=postuseridlist&","&Node.selectSingleNode("@postuserid").text
				End If
				Dim IsAgreeArray
				IsAgreeArray = Split(Node.getAttribute("isagree"),"|")
				If UBound(IsAgreeArray)<6 Then
					If UBound(IsAgreeArray)<1 Then
						IsAgreeArray = Split("0|0|||0|0|0","|")
					Else
						IsAgreeArray = Split(Join(IsAgreeArray,"|")&"|||0|0|0","|")
					End If
				End If
				For j=0 To UBound(IsAgreeArray)
					Node.setAttribute "isagree_"&j,IsAgreeArray(j)
				Next
				i=i+1
			Next
			'说明:postuserlist为发贴用户数据
			Set Rs=Dvbbs.Execute("Select userid,useremail,UserIM,UserMobile,Usersign,userclass,Usertitle,Userwidth,Userheight,UserPost,Userface,JoinDate,userWealth,userEP,userCP,Userbirthday,Usersex,UserGroup,LockUser,userPower,titlepic,UserGroupID,LastLogin,UserHidden,IsChallenge,UserMoney,UserTicket,UserAvaSetting,UserIsAva From dv_user Where UserID IN ("& postuseridlist &")")
			If Not Rs.EOF Or postuseridlist<>"" Then
				Set postuserlist=Dvbbs.RecordsetToxml(Rs,"user","userlist")
				For Each Node In XmlDom.documentElement.SelectNodes("row")
					Ubblists=Node.selectSingleNode("@ubblist").text
					If postuserlist.documentElement.selectSingleNode("user[@userid="&Node.selectSingleNode("@postuserid").text&"]/@usergroupid") Is Nothing Then

⌨️ 快捷键说明

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