📄 accesstopic.asp
字号:
<!--#include file="conn.asp"-->
<!-- #include file="inc/const.asp" -->
<!-- #include file="inc/dv_clsother.asp" -->
<%
Dim AdminLockTopic,XMLDom,TableList,paramnode,AccessSetting
Rem 审核权限设置,如果不希望版主可以审核全部贴,请屏蔽下面第一行
If Dvbbs.UserGroupID=3 Then Dvbbs.Boardmaster=True
Rem =======================================================
AdminLockTopic=False
If (Dvbbs.master or Dvbbs.superboardmaster or Dvbbs.boardmaster) And Cint(Dvbbs.GroupSetting(36))=1 Then
AdminLockTopic=True
Else
AdminLockTopic=False
End If
If Cint(Dvbbs.GroupSetting(36))=1 And Dvbbs.UserGroupID>3 Then
AdminLockTopic=True
End If
If Dvbbs.FoundUserPer And Cint(Dvbbs.GroupSetting(36))=1 Then
AdminLockTopic=true
ElseIf Dvbbs.FoundUserPer And Cint(Dvbbs.GroupSetting(36))=0 Then
AdminLockTopic=False
End If
If Not AdminLockTopic Then Response.redirect "showerr.asp?ErrCodes=<li>您没有在本版面审核帖子的权限。&action=OtherErr"
If Not Dvbbs.Master and (Request("action")="modify" Or Request("action")="save") Then Response.redirect "showerr.asp?ErrCodes=<li>您没有修改审核设置的权限。&action=OtherErr"
LoadTableList()
Set paramnode=XMLDom.documentElement.appendChild(XMLDom.createNode(1,"param",""))
paramnode.attributes.setNamedItem(XMLDom.createNode(2,"boardid","")).text=Dvbbs.Boardid
paramnode.attributes.setNamedItem(XMLDom.createNode(2,"action","")).text=Request("action")
If Dvbbs.Master Then paramnode.attributes.setNamedItem(XMLDom.createNode(2,"master","")).text=1
Dvbbs.LoadTemplates("query")
Response.Write Dvbbs.mainhtml(18)
If Not Dvbbs.ChkPost() Then Response.Redirect "index.asp"
Select Case Request("action")
Case "manage"'批量审核
Dvbbs.stats="批量审核"
Dvbbs.Nav
manage()
If Dvbbs.BoardID=0 Then
Dvbbs.Head_var 2,0,"",""
Else
Dvbbs.Head_var 1,Application(Dvbbs.CacheName&"_boardlist").documentElement.selectSingleNode("board[@boardid='"&Dvbbs.BoardID&"']/@depth").text,"",""
End If
Case "view"'查看单个审核贴
Dvbbs.stats="审核贴子"
View()
Dvbbs.Head()
Case "modify"'审核设置管理
Dvbbs.stats="帖子审核设置管理"
Dvbbs.Nav
If Dvbbs.BoardID=0 Then
Dvbbs.Head_var 2,0,"",""
Else
Dvbbs.Head_var 1,Application(Dvbbs.CacheName&"_boardlist").documentElement.selectSingleNode("board[@boardid='"&Dvbbs.BoardID&"']/@depth").text,"",""
End If
LoadAccessSetting
Case "info"'查看当前审核规则
Dvbbs.stats="审核设置信息"
Dvbbs.Nav
If Dvbbs.BoardID=0 Then
Dvbbs.Head_var 2,0,"",""
Else
Dvbbs.Head_var 1,Application(Dvbbs.CacheName&"_boardlist").documentElement.selectSingleNode("board[@boardid='"&Dvbbs.BoardID&"']/@depth").text,"",""
End If
LoadAccessSetting
Case "save"
Dvbbs.stats="保存审核设置"
Dvbbs.Nav
Dvbbs.Head_var 2,0,"",""
SaveAccessSetting()
Case "addnocheck"
Dvbbs.stats="豁免审核用户"
Dvbbs.Nav()
Dvbbs.Head_var 2,0,"",""
addnocheck
Case "unlock"
Dvbbs.stats="解除固封"
Dvbbs.Nav()
Dvbbs.Head_var 1,Application(Dvbbs.CacheName&"_boardlist").documentElement.selectSingleNode("board[@boardid='"&Dvbbs.BoardID&"']/@depth").text,"",""
unlockPost()
Case Else
Dvbbs.stats="帖子审核"
Dvbbs.Nav
If Dvbbs.BoardID=0 Then
Dvbbs.Head_var 2,0,"",""
Else
Dvbbs.Head_var 1,Application(Dvbbs.CacheName&"_boardlist").documentElement.selectSingleNode("board[@boardid='"&Dvbbs.BoardID&"']/@depth").text,"",""
End If
LoadAccessCount()
accesslist()
End Select
XMLDom.documentElement.appendChild(Application(Dvbbs.CacheName&"_boardlist").documentElement.cloneNode(True))
ShowHTML()
If Request("action")="view" Then
Response.Write "</body></html>"
Else
Dvbbs.activeonline()
Dvbbs.footer()
End If
Sub unlockPost()
Dim id,replyid,rs,posttable
id=Request("id")
replyid=Request("replyid")
If Not IsNumeric(id) Or id="" Then
Response.redirect "showerr.asp?ErrCodes=<li>请指定所需参数。&action=OtherErr"
End If
Id =CLng(id)
If Not IsNumeric(replyid) Or replyid="" Then
Response.redirect "showerr.asp?ErrCodes=<li>请指定所需参数。&action=OtherErr"
End If
Set Rs=Dvbbs.Execute("select posttable From Dv_topic Where topicid="&id)
If Rs.EOF Then
Response.redirect "showerr.asp?ErrCodes=<li>记录不存在。&action=OtherErr"
End If
posttable=Rs(0)
Dvbbs.Execute("update " & Dvbbs.Checkstr(posttable) &" Set locktopic=0 where announceid="& replyid &" and rootid="&id&" and locktopic=3")
Dvbbs.Execute("Insert Into Dv_Log (l_AnnounceID,l_BoardID,l_touser,l_username,l_content,l_ip,l_type) values (0,"&Dvbbs.BoardID&",'解除固封','" & Dvbbs.MemberName & "','主题编号:"& ID & ", 贴子编号:"& replyid &" ','" & Dvbbs.userTrueIP & "',3)")
End Sub
Function Getusergroupid(username)
If Username<>"" Then
Dim Rs,SQL
SQL="select usergroupid From Dv_user Where username='"& Dvbbs.Checkstr(username) &"'"
Set Rs=Dvbbs.Execute(SQL)
If Rs.EOF Then
Getusergroupid=0
Else
Getusergroupid=Rs(0)
End If
Else
Getusergroupid=0
End If
End Function
Sub addnocheck()
Dim usergroupid,Dom,node
Set Dom=Application(Dvbbs.CacheName & "_accesstopic").cloneNode(True)
usergroupid=Getusergroupid(Request("username"))
If usergroupid<>0 Then
Set Node=Dom.documentElement.selectSingleNode("setting/checkuser[@usergroupid="&usergroupid&"]")
If Not Node is Nothing Then
Set Node=Dom.documentElement.selectSingleNode("setting/nocheck[username='"&Dvbbs.Checkstr(Request("username"))&"']")
If Node is Nothing Then
For Each node in Dom.documentElement.selectNodes("setting")
Node.selectSingleNode("nocheck").appendChild(Dom.createNode(1,"username","")).text=Request("username")
Next
End If
End If
End If
'删除已经不在审核组的用户的免审核数据
For Each Node in Dom.documentElement.selectNodes("setting/nocheck/username")
usergroupid=Getusergroupid(node.text)
If usergroupid=0 Then
node.parentNode.removeChild(node)
Else
If Dom.documentElement.selectSingleNode("setting/checkuser[@usergroupid="&usergroupid&"]") is Nothing Then
node.parentNode.removeChild(node)
End If
End If
Next
Dvbbs.Execute("update Dv_setup Set Forum_BoardXML='"&Dvbbs.Checkstr(Dom.xml)&"'")
Set Application(Dvbbs.CacheName & "_accesstopic")=Dom.cloneNode(True)
Dvbbs.Execute("Insert Into Dv_Log (l_AnnounceID,l_BoardID,l_touser,l_username,l_content,l_ip,l_type) values (0,"&Dvbbs.BoardID&",'豁免审核','" & Dvbbs.MemberName & "','豁免:" & Dvbbs.CheckStr(Request("username")) & "','" & Dvbbs.userTrueIP & "',3)")
End Sub
Sub SaveAccessSetting()
If Request.form("action")="" Then Exit Sub
Dim id,node,Dom,node1,queststr,checkuser,node2
Set Dom=Server.CreateObject("Msxml2.FreeThreadedDOMDocument" & MsxmlVersion)
Dom.appendChild(Dom.createElement("accesspost"))
For Each id in Request("id")
Set Node=Dom.documentElement.appendChild(Dom.createNode(1,"setting",""))
Node.attributes.setNamedItem(Dom.createNode(2,"type","")).text=Request("setting_"&id&"_type")
queststr=Request("setting_"&id&"_use")
If queststr="" Then queststr="0"
Node.attributes.setNamedItem(Dom.createNode(2,"use","")).text=queststr
Set Node1=Node.appendChild(Dom.createNode(1,"check",""))
queststr=Request("setting_"&id&"_check_new")
If queststr="" Then queststr="0"
Node1.attributes.setNamedItem(Dom.createNode(2,"new","")).text=queststr
queststr=Request("setting_"&id&"_check_re")
If queststr="" Then queststr="0"
Node1.attributes.setNamedItem(Dom.createNode(2,"re","")).text=queststr
queststr=Request("setting_"&id&"_check_edit")
If queststr="" Then queststr="0"
Node1.attributes.setNamedItem(Dom.createNode(2,"edit","")).text=queststr
For Each checkuser in Request("setting_"&id&"_checkuser")
Set Node1=Node.appendChild(Dom.createNode(1,"checkuser",""))
Node1.attributes.setNamedItem(Dom.createNode(2,"usergroupid","")).text=Request("setting_"&id&"_checkuser_"&checkuser&"_usergroupid")
queststr=Request("setting_"&id&"_checkuser_"&checkuser&"_use")
If queststr="" Then queststr="0"
Node1.attributes.setNamedItem(Dom.createNode(2,"use","")).text=queststr
Set node2=Node1.appendChild(Dom.createNode(1,"usertopic",""))
Node2.attributes.setNamedItem(Dom.createNode(2,"value","")).text=Request("setting_"&id&"_checkuser_"&checkuser&"_usertopic")
queststr=Request("setting_"&id&"_checkuser_"&checkuser&"_usertopic_use")
If queststr="" Then queststr="0"
Node2.attributes.setNamedItem(Dom.createNode(2,"use","")).text=queststr
Set node2=Node1.appendChild(Dom.createNode(1,"userpost",""))
Node2.attributes.setNamedItem(Dom.createNode(2,"value","")).text=Request("setting_"&id&"_checkuser_"&checkuser&"_userpost")
queststr=Request("setting_"&id&"_checkuser_"&checkuser&"_userpost_use")
If queststr="" Then queststr="0"
Node2.attributes.setNamedItem(Dom.createNode(2,"use","")).text=queststr
Set node2=Node1.appendChild(Dom.createNode(1,"regdate",""))
Node2.attributes.setNamedItem(Dom.createNode(2,"value","")).text=Request("setting_"&id&"_checkuser_"&checkuser&"_regdate")
queststr=Request("setting_"&id&"_checkuser_"&checkuser&"_regdate_use")
If queststr="" Then queststr="0"
Node2.attributes.setNamedItem(Dom.createNode(2,"use","")).text=queststr
Set node2=Node1.appendChild(Dom.createNode(1,"userdel",""))
Node2.attributes.setNamedItem(Dom.createNode(2,"value","")).text=Request("setting_"&id&"_checkuser_"&checkuser&"_userdel")
queststr=Request("setting_"&id&"_checkuser_"&checkuser&"_userdel_use")
If queststr="" Then queststr="0"
Node2.attributes.setNamedItem(Dom.createNode(2,"use","")).text=queststr
Set node2=Node1.appendChild(Dom.createNode(1,"lockuser",""))
queststr=Request("setting_"&id&"_checkuser_"&checkuser&"_lockuser_use")
If queststr="" Then queststr="0"
Node2.attributes.setNamedItem(Dom.createNode(2,"use","")).text=queststr
Set node2=Node1.appendChild(Dom.createNode(1,"checkcontent",""))
queststr=Request("setting_"&id&"_checkuser_"&checkuser&"_checkcontent_use")
If queststr="" Then queststr="0"
Node2.attributes.setNamedItem(Dom.createNode(2,"use","")).text=queststr
Next
Set Node1=Node.appendChild(Dom.createNode(1,"checkcontent",""))
Set node2=Node1.appendChild(Dom.createNode(1,"checkpic",""))
queststr=Request("setting_"&id&"_checkcontent_checkpic_use")
If queststr="" Then queststr="0"
Node2.attributes.setNamedItem(Dom.createNode(2,"use","")).text=queststr
Set node2=Node1.appendChild(Dom.createNode(1,"checklink",""))
queststr=Request("setting_"&id&"_checkcontent_checklink_use")
If queststr="" Then queststr="0"
Node2.attributes.setNamedItem(Dom.createNode(2,"use","")).text=queststr
Set node2=Node1.appendChild(Dom.createNode(1,"checkflash",""))
queststr=Request("setting_"&id&"_checkcontent_checkflash_use")
If queststr="" Then queststr="0"
Node2.attributes.setNamedItem(Dom.createNode(2,"use","")).text=queststr
Set node2=Node1.appendChild(Dom.createNode(1,"checkmp",""))
queststr=Request("setting_"&id&"_checkcontent_checkmp_use")
If queststr="" Then queststr="0"
Node2.attributes.setNamedItem(Dom.createNode(2,"use","")).text=queststr
Set node2=Node1.appendChild(Dom.createNode(1,"checkrm",""))
queststr=Request("setting_"&id&"_checkcontent_checkrm_use")
If queststr="" Then queststr="0"
Node2.attributes.setNamedItem(Dom.createNode(2,"use","")).text=queststr
queststr=Request("setting_"&id&"_checkcontent_checkword")
If queststr <>"" Then
queststr=split(queststr,vbnewline)
For Each Node2 in queststr
If node2<>"" Then
Node1.appendChild(Dom.createNode(1,"checkword","")).attributes.setNamedItem(Dom.createNode(2,"content","")).text=Node2
End If
Next
End If
Set Node1=Node.appendChild(Dom.createNode(1,"nocheck",""))
queststr=Request("setting_"&id&"_nocheck")
If queststr <>"" Then
queststr=split(queststr,vbnewline)
For Each Node2 in queststr
If node2<>"" Then
Node1.appendChild(Dom.createNode(1,"username","")).text=Node2
End If
Next
End If
Next
Dvbbs.Execute("update Dv_setup Set Forum_BoardXML='"&Dvbbs.Checkstr(Dom.xml)&"'")
Dvbbs.LoadSetup()
Dvbbs.Execute("Insert Into Dv_Log (l_AnnounceID,l_BoardID,l_touser,l_username,l_content,l_ip,l_type) values (0,"&Dvbbs.BoardID&",'审核设置','" & Dvbbs.MemberName & "','更新','" & Dvbbs.userTrueIP & "',3)")
End Sub
Sub LoadAccessSetting()
Dim dom,Node,i,position,position1,node1
Set Dom=Application(Dvbbs.CacheName & "_accesstopic").cloneNode(True)
If Request("addnew")="1" and Request("action")="modify" Then
Set Node=Dom.documentElement.appendChild(Dom.createNode(1,"setting",""))
Node.attributes.setNamedItem(Dom.createNode(2,"type","")).text="新建设置"
Node.appendChild(Dom.createNode(1,"checkuser",""))
ElseIf Request("delsetting")="1" Then
Set Node=Dom.documentElement.selectNodes("setting")
position=CLng(Request("position"))
If position < Node.length +1 Then
Dom.documentElement.removeChild(Node(position-1))
End If
ElseIf Request("delusergroup")="1" Then
Set Node=Dom.documentElement.selectNodes("setting")
position=CLng(Request("position"))
position1=CLng(Request("position1"))
If position < Node.length +1 Then
Set Node1=Node(position-1).selectNodes("checkuser")
If position1 < Node1.length +1 Then
Node(position-1).removeChild(Node1(position1-1))
End If
End If
ElseIf Request("addusergroup")="1" Then
Set Node=Dom.documentElement.selectNodes("setting")
position=CLng(Request("position"))
If position < Node.length +1 Then
Node(position-1).appendChild(Dom.createNode(1,"checkuser",""))
End If
End If
XMLDom.documentElement.appendChild(dom.documentElement)
XMLDom.documentElement.appendChild(Application(Dvbbs.CacheName &"_grouppic").documentElement.cloneNode(True))
End Sub
Sub manage()
Dim id,passed,replyid,i,node,posttable,LockTopic,boardid,rs,today,isvote,PollID
i=1
For Each id in Request.form("id")
Set Node = XMLDom.documentElement.appendChild(XMLDom.createNode(1,"result",""))
If IsNumeric(id) and id<>"" Then
replyid=Request("replyid")(i)
passed = Request("pass_"&id&"_"& replyid)
If replyid="" Then replyid=id
Node.attributes.setNamedItem(XMLDom.createNode(2,"rootid","")).text=id
Node.attributes.setNamedItem(XMLDom.createNode(2,"announceid","")).text=replyid
Rem 检查主题表是否有记录,并且取得其主贴状态
Set Rs=Dvbbs.Execute("select Boardid,LockTopic,PostTable,isvote,PollID From Dv_topic Where topicid="& id &"")
If Not Rs.EOF Then
posttable=Rs("posttable")
LockTopic=Rs("boardid")
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -