这几天在看动网的论坛,略有所悟。明日继续。一些代码,先放这里,有空再看看。

一些代码
1
Rem 除首页外通用函数
2
'Dvbbs.Board_Setting(40)是否继承上级版主,顺带取出上级论坛版面信息
3
'最多只取向上的10级版面信息
4
'输出导航菜单字串
5
Sub CheckBoardInfo()
6
Dim parentstr,parentboard,XpathSQL,i,Maxdepth,Node,NavStr
7
parentstr = Application(Dvbbs.CacheName&"_boardlist").documentElement.selectSingleNode("board[@boardid='"&Dvbbs.BoardID&"']/@parentstr").text
8
parentboard=Split(parentstr,",")
9
If Dvbbs.UserID > 0 and Not Dvbbs.BoardMaster And CLng(Dvbbs.UserGroupID)=3 Then
10
If Dvbbs.Board_Setting(40)="1" And Dvbbs.BoardParentID > 0 Then
11
For i=0 to UBound(parentboard)
12
If parentboard(i) <> "0" Then XpathSQL=XpathSQL &" or @boardid = " & parentboard(i)
13
Next
14
End If
15
XpathSQL="boardmaster[@boardid = "& Dvbbs.Boardid & XpathSQL &"]/master[ . ='"& Dvbbs.UserSession.documentElement.selectSingleNode("userinfo/@username").text &"']"
16
Dvbbs.BoardMaster=Not Application(Dvbbs.CacheName&"_boardmaster").documentElement.selectSingleNode(XpathSQL) Is Nothing
17
End If
18
If Dvbbs.BoardParentID > 0 Then
19
Maxdepth=9
20
If Ubound(parentboard) < Maxdepth+1 Then
21
Maxdepth=Ubound(parentboard)
22
End If
23
For i=0 to Maxdepth
24
If parentboard(i) <> "0" Then
25
Set Node=Application(Dvbbs.CacheName&"_boardlist").documentElement.selectSingleNode("board[@boardid='"& parentboard(i) &"']")
26
If Node Is Nothing Then Exit For
27
If i=0 Then
28
NavStr=" <a href=""index.asp?boardid="& parentboard(i) &""" onmouseover=""showmenu(event,BoardJumpList("&Node.selectSingleNode("@boardid").text&"),'',0);"">"& Node.selectSingleNode("@boardtype").text &"</a> "
29
Else
30
NavStr=NavStr& "→ <a href=""index.asp?boardid="& parentboard(i) &""">"& Node.selectSingleNode("@boardtype").text &"</a> "
31
End If
32
End If
33
Next
34
End If
35
Dvbbs.BoardInfoData=NavStr
36
GetBoardPermission()
37
End Sub