📄 boke.asp
字号:
<!--#include FILE="conn.asp"-->
<!--#include file="inc/const.asp" -->
<!--#include file="boke/config.asp"-->
<!--#include file="boke/checkinput.asp"-->
<%
Dim iArchiveLink
Page_Main
DvBoke.Footer
Sub Page_Main()
Dim MainHtml
If Ubound(DvBoke.ArchiveLink) < 1 Then
iArchiveLink = "ShowAll"
Else
iArchiveLink = DvBoke.ArchiveLink(1)
End If
Select Case iArchiveLink
Case "showtopic"
DvBoke.Stats = "频道--文章"
DvBoke.Nav(0)
MainHtml = DvBoke.Main_Strings(5).text
MainHtml = Replace(MainHtml,"{$Main}",ShowTopic())
Case "showchannel"
DvBoke.Stats = "频道"
DvBoke.Nav(0)
MainHtml = DvBoke.Main_Strings(5).text
MainHtml = Replace(MainHtml,"{$Main}",ShowChannel())
Case Else
DvBoke.Stats = "首页"
DvBoke.Nav(0)
MainHtml = DvBoke.Main_Strings(5).text
MainHtml = Replace(MainHtml,"{$Main}",TopicList)
End Select
DvBoke.LeftMenu
'If DvBoke.BokeUserID=0 Then Exit Sub
Response.Write MainHtml
End Sub
'TopicID,CatID,sCatID,UserID,UserName,Title,TitleNote,PostTime,Child,Hits,IsView,IsLock,sType,LastPostTime,LastPoster,LastPostID,IsBest,S_Key,Weather
'首页主题显示
Function TopicList()
If DvBoke.BokeUserID=0 Then
DvBoke.ShowCode(46)
DvBoke.ShowMsg(0)
End If
Dim TopicHtml
Dim Node,ChildNodes
Set Node = DvBoke.BokeCat.selectNodes("xml/boketopic/rs:data/z:row")
If (Node Is Nothing) Then Exit Function
Dim Weather,Weather_A,Weather_B,Weather_C
Weather_A = Split(DvBoke.System_Setting(13),"|")
Weather_B = Split(DvBoke.System_Setting(14),"|")
Weather_C = Ubound(Weather_A)
Dim PostDate,Title,Content,Channels,ChannelTitle
For Each ChildNodes in Node
PostDate = ChildNodes.getAttribute("posttime")
If Not IsDate(ChildNodes.getAttribute("posttime")) Then
PostDate = FormatDateTime(Now(),1) & " " & FormatDateTime(Now(),4)
Else
PostDate = FormatDateTime(PostDate,1) & " " & FormatDateTime(Now(),4)
End If
Title = ChildNodes.getAttribute("title")
If Len(Title)>150 Then
Title = Left(Title,150) &"......"
End If
Title = Dv_FilterJS_T(Title)
Set Channels = DvBoke.BokeCat.selectSingleNode("//rs:data/z:row[@ucatid='"&ChildNodes.getAttribute("catid")&"']")
If Channels Is Nothing Then
ChannelTitle = PostDate
Else
ChannelTitle = Channels.getAttribute("ucattitle")
End If
Content = ChildNodes.getAttribute("titlenote")
TopicHtml = DvBoke.Main_Strings(6).text
TopicHtml = Replace(TopicHtml,"{$PostDate}",PostDate)
If Clng(ChildNodes.getAttribute("weather")) > Weather_C Or Clng(ChildNodes.getAttribute("weather")) < 0 Then
TopicHtml = Replace(TopicHtml,"{$Weather_A}","晴天")
TopicHtml = Replace(TopicHtml,"{$Weather_B}","sun.gif")
Else
TopicHtml = Replace(TopicHtml,"{$Weather_A}",Weather_A(ChildNodes.getAttribute("weather")))
TopicHtml = Replace(TopicHtml,"{$Weather_B}",Weather_B(ChildNodes.getAttribute("weather")))
End If
TopicHtml = Replace(TopicHtml,"{$topic}",Title)
TopicHtml = Replace(TopicHtml,"{$Content}",Content)
TopicHtml = Replace(TopicHtml,"{$PostUserName}",ChildNodes.getAttribute("username"))
TopicHtml = Replace(TopicHtml,"{$PChannel}",ChannelTitle)
TopicHtml = Replace(TopicHtml,"{$Childs}",ChildNodes.getAttribute("child"))
TopicHtml = Replace(TopicHtml,"{$Hits}",ChildNodes.getAttribute("hits"))
TopicHtml = Replace(TopicHtml,"{$TopicID}",ChildNodes.getAttribute("topicid"))
TopicHtml = Replace(TopicHtml,"{$CatID}",ChildNodes.getAttribute("catid"))
TopicHtml = Replace(TopicHtml,"{$sCatID}",ChildNodes.getAttribute("scatid"))
TopicHtml = Replace(TopicHtml,"{$UserID}",ChildNodes.getAttribute("userid"))
TopicHtml = Replace(TopicHtml,"{$cat_id}",ChildNodes.getAttribute("catid"))
TopicHtml = Replace(TopicHtml,"{$cat_tid}",ChildNodes.getAttribute("stype"))
'TopicHtml = Replace(TopicHtml,"","")
TopicList = TopicList & TopicHtml
Next
TopicList = Replace(TopicList,"{$Skins_Path}",DvBoke.Skins_Path)
TopicList = Replace(TopicList,"{$bokename}",DvBoke.BokeName)
TopicList = Replace(TopicList,"{$bokeurl}",DvBoke.ModHtmlLinked)
End Function
'频道文章显示
Function ShowTopic()
If DvBoke.BokeUserID=0 Then Exit Function
Dim ChannelNav,cat_tid,cat_id,PageHtml
Dim RootID,iRootID,iPage
Dim ChannelInfo
Dim Nodes,Node,VisitList,TempStr
If Ubound(DvBoke.ArchiveLink) < 2 Then
RootID = 0
Else
iRootID = Split(DvBoke.ArchiveLink(2),"-")
If Ubound(iRootID) = 1 Then
iPage = DvBoke.CheckNumeric(Replace(Lcase(iRootID(1)),".html",""))
RootID = iRootID(0)
Else
iPage = 1
RootID = DvBoke.CheckNumeric(Replace(Lcase(iRootID(0)),".html",""))
End If
End If
If RootID = 0 Then
DvBoke.ShowCode(36)
DvBoke.ShowMsg(0)
Exit Function
End If
Dim Weather,Weather_A,Weather_B,Weather_C
Weather_A = Split(DvBoke.System_Setting(13),"|")
Weather_B = Split(DvBoke.System_Setting(14),"|")
Weather_C = Ubound(Weather_A)
Dim Rs,Sql
Dim IsLock,Title,Childs,Hits,PostDate,VisitPic,VisitDoc,VisitXml
Sql = "Select * From Dv_Boke_Topic Where UserID="&DvBoke.BokeUserID&" and TopicID ="&RootID
Set Rs = DvBoke.Execute(Sql)
If Rs.Eof Then
DvBoke.ShowCode(36)
DvBoke.ShowMsg(0)
Else
IsLock = Rs("IsLock")
Select Case IsLock
Case 3 '隐藏
If Rs("UserID")<>DvBoke.UserID Then
DvBoke.ShowCode(36)
DvBoke.ShowMsg(0)
End If
Case 2 '关闭
If Not (Rs("UserID")=DvBoke.UserID or Dvbbs.Master) Then
DvBoke.ShowCode(36)
DvBoke.ShowMsg(0)
End If
Case 1 '认证
End Select
cat_tid = Rs("sType")
cat_id = Rs("CatID")
Title = Dv_FilterJS_T(Rs("Title"))
Childs = Rs("Child")
Hits = Rs("Hits") + 1
PostDate = Rs("PostTime")
VisitDoc = Rs("VisitUser")
Weather = Rs("Weather")
DvBoke.Execute("Update Dv_Boke_Topic set hits=hits+1 where TopicID ="&RootID)
End If
Rs.Close
If cat_tid = 2 Then
Dim GetUrl
GetUrl = DvBoke.Execute("Select Top 1 Content From [Dv_Boke_Post] where ParentID=0 and Rootid="&Rootid)(0)
Response.Redirect DvBoke.Furl(GetUrl)
End If
DvBoke.LoadPage("topic.xslt")
Set Node = DvBoke.BokeCat.documentElement.selectSingleNode("rs:data/z:row[@utype='"&cat_id&"']")
If Not (Node is Nothing) Then
ChannelInfo = Node.getAttribute("ucatnote")
Else
ChannelInfo = ""
End If
PageHtml = DvBoke.Page_Strings(0).text
ChannelNav = DvBoke.Main_Strings(19).text
ChannelNav = Replace(ChannelNav,"{$bokeuser}",DvBoke.BokeUserName)
ChannelNav = Replace(ChannelNav,"{$stype}",DvBoke.BokeStype(cat_tid))
ChannelNav = Replace(ChannelNav,"{$stats}","浏览信息《"&Title&"》")
ChannelNav = Replace(ChannelNav,"{$Channel_Intro}",ChannelInfo)
'-----------------------------------------------
VisitPic = DvBoke.BokeSetting(12)
Set VisitXml=Server.CreateObject("Msxml2.FreeThreadedDOMDocument")
If Not VisitXml.Loadxml(VisitDoc&"") Then
PageHtml = Replace(PageHtml,"{$VisitList}",DvBoke.Page_Strings(6).text)
If DvBoke.UserID>0 and not DvBoke.IsBokeOwner Then
PageHtml = Replace(PageHtml,"{$Vsisitstr}",DvBoke.Page_Strings(7).text)
Else
PageHtml = Replace(PageHtml,"{$Vsisitstr}",DvBoke.Page_Strings(8).text)
End If
Else
Set Nodes = VisitXml.documentElement.selectNodes("UserList")
Set Node = VisitXml.DocumentElement.selectSingleNode("UserList[@uid='"&Dvboke.UserID&"']")
If Not (Node is nothing) Then
PageHtml = Replace(PageHtml,"{$Vsisitstr}",DvBoke.Page_Strings(8).text)
Else
PageHtml = Replace(PageHtml,"{$Vsisitstr}",DvBoke.Page_Strings(7).text)
End If
For Each Node in Nodes
If Node.getAttribute("usex") = 0 Then
VisitPic = DvBoke.BokeSetting(13)
Else
VisitPic = DvBoke.BokeSetting(12)
End If
TempStr = DvBoke.Page_Strings(14).text
TempStr = Replace(TempStr,"{$VisitName}",Node.getAttribute("uname"))
TempStr = Replace(TempStr,"{$VisitPic}",VisitPic)
TempStr = Replace(TempStr,"{$VisitIP}",Node.getAttribute("uip"))
TempStr = Replace(TempStr,"{$VisitTime}",Node.getAttribute("utime"))
TempStr = Replace(TempStr,"{$Uid}",Node.getAttribute("uid"))
VisitList = VisitList & TempStr
Next
End If
If DvBoke.UserID>0 Then
If DvBoke.UserSex = 0 Then
VisitPic = DvBoke.BokeSetting(13)
Else
VisitPic = DvBoke.BokeSetting(12)
End If
End If
PageHtml = Replace(PageHtml,"{$VisitPic}",VisitPic)
PageHtml = Replace(PageHtml,"{$VisitList}",VisitList)
'-----------------------------------------------
PageHtml = Replace(PageHtml,"{$nav}",ChannelNav)
PageHtml = Replace(PageHtml,"{$bokeurl}",DvBoke.ModHtmlLinked)
PageHtml = Replace(PageHtml,"{$catname}",DvBoke.ChannelTitle(cat_id))
PageHtml = Replace(PageHtml,"{$cat_tid}",cat_tid)
PageHtml = Replace(PageHtml,"{$cat_id}",cat_id)
PageHtml = Replace(PageHtml,"{$title}",Title)
PageHtml = Replace(PageHtml,"{$child}",Childs)
PageHtml = Replace(PageHtml,"{$hits}",Hits)
PageHtml = Replace(PageHtml,"{$WeekName}",WeekDayName(WeekDay(PostDate,1)))
If Clng(Weather) > Weather_C Or Clng(Weather) < 0 Then
PageHtml = Replace(PageHtml,"{$Weather_A}","晴天")
PageHtml = Replace(PageHtml,"{$Weather_B}","sun.gif")
Else
PageHtml = Replace(PageHtml,"{$Weather_A}",Weather_A(Weather))
PageHtml = Replace(PageHtml,"{$Weather_B}",Weather_B(Weather))
End If
PageHtml = Replace(PageHtml,"{$DispList}",ShowDispList(Rootid,iPage))
Dim P_PostUserName
If DvBoke.IsBokeOwner Then
P_PostUserName = DvBoke.BokeUserName
Else
P_PostUserName = DvBoke.UserName
End If
If DvBoke.System_Setting(2)<>"1" and DvBoke.UserID=0 Then
PageHtml = Replace(PageHtml,"{$replyform}","")
Else
PageHtml = Replace(PageHtml,"{$replyform}",DvBoke.Page_Strings(9).text)
If DvBoke.BokeSetting(8) = "0" Then
PageHtml = Replace(PageHtml,"{$isalipay}","")
Else
PageHtml = Replace(PageHtml,"{$isalipay}",DvBoke.Page_Strings(31).text)
End If
If DvBoke.System_Setting(5) = "1" Then
PageHtml = Replace(PageHtml,"{$getcode}",DvBoke.Page_Strings(34).text)
Else
PageHtml = Replace(PageHtml,"{$getcode}","")
End If
End If
PageHtml = Replace(PageHtml,"{$PostUserName}",P_PostUserName)
PageHtml = Replace(PageHtml,"{$RootID}",Rootid)
PageHtml = Replace(PageHtml,"{$bokename}",DvBoke.BokeName)
PageHtml = Replace(PageHtml,"{$Skins_Path}",DvBoke.Skins_Path)
ShowTopic = PageHtml
End Function
Function ShowDispList(TopicID,Page)
Dim PageHtml,TempHtml,Temp
Dim Rs,Sql,SqlStr
Dim MaxRows,Endpage,CountNum,PageSearch
Endpage = 0
MaxRows = DvBoke.BokeSetting(8)
'Page = Request("Page")
If IsNumeric(Page) = 0 or Page="" Then Page=1
Page = Clng(Page)
'If Ubound(DvBoke.ArchiveLink) = 4 Then
' SqlStr = DvBoke.CheckNumeric(Replace(Lcase(DvBoke.ArchiveLink(3)),".html",""))
' SqlStr = " And (ParentID = 0 Or PostID = " & SqlStr & ")"
'End If
'PostID=0 ,CatID=1 ,sCatID=2 ,ParentID=3 ,RootID=4 ,UserID=5 ,UserName=6 ,Title=7 ,Content=8 ,JoinTime=9 ,IP=10 ,sType=11
Sql = "Select PostID,CatID,sCatID,ParentID,RootID,UserID,UserName,Title,Content,JoinTime,IP,sType From [Dv_Boke_Post] Where RootID="&TopicID&" "&SqlStr&" order by PostID "
'Response.Write Ubound(DvBoke.ArchiveLink)
Set Rs = server.CreateObject ("adodb.recordset")
If Dv_Boke_InDvbbsData = 1 Then
Rs.Open Sql,Boke_Conn,1,1
Else
Rs.Open Sql,Conn,1,1
End If
DvBoke.SqlQueryNum = DvBoke.SqlQueryNum + 1
If Not Rs.eof Then
CountNum = Rs.RecordCount
If CountNum Mod MaxRows=0 Then
Endpage = CountNum \ MaxRows
Else
Endpage = CountNum \ MaxRows+1
End If
Rs.MoveFirst
If Page > Endpage Then Page = Endpage
If Page < 1 Then Page = 1
If Page >1 Then
Rs.Move (Page-1) * MaxRows
End if
SQL=Rs.GetRows(MaxRows)
Else
DvBoke.ShowCode(36)
DvBoke.ShowMsg(0)
End If
Rs.close:Set Rs = Nothing
Dim i,Content
'-------------------------------------
Dim DvCode
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -