这几天在看动网的论坛,略有所悟。明日继续。一些代码,先放这里,有空再看看。
一些代码
1Rem 除首页外通用函数
2'Dvbbs.Board_Setting(40)是否继承上级版主,顺带取出上级论坛版面信息
3'最多只取向上的10级版面信息
4'输出导航菜单字串
5Sub 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) &""" οnmοuseοver=""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()
37End Sub
1Rem 除首页外通用函数
2'Dvbbs.Board_Setting(40)是否继承上级版主,顺带取出上级论坛版面信息
3'最多只取向上的10级版面信息
4'输出导航菜单字串
5Sub 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) &""" οnmοuseοver=""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()
37End Sub