📄 query_get.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/md5.asp"-->
<%
Const PageSize=50
Dim XMLDOM,EmotPath,UserName,PostBuyUser,replyid_a,RootID_a,AnnounceID_a
Dim dv_ubb
Dim T_GetMoneyType,T_GetMoney,T_UseTools
If IpInList Then
Select Case Request("action")
Case "","0"
GetPostData()
Case "1"
GetBestTopic()
Case "2"
hotTopic()
Case "3"
GetUserData()
Case "4"
GetForumInfo()
Case "5"
GetForumPic()
End Select
End If
Sub hotTopic()
Dim Rs,SQL,SQL1,Rs1,page,PageCount,node,node1,blist,TopicNum
blist=boardlists()
page=Request("tid")
If Not IsNumeric(Page) Then Page="1"
If Page="" Then Page="1"
Page=CLng(Page)
Set Rs=Server.CreateObject("Adodb.RecordSet")
If IsSqlDataBase = 1 Then
SQL="Select TopicID,Title,PostUsername,hidename,boardid,child,hits,dateandtime,lastposttime,istop,isvote,isbest From Dv_topic Where Boardid in ("& blist &") and Datediff(d,LastPostTime, " & SqlNowString & ") < 5 order by hits Desc"
'SQL1="Select count(*) From Dv_topic Where Boardid in("& blist &") and Datediff(d,LastPostTime, " & SqlNowString & ") < 15 And hits > 20"
Else
SQL="Select TopicID,Title,PostUsername,hidename,boardid,child,hits,dateandtime,lastposttime,istop,isvote,isbest From Dv_topic Where Boardid in("& blist &") and Datediff('d',LastPostTime, " & SqlNowString & ") < 5 order by hits Desc"
'SQL1="Select count(*) From Dv_Topic Where Boardid in ("& blist &") and Datediff('d',LastPostTime, " & SqlNowString & ") < 15 And hits > 20"
End If
'Set Rs1=Dvbbs.Execute(SQL1)
'计算一下当前Page参数是否合法。如果超出范围,强制为最后一页
If Not IsObject(Conn) Then ConnectionDatabase
Rs.Open Sql,Conn,1,1
If Rs.Eof And Rs.Bof Then Exit Sub
TopicNum = Rs.Recordcount
If TopicNum mod Pagesize =0 then
PageCount= TopicNum \ Pagesize
Else
PageCount= TopicNum \ Pagesize+1
End If
If Page > PageCount Then Page=PageCount
Set XMLDOM=Server.CreateObject("Msxml2.FreeThreadedDOMDocument"& MsxmlVersion)
XMLDOM.appendChild(XMLDOM.createElement("hotlist"))
Set node=XMLDOM.documentElement.appendChild(XMLDOM.createNode(1,"listinfo",""))
Node.attributes.setNamedItem(XMLDom.createNode(2,"count","")).text =TopicNum
Node.attributes.setNamedItem(XMLDom.createNode(2,"page","")).text=Page
Node.attributes.setNamedItem(XMLDom.createNode(2,"pagesize","")).text=pagesize
Node.attributes.setNamedItem(XMLDom.createNode(2,"lastpage","")).text=PageCount
If TopicNum <> 0 and Not IsNull(TopicNum)Then
'Set Rs=Dvbbs.Execute(SQL)
If Not page=1 Then Rs.Move(pagesize*(page-1))
SQL=RS.GetRows(Pagesize)
Set Node=Dvbbs.ArrayToxml(SQL,rs,"row","datarows")
For each node1 in node.documentElement.selectNodes("row")
If node1.selectSingleNode("@hidename").text="1" Then
node1.selectSingleNode("@postusername").text="匿名用户"
End If
Next
XMLDom.documentElement.appendChild(node.documentElement)
Rs.Close:Set Rs=Nothing
End If
'Rs1.Close:Set Rs1=Nothing
Response.Clear
Select Case Session.CodePage
Case 65001
Response.CharSet="utf-8"
Response.Write "<?xml version=""1.0"" encoding=""utf-8""?>"&vbNewLine
Case 936
Response.CharSet="gb2312"
Response.Write "<?xml version=""1.0"" encoding=""gb2312""?>"&vbNewLine
Case 950
Response.CharSet="big5"
Response.Write "<?xml version=""1.0"" encoding=""big5""?>"&vbNewLine
End Select
Response.ContentType="text/xml"
Response.Write XMLDom.documentElement.XML
End Sub
Function boardlists()
Dim xml,node,blist
Set XML=Application(Dvbbs.CacheName&"_boardlist").cloneNode(True)
If Dvbbs.GroupSetting(37)="0" Then
For each node in XML.documentElement.selectNodes("board[@hidden=1 or @checkout=1]")
XML.documentElement.removeChild(node)
Next
Else
For each node in XML.documentElement.selectNodes("board[@checkout=1]")
XML.documentElement.removeChild(node)
Next
End If
blist=""
For each node in XML.documentElement.selectNodes("board")
If blist="" Then
blist=Node.selectSingleNode("@boardid").text
Else
blist=blist&","&Node.selectSingleNode("@boardid").text
End If
Next
boardlists=blist
End Function
Sub GetBestTopic()
Dim Rs,SQL,SQL1,Rs1,page,PageCount,node,node1
page=Request("tid")
If Not IsNumeric(Page) Then Page="1"
If Page="" Then Page="1"
Page=CLng(Page)
SQL="Select TopicID,Title,PostUsername,hidename,boardid,child,hits,dateandtime,lastposttime,istop,isvote,isbest From Dv_topic Where isbest=1 order by topicid Desc"
SQL1="Select count(*) From Dv_topic Where isbest=1"
Set Rs1=Dvbbs.Execute(SQL1)
'计算一下当前Page参数是否合法。如果超出范围,强制为最后一页
If Rs1(0) mod Pagesize =0 then
PageCount= Rs1(0) \ Pagesize
Else
PageCount= Rs1(0) \ Pagesize+1
End If
If Page > PageCount Then Page=PageCount
Set XMLDOM=Server.CreateObject("Msxml2.FreeThreadedDOMDocument"& MsxmlVersion)
XMLDOM.appendChild(XMLDOM.createElement("bestlist"))
Set node=XMLDOM.documentElement.appendChild(XMLDOM.createNode(1,"listinfo",""))
Node.attributes.setNamedItem(XMLDom.createNode(2,"count","")).text =Rs1(0)
Node.attributes.setNamedItem(XMLDom.createNode(2,"page","")).text=Page
Node.attributes.setNamedItem(XMLDom.createNode(2,"pagesize","")).text=pagesize
Node.attributes.setNamedItem(XMLDom.createNode(2,"lastpage","")).text=PageCount
If Rs1(0) <> 0 and Not IsNull(Rs1(0))Then
Set Rs=Dvbbs.Execute(SQL)
If Not page=1 Then Rs.Move(pagesize*(page-1))
SQL=RS.GetRows(Pagesize)
Set Node=Dvbbs.ArrayToxml(SQL,rs,"row","datarows")
For each node1 in node.documentElement.selectNodes("row")
If node1.selectSingleNode("@hidename").text="1" Then
node1.selectSingleNode("@postusername").text="匿名用户"
End If
Next
XMLDom.documentElement.appendChild(node.documentElement)
Rs.Close:Set Rs=Nothing
End If
Rs1.Close:Set Rs1=Nothing
Response.Clear
Select Case Session.CodePage
Case 65001
Response.CharSet="utf-8"
Response.Write "<?xml version=""1.0"" encoding=""utf-8""?>"&vbNewLine
Case 936
Response.CharSet="gb2312"
Response.Write "<?xml version=""1.0"" encoding=""gb2312""?>"&vbNewLine
Case 950
Response.CharSet="big5"
Response.Write "<?xml version=""1.0"" encoding=""big5""?>"&vbNewLine
End Select
Response.ContentType="text/xml"
Response.Write XMLDom.documentElement.XML
End Sub
Sub GetPostData()
Set XMLDOM=Server.CreateObject("Msxml2.FreeThreadedDOMDocument"& MsxmlVersion)
XMLDOM.Load Server.MapPath(MyDbPath &"inc\templates\bbsinfo.xml")
XMLDOM.documentElement.selectSingleNode("LastTid").text=GetLastPostID()
XMLDOM.documentElement.selectSingleNode("Version").text=fVersion
XMLDOM.documentElement.selectSingleNode("BBSName").text=Server.HtmlEncode(Dvbbs.Forum_info(0) & "")
XMLDOM.documentElement.selectSingleNode("BBSURL").text=Dvbbs.Get_ScriptNameUrl()
Dim tid,rs,tRs,node,boardid,RootID,posttable,SQL,node1,getmoneytype,body,Node2
tid=Request("tid")
If IsNumeric(tid) and tid<>"" Then
Set Rs=Dvbbs.Execute("select * From dv_topic Where topicid="& tid)
If Not Rs.EOF Then
Set node=XMLDOM.documentElement.appendChild(XMLDOM.createNode(1,"ChannelInfo",""))
If rs("boardid")<>444 and Rs("boardid")<> 777 Then
boardid=Rs("boardid")
Else
boardid=rs("locktopic")
End If
Node.appendChild(XMLDOM.createNode(1,"ForumName","")).text=Server.HtmlEncode(Getbbsname(boardid) & "")
Node.appendChild(XMLDOM.createNode(1,"ForumUrl","")).text=Dvbbs.Get_ScriptNameUrl()&"index.asp?boardid="&boardid
Node.appendChild(XMLDOM.createNode(1,"ForumType","")).text="科技"
Select Case Session.CodePage
Case 65001
Node.appendChild(XMLDOM.createNode(1,"Language","")).text="utf-8"
Case 936
Node.appendChild(XMLDOM.createNode(1,"Language","")).text="GBK"
Case 950
Node.appendChild(XMLDOM.createNode(1,"Language","")).text="Big5"
End Select
Node.appendChild(XMLDOM.createNode(1,"ForumID","")).text=BoardID
Set node=XMLDOM.documentElement.appendChild(XMLDOM.createNode(1,"StatusElement",""))
Node.appendChild(XMLDOM.createNode(1,"Link","")).text=Dvbbs.Get_ScriptNameUrl()&"dispbbs.asp?boardid="&boardid&"&id="&Rs("topicid")
Node.appendChild(XMLDOM.createNode(1,"ReplyTime","")).text=DateDiff("s","1970-01-01",Rs("LastPostTime"))
Node.appendChild(XMLDOM.createNode(1,"PostTime","")).text=DateDiff("s","1970-01-01",Rs("DateAndTime"))
Node.appendChild(XMLDOM.createNode(1,"ReplyNum","")).text=Rs("Child")
Node.appendChild(XMLDOM.createNode(1,"ViewNum","")).text=Rs("hits")
If Rs("istop")=0 Then
Node.appendChild(XMLDOM.createNode(1,"Sticky","")).text="false"
Else
Node.appendChild(XMLDOM.createNode(1,"Sticky","")).text="true"
End If
If Rs("isbest")=1 Then
Node.appendChild(XMLDOM.createNode(1,"Digest","")).text="true"
Else
Node.appendChild(XMLDOM.createNode(1,"Digest","")).text="false"
End If
If Rs("boardid")=444 Then
Node.appendChild(XMLDOM.createNode(1,"Deleted","")).text="true"
Else
Node.appendChild(XMLDOM.createNode(1,"Deleted","")).text="false"
End If
If Rs("locktopic") > 2 and rs("boardid")<>444 and Rs("boardid")<> 777 Then
Node.appendChild(XMLDOM.createNode(1,"Locked","")).text="true"
Else
Node.appendChild(XMLDOM.createNode(1,"Locked","")).text="false"
End If
If (Dvbbs.GroupSetting(2)="1" and GetBoardhidden(boardid)=0 and checkoutbaord(Boardid)=0 and Rs("getmoneytype") <> 3) Then
Node.appendChild(XMLDOM.createNode(1,"Access","")).text="true"
Else
Node.appendChild(XMLDOM.createNode(1,"Access","")).text="false"
End If
RootID=Rs("topicid")
posttable=Rs("posttable")
getmoneytype=Rs("getmoneytype")
Dvbbs.LoadTemplates("")
EmotPath=Split(Dvbbs.Forum_emot,"|||")(0) 'em心情路径
Set dv_ubb=new Dvbbs_UbbCode
dv_ubb.PostType=1
SQL="Select top 50 AnnounceID,UserName,Topic,body,signflag,isbest,PostUserid,GetMoneyType,rootid,Ubblist,LockTopic,GetMoney,UseTools,PostBuyUser,ParentID,IsUpload From "& posttable &" where RootID="& RootId &" and Boardid="& Boardid&" Order By ParentID,dateandtime"
Set Rs=Dvbbs.Execute(SQL)
If Not Rs.EOF Then
Do while Not Rs.EOF
If Rs("ParentID")=0 Then
Set node=XMLDOM.documentElement.appendChild(XMLDOM.createNode(1,"PageInfo",""))
Else
Set node=XMLDOM.documentElement.appendChild(XMLDOM.createNode(1,"ReplyInfo",""))
End If
Set node1=node.appendChild(XMLDOM.createNode(1,"ContentElement",""))
Node1.appendChild(XMLDOM.createNode(1,"Title","")).text=Server.HtmlEncode(Dvbbs.ChkBadWords(Rs("topic")))
'If Rs("isbest")=0 or Dvbbs.GroupSetting(41)="1" Then
If Rs("LockTopic")=0 Then
body=Dvbbs.ChkBadWords(Rs("body"))
UserName=Rs("username")
PostBuyUser=rs("postbuyuser")
ReplyID_a=rs("announceid")
RootID_a=rs("rootid")
AnnounceID_a=ReplyID_a
Ubblists=Rs("ubblist")&""
If InStr(Ubblists,",39,") > 0 Then
body = dv_ubb.Dv_UbbCode(body,10,1,0)
Else
body = dv_ubb.Dv_UbbCode(body,10,1,1)
End If
Else
body="内容被限制或禁止"
End If
'Else
' body="精华贴,需要权限方可查看"
'End If
body=replace(body,"]]>","]]>")
Node1.appendChild(XMLDOM.createNode(1,"Content","")).appendChild(XMLDOM.createCDATASection(body))
If Rs("signflag")=2 Then
Node1.appendChild(XMLDOM.createNode(1,"Author","")).text=""
Else
Node1.appendChild(XMLDOM.createNode(1,"Author","")).text=Server.HtmlEncode(Dvbbs.ChkBadWords(Rs("username")))
End If
If Rs("IsUpload") = 1 Then
Set tRs = Dvbbs.Execute("Select F_FileName,F_FileType,F_FileSize From Dv_Upfile Where F_AnnounceID='"&Rs("RootID")&"|"&Rs("AnnounceID")&"'")
Do While Not tRs.Eof
Set node2=node1.appendChild(XMLDOM.createNode(1,"Attachment",""))
node2.appendChild(XMLDOM.createNode(1,"URL","")).text=Dvbbs.Get_ScriptNameUrl() & Dvbbs.Forum_Setting(76) & tRs(0)
Select Case tRs(1)
Case "asf","asr","asx"
node2.appendChild(XMLDOM.createNode(1,"MIMEType","")).text="video/x-ms-" & tRs(1)
Case "bmp","gif","png"
node2.appendChild(XMLDOM.createNode(1,"MIMEType","")).text="image/" & tRs(1)
Case "tif","tiff"
node2.appendChild(XMLDOM.createNode(1,"MIMEType","")).text="image/tiff"
Case "jpe","jpeg","jpg"
node2.appendChild(XMLDOM.createNode(1,"MIMEType","")).text="image/jpeg"
Case "mpe","mpeg","mpg"
node2.appendChild(XMLDOM.createNode(1,"MIMEType","")).text="video/mpeg"
Case "css"
node2.appendChild(XMLDOM.createNode(1,"MIMEType","")).text="text/css"
Case "txt"
node2.appendChild(XMLDOM.createNode(1,"MIMEType","")).text="text/plain"
Case "js"
node2.appendChild(XMLDOM.createNode(1,"MIMEType","")).text="text/javascript"
Case "avi"
node2.appendChild(XMLDOM.createNode(1,"MIMEType","")).text="video/x-msvideo"
Case "zip","rar"
node2.appendChild(XMLDOM.createNode(1,"MIMEType","")).text="application/" & tRs(1)
Case "ppt","pps","pot"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -