<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
option explicit
response.buffer=true	
Const PurviewLevel=5    '操作权限
%>
<!--#include file="Admin_ChkPurview.asp"-->
<!--#include file="inc/conn.asp"-->
<!--#include file="inc/function.asp"-->
<!--#include file="inc/config.asp"-->
<!--#include file="inc/admin_code.asp"-->
<%
dim ArticleID,Action,sqlDel,rsDel,FoundErr,ErrMsg,PurviewChecked,ObjInstalled
dim ClassID,tClass,ClassName,RootID,ParentID,Depth,ParentPath,Child,ChildID,tID,tChild,ClassMaster
dim ComeUrl
ComeUrl=Request.ServerVariables("HTTP_REFERER")
ArticleID=trim(request("ArticleID"))
Action=Trim(Request("Action"))
ObjInstalled=IsObjInstalled("Scripting.FileSystemObject")
FoundErr=False
if Action="" then
	FoundErr=True
	ErrMsg=ErrMsg & "<br><li>参数不足！</li>"
end if
if FoundErr=False then
	if Action="Del" then
		call DelArticle()
	elseif Action="ConfirmDel" then
		call ConfirmDel()
	elseif Action="ClearRecyclebin" then
		call ClearRecyclebin()
	elseif Action="Restore" then
		call Restore()
	elseif Action="RestoreAll" then
		call RestoreAll()
	elseif Action="DelFromSpecial" then
		call DelFromSpecial()
	end if
end if
if FoundErr=False then
	call CloseConn()
	response.Redirect ComeUrl
else
	call WriteErrMsg()
	call CloseConn()
end if

sub DelArticle()
	if ArticleID="" then
		FoundErr=True
		ErrMsg=ErrMsg & "<br><li>请先选定文章！</li>"
		exit sub
	end if

	if instr(ArticleID,",")>0 then
		ArticleID=replace(ArticleID," ","")
		sqlDel="select * from Article where ArticleID in (" & ArticleID & ")"
	else
		ArticleID=Clng(ArticleID)
		sqlDel="select * from article where ArticleID=" & ArticleID
	end if
	Set rsDel= Server.CreateObject("ADODB.Recordset")
	rsDel.open sqlDel,conn,1,3
	do while not rsDel.eof
		PurviewChecked=False
		ClassID=rsDel("ClassID")
		if rsDel("Editor")=session("admin") then
			PurviewChecked=True
		else
			if session("purview")<=3 then
				PurviewChecked=True
			elseif session("purview")>=5 then
				PurviewChecked=False
			else
				set tClass=conn.execute("select ClassName,RootID,ParentID,Depth,ParentPath,Child,ClassMaster From ArticleClass where ClassID=" & ClassID)
				if tClass.bof and tClass.eof then
					FounErr=True
					ErrMsg=ErrMsg & "<br><li>找不到指定的栏目</li>"
				else
					ClassName=tClass(0)
					RootID=tClass(1)
					ParentID=tClass(2)
					Depth=tClass(3)
					ParentPath=tClass(4)
					Child=tClass(5)
					ClassMaster=tClass(6)
					if ParentID>0 then
						set tClass=conn.execute("select ClassMaster from ArticleClass where ClassID in (" & ParentPath & ")")
						do while not tClass.eof
							if tClass(0)<>"" then
								if ClassMaster="" then
									ClassMaster=tClass(0)
								else
									ClassMaster=ClassMaster & "|" & tClass(0)
								end if
							end if
							tClass.movenext
						loop
					end if
					PurviewChecked=CheckClassPurview(ClassMaster,session("Admin"))
				end if
			end if
		end if
		if PurviewChecked=False then
			FoundErr=True
			ErrMsg=ErrMsg & "<br><li>删除" & rsDel("ArticleID") & "失败！原因：没有操作权限！</li>"
		else
			rsDel("Deleted")=True
			rsDel.update
			if rsDel("Passed")=True then
				conn.execute("update [User] set ArticleCount=ArticleCount-1,ArticleChecked=ArticleChecked-1 where UserName='" & rsDel("Editor") & "'")
			else
				conn.execute("update [User] set ArticleCount=ArticleCount-1 where UserName='" & rsDel("Editor") & "'")
			end if
		end if
		rsDel.movenext
	loop
	rsDel.close
	set rsDel=nothing
end sub

sub ConfirmDel()
	if session("purview")>3 then
		FoundErr=True
		ErrMsg=ErrMsg & "<br><li>对不起，你的权限不够！</li>"
		exit sub
	end if
	if ArticleID="" then
		FoundErr=True
		ErrMsg=ErrMsg & "<br><li>请先选定文章！</li>"
		exit sub
	end if
	ArticleID=replace(ArticleID," ","")
	sqlDel="select UploadFiles from article where ArticleID in (" & ArticleID & ")"
	Set rsDel= Server.CreateObject("ADODB.Recordset")
	rsDel.open sqlDel,conn,1,3
	do while not rsDel.eof
		call DelFiles(rsDel(0) & "")
		rsDel.movenext
	loop
	rsDel.close
	set rsDel=nothing
	conn.execute("delete from Article where ArticleID in (" & ArticleID & ")")
	conn.execute("delete from Comment where ArticleID in (" & ArticleID & ")")
end sub

sub ClearRecyclebin()
	if session("purview")>3 then
		FoundErr=True
		ErrMsg=ErrMsg & "<br><li>对不起，你的权限不够！</li>"
		exit sub
	end if
	ArticleID=""
	sqlDel="select ArticleID,UploadFiles from article where Deleted=True"
	Set rsDel= Server.CreateObject("ADODB.Recordset")
	rsDel.open sqlDel,conn,1,3
	do while not rsDel.eof
		if ArticleID="" then
			ArticleID=rsDel(0)
		else
			ArticleID=ArticleID & "," & rsDel(0)
		end if
		call DelFiles(rsDel(1) & "")
		rsDel.movenext
	loop
	rsDel.close
	set rsDel=nothing
	if ArticleID<>"" then
		conn.execute("delete from Article where Deleted=True")
		conn.execute("delete from Comment where ArticleID in (" & ArticleID & ")")
	end if
end sub

sub Restore()
	if session("purview")>3 then
		FoundErr=True
		ErrMsg=ErrMsg & "<br><li>对不起，你的权限不够！</li>"
		exit sub
	end if
	if ArticleID="" then
		FoundErr=True
		ErrMsg=ErrMsg & "<br><li>请先选定文章！</li>"
		exit sub
	end if
	ArticleID=replace(ArticleID," ","")
	conn.execute("update Article set Deleted=False where ArticleID in (" & ArticleID & ")")
	if instr(ArticleID,",")>0 then
		ArticleID=replace(ArticleID," ","")
		sqlDel="select * from Article where ArticleID in (" & ArticleID & ")"
	else
		ArticleID=Clng(ArticleID)
		sqlDel="select * from article where ArticleID=" & ArticleID
	end if
	Set rsDel= Server.CreateObject("ADODB.Recordset")
	rsDel.open sqlDel,conn,1,3
	do while not rsDel.eof
		rsDel("Deleted")=False
		rsDel.update
		if rsDel("Passed")=True then
			conn.execute("update [User] set ArticleCount=ArticleCount+1,ArticleChecked=ArticleChecked+1 where UserName='" & rsDel("Editor") & "'")
		else
			conn.execute("update [User] set ArticleCount=ArticleCount+1 where UserName='" & rsDel("Editor") & "'")
		end if
		rsDel.movenext
	loop
	rsDel.close
	set rsDel=nothing
	
end sub

sub RestoreAll()
	if session("purview")>3 then
		FoundErr=True
		ErrMsg=ErrMsg & "<br><li>对不起，你的权限不够！</li>"
		exit sub
	end if
	sqlDel="select * from Article where Deleted=True"
	Set rsDel= Server.CreateObject("ADODB.Recordset")
	rsDel.open sqlDel,conn,1,3
	do while not rsDel.eof
		rsDel("Deleted")=False
		rsDel.update
		if rsDel("Passed")=True then
			conn.execute("update [User] set ArticleCount=ArticleCount+1,ArticleChecked=ArticleChecked+1 where UserName='" & rsDel("Editor") & "'")
		else
			conn.execute("update [User] set ArticleCount=ArticleCount+1 where UserName='" & rsDel("Editor") & "'")
		end if
		rsDel.movenext
	loop
	rsDel.close
	set rsDel=nothing
end sub

sub DelFromSpecial()
	if session("purview")>3 then
		FoundErr=True
		ErrMsg=ErrMsg & "<br><li>对不起，你的权限不够！</li>"
		exit sub
	end if
	ArticleID=replace(ArticleID," ","")
	conn.execute("update Article set SpecialID=0 where ArticleID in (" & ArticleID & ")")
end sub

%>
