⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 accesstopic.asp

📁 公司企业网站管理系统全站源码,用于企业内部对网站的管理
💻 ASP
📖 第 1 页 / 共 2 页
字号:
<!--#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 + -