<% Rem 除首页外通用函数 'Dvbbs.Board_Setting(40)是否继承上级版主,顺带取出上级论坛版面信息 '最多只取向上的10级版面信息 '输出导航菜单字串 Function CheckBoardInfo() Dim i,node,nodelist,node1 Dvbbs.Boardmaster =False If Dvbbs.BoardID>0 and Dvbbs.BoardParentID>0 Then Dim TempData,NavStr If Dvbbs.Master Then Dvbbs.Boardmaster=True ElseIf Dvbbs.Superboardmaster Then Dvbbs.Boardmaster=True ElseIf Dvbbs.UserGroupID =3 And Not Trim(Dvbbs.BoardMasterList) = "" Then If Instr("|"&Dvbbs.BoardMasterList&"|","|"&Dvbbs.Membername&"|")>0 Then Dvbbs.Boardmaster=True End If End If ElseIf Dvbbs.BoardID>0 and Dvbbs.UserID>0 Then If Dvbbs.Master Then Dvbbs.Boardmaster=True ElseIf Dvbbs.Superboardmaster Then Dvbbs.Boardmaster=True ElseIf Dvbbs.UserGroupID =3 And Not Trim(Dvbbs.BoardMasterList) = "" Then If Instr("|"&LCase(Dvbbs.BoardMasterList)&"|","|"&LCase(Dvbbs.Membername)&"|")>0 Then Dvbbs.Boardmaster=True End If End If End If If Dvbbs.BoardID>0 and Dvbbs.BoardParentID>0 Then Set Nodelist=Dvbbs.BoardXML.documentElement.getElementsByTagName("board") TempData=Split(Dvbbs.BoardNode.attributes.getNamedItem("parentstr").text,",") For i=0 To Ubound(TempData) If TempData(i)<>0 Then For Each Node1 in nodelist If Cstr(TempData(i))=Node1.attributes.getNamedItem("boardid").text Then Set Node=Node1 Exit For End If Next If i<9 Then If Node.parentNode.nodeName<>"board" Then NavStr=" "& Node.attributes.getNamedItem("boardtype").text &" " Else NavStr=NavStr& "→ "& Node.attributes.getNamedItem("boardtype").text &" " End If End If '得到用户是否有继承斑竹的权限 If Cint(Dvbbs.Board_Setting(40))=1 And Not Dvbbs.Boardmaster Then If Dvbbs.UserGroupID =3 Then If instr("|"&lcase(Node.attributes.getNamedItem("boardmaster").text)&"|","|"&lcase(Dvbbs.MemberName)&"|")>0 Then Dvbbs.Boardmaster=True Else Dvbbs.Boardmaster=False End If End If End If End If Next CheckBoardInfo=NavStr End If Call GetBoardPermission() End Function Rem 获得版面用户组权限配置 Public Sub GetBoardPermission() Dim Rs,IsGroupSetting IsGroupSetting = Dvbbs.IsGroupSetting If IsGroupSetting<>"" And Not IsNull(IsGroupSetting) Then IsGroupSetting = "," & IsGroupSetting & "," If InStr(IsGroupSetting,"," & Dvbbs.UserGroupID & ",")>0 Then Set Rs=Dvbbs.Execute("Select PSetting From Dv_BoardPermission Where Boardid="&Dvbbs.Boardid&" And GroupID="&Dvbbs.UserGroupID) If Not (Rs.Eof And Rs.Bof) Then Dvbbs.GroupSetting = Split(Rs(0),",") End If Set Rs=Nothing End If If Dvbbs.UserID>0 And InStr(IsGroupSetting,",0_"&Dvbbs.UserID&",")>0 Then Set Rs=Dvbbs.execute("Select Uc_Setting From Dv_UserAccess Where Uc_Boardid="&Dvbbs.BoardID&" And uc_UserID="&Dvbbs.Userid) If Not(Rs.Eof And Rs.Bof) Then Dvbbs.UserPermission=Split(Rs(0),",") Dvbbs.GroupSetting = Split(Rs(0),",") Dvbbs.FoundUserPer=True End If Set Rs=Nothing End If End If If Dvbbs.Boardmaster Then Exit Sub Call Chkboardlogin() End Sub Rem 能否进入论坛的判断 Public Sub Chkboardlogin() If Dvbbs.Board_Setting(1)="1" And Dvbbs.GroupSetting(37)="0" Then Dvbbs.AddErrCode(26) If Dvbbs.GroupSetting(0)="0" Then Dvbbs.AddErrCode(27) '访问论坛限制(包括文章、积分、金钱、魅力、威望、精华、被删数、注册时间) Dim BoardUserLimited BoardUserLimited = Split(Dvbbs.Board_Setting(54),"|") If Ubound(BoardUserLimited)=8 Then '文章 If Trim(BoardUserLimited(0))<>"0" And IsNumeric(BoardUserLimited(0)) Then If Dvbbs.UserID = 0 Then Response.redirect "showerr.asp?ErrCodes=
  • 本版面设置了用户发贴最少为 "&BoardUserLimited(0)&" 才能进入&action=OtherErr" If Clng(Dvbbs.MyUserInfo(8))本版面设置了用户发贴最少为 "&BoardUserLimited(0)&" 才能进入&action=OtherErr" End If '积分 If Trim(BoardUserLimited(1))<>"0" And IsNumeric(BoardUserLimited(1)) Then If Dvbbs.UserID = 0 Then Response.redirect "showerr.asp?ErrCodes=
  • 本版面设置了用户积分最少为 "&BoardUserLimited(1)&" 才能进入&action=OtherErr" If Clng(Dvbbs.MyUserInfo(22))本版面设置了用户积分最少为 "&BoardUserLimited(1)&" 才能进入&action=OtherErr" End If '金钱 If Trim(BoardUserLimited(2))<>"0" And IsNumeric(BoardUserLimited(2)) Then If Dvbbs.UserID = 0 Then Response.redirect "showerr.asp?ErrCodes=
  • 本版面设置了用户金钱最少为 "&BoardUserLimited(2)&" 才能进入&action=OtherErr" If Clng(Dvbbs.MyUserInfo(21))本版面设置了用户金钱最少为 "&BoardUserLimited(2)&" 才能进入&action=OtherErr" End If '魅力 If Trim(BoardUserLimited(3))<>"0" And IsNumeric(BoardUserLimited(3)) Then If Dvbbs.UserID = 0 Then Response.redirect "showerr.asp?ErrCodes=
  • 本版面设置了用户魅力最少为 "&BoardUserLimited(3)&" 才能进入&action=OtherErr" If Clng(Dvbbs.MyUserInfo(23))本版面设置了用户魅力最少为 "&BoardUserLimited(3)&" 才能进入&action=OtherErr" End If '威望 If Trim(BoardUserLimited(4))<>"0" And IsNumeric(BoardUserLimited(4)) Then If Dvbbs.UserID = 0 Then Response.redirect "showerr.asp?ErrCodes=
  • 本版面设置了用户威望最少为 "&BoardUserLimited(4)&" 才能进入&action=OtherErr" If Clng(Dvbbs.MyUserInfo(24))本版面设置了用户威望最少为 "&BoardUserLimited(4)&" 才能进入&action=OtherErr" End If '精华 If Trim(BoardUserLimited(5))<>"0" And IsNumeric(BoardUserLimited(5)) Then If Dvbbs.UserID = 0 Then Response.redirect "showerr.asp?ErrCodes=
  • 本版面设置了用户精华最少为 "&BoardUserLimited(5)&" 才能进入&action=OtherErr" If Clng(Dvbbs.MyUserInfo(28))本版面设置了用户精华最少为 "&BoardUserLimited(5)&" 才能进入&action=OtherErr" End If '删贴 If Trim(BoardUserLimited(6))<>"0" And IsNumeric(BoardUserLimited(6)) Then If Dvbbs.UserID = 0 Then Response.redirect "showerr.asp?ErrCodes=
  • 本版面设置了用户被删贴少于 "&BoardUserLimited(6)&" 才能进入&action=OtherErr" If Clng(Dvbbs.MyUserInfo(27))>Clng(BoardUserLimited(6)) Then Response.redirect "showerr.asp?ErrCodes=
  • 本版面设置了用户被删贴少于 "&BoardUserLimited(6)&" 才能进入&action=OtherErr" End If '注册时间 If Trim(BoardUserLimited(7))<>"0" And IsNumeric(BoardUserLimited(7)) Then If Dvbbs.UserID = 0 Then Response.redirect "showerr.asp?ErrCodes=
  • 本版面设置了用户注册时间大于 "&BoardUserLimited(7)&" 分钟才能进入&action=OtherErr" If DateDiff("s",Dvbbs.MyUserInfo(14),Now)本版面设置了用户注册时间大于 "&BoardUserLimited(7)&" 分钟才能进入&action=OtherErr" End If End If '认证版块判断Board_Setting(2) If Dvbbs.Board_Setting(2)="1" Then Dim Get_BoardUser_Money,Canlogin Get_BoardUser_Money = False If Clng(Dvbbs.Board_Setting(62))>0 Or Clng(Dvbbs.Board_Setting(63))>0 Then Get_BoardUser_Money = True Canlogin = False If Dvbbs.UserID=0 Then Dvbbs.AddErrCode(24) Dvbbs.showerr() Else Dim Boarduser,i,BoardUser_Money BoardUser = Dvbbs.boarduser If Ubound(Boarduser)=-1 Then '为空时值等于-1 Canlogin = False Else For i = 0 To Ubound(Boarduser) If Get_BoardUser_Money Then BoardUser_Money = Split(Boarduser(i),"=") If Trim(Lcase(BoardUser_Money(0))) = Trim(Lcase(Dvbbs.MemberName)) Then '修改判断支付金币或点券进入版面的有效期 2004-8-29 Dv.Yz If Not DateDiff("d",BoardUser_Money(1),Now()) > Cint(Dvbbs.Board_Setting(64))*30 Then Canlogin = True Exit For End If End If Else If Trim(Lcase(Boarduser(i))) = Trim(Lcase(Dvbbs.MemberName)) Then Canlogin = True Exit For End If End If Next End If End If If Get_BoardUser_Money And Instr(Lcase(Dvbbs.ScriptName),"pay_boardlimited")=0 And (Not Canlogin) Then Response.Redirect "pay_boardlimited.asp?boardid=" & Dvbbs.BoardID If Instr(Lcase(Dvbbs.ScriptName),"pay_boardlimited")=0 And (Not Canlogin) Then Dvbbs.AddErrCode(25) End If End If Dvbbs.showerr() End Sub '得到论坛文字广告位部分内容,PageID=0为首页,=1为帖子列表页面,=2为帖子内容页面 Sub GetForumTextAd(PageID) If Dvbbs.Forum_ads(12) = "1" Then If PageID = 0 Or ((PageID = 1 And (Dvbbs.Forum_ads(15) = "0" Or Dvbbs.Forum_ads(15) = "2")) Or (PageID = 2 And (Dvbbs.Forum_ads(15) = "1" Or Dvbbs.Forum_ads(15) = "2")) And Not Dvbbs.Forum_ads(15) = "3") Then Dim FoundCacheAd,CacheAdInfo FoundCacheAd = False If PageID = 0 Then Dvbbs.Name = "Show_Index_TextAd" If Not Dvbbs.ObjIsEmpty() Then FoundCacheAd = True CacheAdInfo = Dvbbs.Value End If Else If Dvbbs.BoardID = 0 Then Exit Sub If CacheAdInfo = Dvbbs.BoardNode.attributes.getNamedItem("textad").text="" Then FoundCacheAd = True CacheAdInfo = Dvbbs.BoardNode.attributes.getNamedItem("textad").text End If End If If Not FoundCacheAd Then Dim i,ColWidth,IsDvAd,ii,TempStr Dvbbs.Forum_ads(16) = Split(Dvbbs.Forum_ads(16), Chr(10)) If Cint(Dvbbs.Forum_ads(17)) < 1 Then ColWidth = 1 Else ColWidth = Cint(Dvbbs.Forum_ads(17)) End If ColWidth = 100/ColWidth IsDvAd = 0 ii = 1 If IsSqlDataBase = 0 Then IsDvAd = 1 ii = 2 TempStr = TempStr & " "&vbNewLine&" " End If For i = 0 To Ubound(Dvbbs.Forum_ads(16)) If i = 0 And IsDvAd = 1 Then If Cint(Dvbbs.Forum_ads(17)) = 1 Then TempStr = TempStr & vbNewLine & " " & vbNewLine & " " & vbNewLine & " " & Dvbbs.Forum_ads(16)(i) & "" Else TempStr = TempStr & vbNewLine & " " & Dvbbs.Forum_ads(16)(i) & "" End If ElseIf i = 0 Then TempStr = TempStr & " "&vbNewLine&" "&Dvbbs.Forum_ads(16)(i)&"" Else TempStr = TempStr & vbNewLine & " "&Dvbbs.Forum_ads(16)(i)&"" End If If Not ii < Cint(Dvbbs.Forum_ads(17)) Then ii = 1 TempStr = TempStr & vbNewLine & " " If i <> Ubound(Dvbbs.Forum_ads(16)) Then TempStr = TempStr & vbNewLine & " " & vbNewLine Else ii = ii + 1 End If Next If ii = 1 Then ElseIf ii <> Cint(Dvbbs.Forum_ads(17)) + 1 Then For i = 1 To (Cint(Dvbbs.Forum_ads(17)) - ii) + 1 TempStr = TempStr & vbNewLine & "  " Next TempStr = TempStr & vbNewLine & " " End If Response.Write vbNewLine & Replace(Dvbbs.MainHtml(17),"{$GetTextAd}",TempStr) If PageID = 0 Then Dvbbs.Name = "Show_Index_TextAd" Dvbbs.Value = vbNewLine & Replace(Dvbbs.MainHtml(17),"{$GetTextAd}",TempStr) Else CacheAdInfo = Dvbbs.BoardNode.attributes.getNamedItem("textad").text = vbNewLine & Replace(Dvbbs.MainHtml(17),"{$GetTextAd}",TempStr) End If Else Response.Write CacheAdInfo End if End If End If End Sub %>