这几天在看动网的论坛,略有所悟。明日继续。一些代码,先放这里,有空再看看。
1
Rem 除首页外通用函数2
'Dvbbs.Board_Setting(40)是否继承上级版主,顺带取出上级论坛版面信息3
'最多只取向上的10级版面信息4
'输出导航菜单字串5
Sub CheckBoardInfo()6
Dim parentstr,parentboard,XpathSQL,i,Maxdepth,Node,NavStr7
parentstr = Application(Dvbbs.CacheName&"_boardlist").documentElement.selectSingleNode("board[@boardid='"&Dvbbs.BoardID&"']/@parentstr").text8
parentboard=Split(parentstr,",")9
If Dvbbs.UserID > 0 and Not Dvbbs.BoardMaster And CLng(Dvbbs.UserGroupID)=3 Then10
If Dvbbs.Board_Setting(40)="1" And Dvbbs.BoardParentID > 0 Then11
For i=0 to UBound(parentboard)12
If parentboard(i) <> "0" Then XpathSQL=XpathSQL &" or @boardid = " & parentboard(i)13
Next14
End If15
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 Nothing17
End If18
If Dvbbs.BoardParentID > 0 Then19
Maxdepth=920
If Ubound(parentboard) < Maxdepth+1 Then21
Maxdepth=Ubound(parentboard)22
End If23
For i=0 to Maxdepth24
If parentboard(i) <> "0" Then25
Set Node=Application(Dvbbs.CacheName&"_boardlist").documentElement.selectSingleNode("board[@boardid='"& parentboard(i) &"']")26
If Node Is Nothing Then Exit For27
If i=0 Then28
NavStr=" <a href=""index.asp?boardid="& parentboard(i) &""" onmouseover=""showmenu(event,BoardJumpList("&Node.selectSingleNode("@boardid").text&"),'',0);"">"& Node.selectSingleNode("@boardtype").text &"</a> "29
Else30
NavStr=NavStr& "→ <a href=""index.asp?boardid="& parentboard(i) &""">"& Node.selectSingleNode("@boardtype").text &"</a> "31
End If32
End If33
Next34
End If35
Dvbbs.BoardInfoData=NavStr36
GetBoardPermission()37
End Sub