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

📄 query.asp

📁 公司企业网站管理系统全站源码,用于企业内部对网站的管理
💻 ASP
📖 第 1 页 / 共 3 页
字号:
	Dim Node,ChildNode
	Set Node=XMLDOM.createNode(1,"TableList","")
	Set Rs=Dvbbs.Execute("Select * From Dv_TableList")
	Do While Not Rs.Eof
		Set ChildNode=XMLDOM.createNode(1,"posttable","")
		ChildNode.text=Rs("tablename")&""
		ChildNode.attributes.setNamedItem(XMLDOM.createNode(2,"type","")).text=""&Rs("tabletype")
		Node.appendChild(ChildNode)
	Rs.MoveNext
	Loop
	XMLDOM.documentElement.appendChild(Node)
	Rs.Close:Set Rs=Nothing

	Dim BoardXML
	Set  BoardXML=Application(Dvbbs.CacheName&"_boardlist").cloneNode(True)
	XMLDOM.documentElement.appendChild(BoardXML.documentElement)
	Set BoardXML=Nothing
	DoShowHTML()
	'XMLDOM.save server.mappath("test.xslt")
End Sub
Function QueryArrayToxml(DataArray,Recordset,row,xmlroot)
	Dim i,node,rs,j
	If xmlroot="" Then xmlroot="xml"
	Set QueryArrayToxml=Server.CreateObject("msxml2.FreeThreadedDOMDocument"& MsxmlVersion)
	QueryArrayToxml.appendChild(QueryArrayToxml.createElement(xmlroot))
	If row="" Then row="row"
	For i=0 To UBound(DataArray,2)
		Set Node=QueryArrayToxml.createNode(1,row,"")
		j=0
		'node.attributes.setNamedItem(QueryArrayToxml.createNode(2,"querynum","")).text = (i + 1) + ((Page - 1) * Dvbbs.Forum_Setting(11))

		node.setAttribute "querynum",(i + 1) + ((Page - 1) * Dvbbs.Forum_Setting(11))
		For Each rs in Recordset.Fields
			'当TOPIC为空,取BODY内容前30个字符,去除<*>标记
			If LCase(rs.name)="body" Then
				If node.attributes.getNamedItem("topic").text<>"" Then
					node.setAttribute LCase(rs.name),""
				Else
					node.setAttribute LCase(rs.name),Left(Dvbbs.Replacehtml(DataArray(j,i)),30)
				End If
			Else
				node.setAttribute LCase(rs.name),DataArray(j,i)&""
			End If
			j=j+1
		Next
		QueryArrayToxml.documentElement.appendChild(Node)
	Next
End Function

'进行批量操作
Sub Dobatch()
	If Not Dvbbs.Master Then
		Response.redirect "showerr.asp?ErrCodes=<li>"&template.Strings(27)&"&action=OtherErr"
		Exit Sub
	End If
	Dim announceid
	announceid=Request("announceid")
	If announceid="" Then
		Response.redirect "showerr.asp?ErrCodes=<li>"&template.Strings(23)&"&action=OtherErr"
		Exit Sub
	ElseIf Not IsNumeric(replace(replace(replace(announceid,",","")," ",""),"_","")) Then
		Response.redirect "showerr.asp?ErrCodes=<li>"&template.Strings(24)&"&action=OtherErr"
		Exit Sub
	End If
	If Request("maction")="" Then
		Response.redirect "showerr.asp?ErrCodes=<li>"&template.Strings(25)&"&action=OtherErr"
		Exit Sub
	ElseIf Request("maction")="move"Then
		If Request("newboard")="" Or Not IsNumeric(Request("newboard")) Then
			Response.redirect "showerr.asp?ErrCodes=<li>"&template.Strings(26)&"&action=OtherErr"
			Exit Sub
		Else
			Set BoardNode=Application(Dvbbs.CacheName&"_boardlist").documentElement.selectSingleNode("board[@boardid="& Request("newboard") & "]")
			If BoardNode.attributes.getNamedItem("nopost").text="1" Then
				Response.redirect "showerr.asp?ErrCodes=<li>目标版面不允许发贴.无法移动&action=OtherErr"
				Exit Sub
			End If
		End If
	End If
	Dim Rs,SQL,RootID,postid,i,j,posttable,SQL1,k
	j=0
	k=0
	Dim topic,topicusername,topicuserID,datetimestr
	Dim Forum_user,BoardNode,UpdateCount,boardid,Setupreload,BordidList
	Setupreload=False
	announceid=split(announceid,",")
	ReportText="批量操作信息:<br>"
	BordidList=","
	For i=0 to UBound(announceid)
			RootID=split(announceid(i),"_")(0)
			postid=split(announceid(i),"_")(1)
			SQL="select posttable From Dv_topic Where topicID ="&RootID&""
			Set Rs=Dvbbs.execute(SQL)
			If Not Rs.EOF Then
				posttable=Rs(0)
				Set rs=Nothing
				If PostID="" Or IsNull(PostID) Then
					SQL="select * From ["&posttable&"] where RootID="&RootID&" And ParentID=0"
				Else
					SQL="select * From ["&posttable&"] where announceid="&postid
				End If
				Set Rs=Dvbbs.execute(SQL)
				If Not Rs.EOF Then
					postid = Rs("announceID")
					If Rs("BoardID")<>444 And Rs("BoardID")<>777 Then
						boardid=Rs("BoardID")
						If Not IsObject(Application(dvbbs.CacheName &"_boarddata_" & boardid)) Then Dvbbs.LoadBoardData boardid
						Forum_user = Split(Application(Dvbbs.CacheName &"_boarddata_" & boardid).documentElement.selectSingleNode("boarddata/@board_user").text,",")		
						Select Case Request("maction")
							Case "isbest"
								If Rs("ParentID")=0 Then
									ReportText=ReportText&"精华主题《"& rs("Topic") &"》(ID"& Rs(0)&").<br>"
								Else
									ReportText=ReportText&"精华跟贴(ID"& Rs(0)&").<br>"
								End If
								Dvbbs.Execute("Update "& posttable &" Set isbest=1 where announceID="&postid)
								Dvbbs.Execute("Update Dv_topic Set isbest=1 where topicID="&RootID)
								topic=rs("topic")
								topicusername=rs("username")
								topicuserID=rs("postuserID")
								If topic="" Then topic=left(replace(Dvbbs.Replacehtml(rs("body")),chr(10),","),26)
								datetimestr=replace(replace(rs("dateandtime"),"上午",""),"下午","")
								Dvbbs.Execute("Insert Into Dv_bestTopic (title,boardID,AnnounceID,rootID,postusername,postuserID,dateandtime,expression) values ('"&Dvbbs.CheckStr(topic)&"',"&rs("boardID")&","&rs("AnnounceID")&","&rs("rootID")&",'"&Dvbbs.CheckStr(topicusername)&"',"&rs("postuserID")&",'"&datetimestr&"','"&rs("expression")&"')")
								Dvbbs.Execute("update [Dv_user] set userWealth=userWealth+"& Forum_user(15) &",userCP=userCP+"& Forum_user(16) &",userEP=userEP+"& Forum_user(17) &",userIsBest=userisBest+1 where userid="& topicuserID)
							Case "dele"	
								If Rs("ParentID")=0 Then
										ReportText=ReportText&"删除主题《"& rs("Topic") &"》(ID"& Rs(0)&").<br>"
										Set Rs=Dvbbs.Execute("Select istop From Dv_Topic Where topicid="&RootID)
										If Rs(0)=0 Then	
											Set Rs = Server.CreateObject("adodb.recordset")
											SQL="select * From ["&posttable&"] where RootID="&RootID&" Order by ParentID"
											rs.open sql,conn,1,3
											UpdateCount=0
											Do While not rs.eof
												UpdateCount=UpdateCount+1
												Rs("BoardID")=444
												Rs("locktopic")=BoardID
												If Rs("isbest")=1 Then
													Rs("isbest")=0
													Dvbbs.Execute("Delete From [Dv_BestTopic] Where Announceid="&Rs("Announceid"))
													Dvbbs.Execute("update [Dv_user] set userWealth=userWealth-"& Forum_user(15) &",userCP=userCP-"& Forum_user(16) &",userEP=userEP-"& Forum_user(17) &",userIsBest=userisBest-1 where userid="& rs("postuserID"))
												End If
												If Rs("ParentID")=0 Then
													Dvbbs.Execute("update [Dv_user] set userWealth=userWealth-"& Forum_user(3) &",userCP=userCP-"& Forum_user(8) &",userEP=userEP-"& Forum_user(13) &",UserTopic=UserTopic-1 where userid="& rs("postuserID"))
												Else
														Dvbbs.Execute("update [Dv_user] set userWealth=userWealth-"& Forum_user(3) &",userCP=userCP-"& Forum_user(8) &",userEP=userEP-"& Forum_user(13) &",UserPost=UserPost-1 where userid="& rs("postuserID"))
												End If
												Rs.Update
												Rs.MoveNext
												Loop
												Rs.close
												Dvbbs.Execute("Update Dv_topic Set isbest=0,BoardID=444,LockTopic="&BoardID&" where topicID="&RootID)
												Dvbbs.Execute("Update Dv_Board Set TopicNum=TopicNum-1,PostNum=PostNum-"&UpdateCount&" where BoardID="&boardID)
												Dvbbs.Execute("Update Dv_setup Set Forum_TopicNum=Forum_TopicNum-1,Forum_PostNum=Forum_PostNum-"&UpdateCount)
												Setupreload=True
												If InStr(BordidList,","&BoardId &",")=0 Then
													BordidList=BordidList&BoardID&","
												End If
										Else
											ReportText=ReportText&"该主题为固顶主题,请解除固顶后操作.<br>"
										End If
								Else
									If Rs("isbest")=1 Then
												Dvbbs.Execute("Delete [Dv_BestTopic] Where Announceid="&Rs("Announceid"))
												Dvbbs.Execute("update [Dv_user] set userWealth=userWealth-"& Forum_user(15) &",userCP=userCP-"& Forum_user(16) &",userEP=userEP-"& Forum_user(17) &",userIsBest=userisBest-1 where userid="& rs("postuserID"))
									End If
									Dvbbs.Execute("Update "& posttable &" Set isbest=0,boardid=444,LockTopic="&BoardID&" where announceID="&postid)
									UpdateCount=1
									Dvbbs.Execute("update [Dv_user] set userWealth=userWealth-"& Forum_user(3) &",userCP=userCP-"& Forum_user(8) &",userEP=userEP-"& Forum_user(13) &",UserPost=UserPost-1 where userid="& rs("postuserID"))
									Dvbbs.Execute("Update Dv_topic Set Child=Child-1 where topicID="&RootID)
									Dvbbs.Execute("Update Dv_Board Set TopicNum=TopicNum-1,PostNum=PostNum-"&UpdateCount&" where BoardID="&boardID)
									Dvbbs.Execute("Update Dv_setup Set Forum_TopicNum=Forum_TopicNum-1,Forum_PostNum=Forum_PostNum-"&UpdateCount)
									Setupreload=True
									ReportText=ReportText&"删除跟贴(ID"& Rs(0)&").<br>"
									If InStr(BordidList,","&BoardId &",")=0 Then
											BordidList=BordidList&BoardID&","
									End If
								End If
							Case "move"
								If boardid<>Clng(Request("newboard")) Then
									If Rs("ParentID")=0 Then
										ReportText=ReportText&"成功移动主题《"& rs("Topic") &"》(ID"& Rs(0)&").<br>"		
										SQL="update ["&posttable&"] Set BoardID="&Request("newboard")&" where RootID="&RootID&" and BoardID<>444 and BoardID<>777"
										Dvbbs.Execute(SQL)
										SQL="select Count(*) From ["&posttable&"]  where RootID="&RootID&" and BoardID<>444 and BoardID<>777"
										Set Rs=Dvbbs.Execute(SQL)
										UpdateCount=Rs(0)
										Dvbbs.Execute("Update Dv_topic Set BoardID="&Request("newboard")&",mode=0 where topicID="&RootID)
										Dvbbs.Execute("Update Dv_Board Set TopicNum=TopicNum-1,PostNum=PostNum-"&UpdateCount&" where BoardID="&boardID)
										Dvbbs.Execute("Update Dv_Board Set TopicNum=TopicNum+1,PostNum=PostNum+"&UpdateCount&" where BoardID="&Request("newboard"))
										If InStr(BordidList,","&BoardId &",")=0 Then
												BordidList=BordidList&BoardID&","
										End If
										If InStr(BordidList,","&Request("newboard") &",")=0 Then
												BordidList=BordidList&Request("newboard")&","
										End If
									Else
										ReportText=ReportText&"该贴(ID"& Rs(0)&")不是主题,无法移动,操作:跳过.<br>"
									End If
								Else
									ReportText=ReportText&"该贴(ID"& Rs(0)&")已经在目标版面了,无须移动,操作:跳过.<br>"
								End If
							Case "lock"
								If Rs("ParentID")=0 Then
									ReportText=ReportText&"成功锁定主题《"& rs("Topic") &"》(ID"& Rs(0)&").<br>"
									Dvbbs.Execute("update dv_Topic Set LockTopic=1 Where TopicID=" & RootID)
								Else
									ReportText=ReportText&"该贴(ID"& Rs(0)&")不是主题,无法锁定,操作:跳过.<br>"
								End If
						End Select
					Else
							ReportText=ReportText&"贴子被删除或在待审核中,跳过操作"
					End If
				End If
			End If
	Next
	SQL="insert into Dv_Log (L_AnnounceID,L_BoardID,L_ToUser,L_UserName,L_Content,L_IP,l_type) Values (0,0,'More','"&Dvbbs.Membername&"','"&Dvbbs.Checkstr(Request("maction"))&"','"&Dvbbs.UserTrueIP&"',3)"
	Dvbbs.Execute(SQL)
	Dvbbs.Dvbbs_suc(ReportText)
	If Setupreload Then ReloadSetup
	If Len(BordidList)>1 Then 
		BordidList=Left(BordidList,Len(BordidList)-1)
		BordidList=Right(BordidList,Len(BordidList)-1)
	End If
	If Len(BordidList)>1 Then 
		Dvbbs.ReloadBoardInfo(BordidList)
	End If
End Sub

Sub isWeb_Query()
	Dim S,keyword,SelSearch
	S = Request.QueryString("s")
	keyword = Request("keyword")
	SelSearch = Request("SelSearch")
	If SelSearch <> "" Then SelSearch = Lcase(SelSearch)
	If SelSearch = "page" Then SelSearch = "massist"
	If SelSearch = "" Then SelSearch = "massist"
	If keyword = "" Then keyword = "dvbbs"

	Response.Write "<div id=""Seardata"" style=""height:500px;"">"
	Select Case Request.QueryString("t")
	Case 0
		'Response.Write "搜索引擎框架,关键字:" & request("keyword")
		Response.Write "<iframe name=""isWeb"" id=""isWebQuery"" frameborder=""0"" width=""100%"" height=""100%"" scrolling=""auto"" src=""http://so.dvbbs.net/search.asp?k="&keyword&"&s="&SelSearch&"""></iframe>"
	Case 1
		'Response.Write "搜索引擎框架,关键字:" & request("keyword")
		Response.Write "<iframe name=""isWeb"" id=""isWebQuery"" frameborder=""0"" width=""100%"" height=""100%"" scrolling=""auto"" src=""http://so.dvbbs.net/search.asp?k="&keyword&"&s="&SelSearch&"""></iframe>"
	Case 2
		Response.Write ""
	Case 3
		Response.Write ""
	Case 4
		Response.Write ""
	End Select
	Response.Write "</div>"
%>
<script language="JavaScript">
<!--
var obj=parent.document.getElementById("<%=s%>");
var SearchData = document.getElementById("Seardata");
if (obj){
	if (obj.style.display=='none'){
		obj.style.display='';
		//alert(SearchData.innerHTML);
	}
	obj.style.height=(parent.document.getElementById("SearchMain1").offsetHeight)+'px';
	obj.innerHTML = SearchData.innerHTML;
}

//-->
</script>
<%
End Sub
%>

⌨️ 快捷键说明

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