<!--#include file="const.asp"-->
<!--#include file="error.ini"-->
<!--#include file="Top.asp"-->
<%if session("flag")>1 then
    response.write "<script>alert('您的操作权限不够！');history.back();</script>"
    response.end
end if
%>
<link href="Images/Admin_Style.Css" rel="stylesheet" type="text/css">
<BODY leftmargin="0" bottommargin="0" rightmargin="0" topmargin="0" marginheight="0" marginwidth="0">
<%
action=trim(request("action"))
select case action
case "CompressData"		'压缩数据
	        dim tmprs
		dim allarticle
		dim Maxid
		dim topic,username,dateandtime,body
		call CompressData()

	
case "BackupData"		'备份数据
		if request("act")="Backup" then
		call updata()
		else
		call BackupData()
		end if
	

case "RestoreData"		'恢复数据
	
		if request("act")="Restore" then
			Dbpath=request.form("Dbpath")
			backpath=request.form("backpath")
			if dbpath="" then
			response.write "请输入您要恢复成的数据库全名"	
			else
			Dbpath=server.mappath(Dbpath)
			end if
			backpath=server.mappath(backpath)
		
			Set Fso=server.createobject("scripting.filesystemobject")
			if fso.fileexists(dbpath) then  					
			fso.copyfile Dbpath,Backpath
			response.write "成功恢复数据！"
			else
			response.write "备份目录下并无您的备份文件！"	
			end if
		else
		call RestoreData()
		end if
	

 case "SpaceSize"		'系统空间占用
	
		call SpaceSize()
	

case else
		Errmsg=Errmsg+"<br>"+"<li>选取相应的操作。"
		call error()

end select

conn.close
set conn=nothing
response.write"</body></html>"


'====================系统空间占用=======================
sub SpaceSize()
on error resume next
%>
		<table width="100%" border="0" align="center" cellpadding="2" cellspacing="1" class="border">			
		  <tr class="title">
  					<td height="22" colspan="3" align="center">系统空间占用</td>
		  </tr> 	
 				<tr>
 					<td height=100 class=tdbg> 			
 			数据库 ：&nbsp;<img src="../images/bar1.gif" width=<%=drawbar("../Data_V800")%> height=10>&nbsp;<%showSpaceinfo("../Data_V800")%><br><br>
 			备份数据：&nbsp;<img src="../images/bar1.gif" width=<%=drawbar("../Databackup")%> height=10>&nbsp;<%showSpaceinfo("../Databackup")%><br><br>
 			后台文件：&nbsp;<img src="../images/bar1.gif" width=<%=drawbar("../Admin")%> height=10>&nbsp;<%showSpecialSpaceinfo("Program")%><br><br>
 			系统图片：&nbsp;<img src="../images/bar1.gif" width=<%=drawbar("../Images")%> height=10>&nbsp;<%showSpaceinfo("../Images")%><br><br>
 			专辑图片：&nbsp;<img src="../images/bar1.gif" width=<%=drawbar("../Photo")%> height=10>&nbsp;<%showSpaceinfo("../Photo")%><br><br>
 			JS：&nbsp;<img src="../images/bar1.gif" width=<%=drawbar("../js")%> height=10>&nbsp;<%showSpaceinfo("../js")%><br><br>
 			专辑文件：&nbsp;<img src="../images/bar1.gif" width=<%=drawbar("../Special")%> height=10>&nbsp;<%showSpaceinfo("../Special")%>&nbsp;../Special<br><br>
 			歌曲文件：&nbsp;<img src="../images/bar1.gif" width=<%=drawbar("../MusicList")%> height=10>&nbsp;<%showSpaceinfo("../MusicList")%>&nbsp;../Musiclist<br><br>
 			歌手文件：&nbsp;<img src="../images/bar1.gif" width=<%=drawbar("../Singer")%> height=10>&nbsp;<%showSpaceinfo("../Singer")%>&nbsp;../Singer<br><br>
 			总计 ：&nbsp;<img src="../images/bar1.gif" width=418 height=10>&nbsp;<%showSpaceinfo("../")%><br><br>
 					</td>
 				</tr>
</table>
<%
end sub

'====================恢复数据库=========================
sub RestoreData()
%>
	<table width="100%" border="0" align="center" cellpadding="2" cellspacing="1" class="border">
	<tr class="title">
	<td height="22" colspan="3" align="center">恢复数据( 需要FSO支持，FSO相关帮助请看微软网站 )</td>
	  </tr>
				<form method="post" action="Admin_Data.Asp?action=RestoreData&act=Restore">
  				<tr>
  					<td height=100 class=tdbg>
  						&nbsp;&nbsp;备份数据库路径(相对)：<input type=text size=30 name=DBpath value="../Data/kgdpk.asa">
  						&nbsp;&nbsp;<BR>
  						&nbsp;&nbsp;目标数据库路径(相对)：<input type=text size=30 name=backpath value="../beifenData/">
  						<BR>&nbsp;&nbsp;填写您当前使用的数据库路径，如不想覆盖当前文件，可自行命名（注意路径是否正确），然后修改Conn.asp文件，如果目标文件名和当前使用数据库名一致的话，不需修改Conn.asp文件<BR>
						&nbsp;&nbsp;<input type=submit value="恢复数据"> <br>
  						-----------------------------------------------------------------------------------------<br>
  						&nbsp;&nbsp;在上面填写本程序的数据库路径全名，本程序的默认备份数据库文件为DataBackup\V800_Html_MXok.asa，请按照您的备份文件自行修改。<br>
  						&nbsp;&nbsp;您可以用这个功能来备份您的法规数据，以保证您的数据安全！<br>
  						&nbsp;&nbsp;注意：所有路径都是相对与程序空间根目录的相对路径</font>
  					</td>
  				</tr>	
  				</form>
</table>
<%
end sub

'====================备份数据库=========================
sub BackupData()
%>
	<table width="100%" border="0" align="center" cellpadding="2" cellspacing="1" class="border">
  				<tr class="title">
  					<td height="22" colspan="3" align="center">备份网站数据( 需要FSO支持，FSO相关帮助请看微软网站 )</td>
  				</tr>
  				<form method="post" action="Admin_Data.Asp?action=BackupData&act=Backup">
  				<tr>
  					<td height=100 class=tdbg>
  						&nbsp;&nbsp;
						当前数据库路径(相对路径)：
						<input type=text size=15 name=DBpath2 value="../Data/Huanqiu.mdb">
						<BR>
						&nbsp;&nbsp;
						备份数据库目录(相对路径)：<input type=text size=15 name=bkfolder value="../beifenData">&nbsp;如目录不存在，程序将自动创建<BR>&nbsp;&nbsp;
						备份数据库名称(填写名称)：<input type=text size=15 name=bkDBname value=kgdpk.asa>&nbsp;如备份目录有该文件，将覆盖，如没有，将自动创建<BR>
						&nbsp;&nbsp;<input type=submit value="确定"><br>
  						-----------------------------------------------------------------------------------------<br>
  						&nbsp;&nbsp;在上面填写本程序的数据库路径全名，本程序的默认数据库文件为Data\kgdpk.asa，<B>请一定不能用默认名称命名备份数据库</B><br>
  						&nbsp;&nbsp;您可以用这个功能来备份您的法规数据，以保证您的数据安全！<br>
  						&nbsp;&nbsp;注意：所有路径都是相对与程序空间根目录的相对路径				</font>				  </td>
  				</tr>	
  				</form>
</table>
<%
end sub

sub updata()
		Dbpath=request.form("Dbpath")
		Dbpath=server.mappath(Dbpath)
		bkfolder=request.form("bkfolder")
		bkdbname=request.form("bkdbname")
		Set Fso=server.createobject("scripting.filesystemobject")
		if fso.fileexists(dbpath) then
			If CheckDir(bkfolder) = True Then
			fso.copyfile dbpath,bkfolder& "\"& bkdbname
			else
			MakeNewsDir bkfolder
			fso.copyfile dbpath,bkfolder& "\"& bkdbname
			end if
			response.write "备份数据库成功，您备份的数据库路径为" &bkfolder& "\"& bkdbname
		Else
			response.write "找不到您所需要备份的文件。"
		End if
end sub
'------------------检查某一目录是否存在-------------------
Function CheckDir(FolderPath)
	folderpath=Server.MapPath(".")&"\"&folderpath
    Set fso1 = CreateObject("Scripting.FileSystemObject")
    If fso1.FolderExists(FolderPath) then
       '存在
       CheckDir = True
    Else
       '不存在
       CheckDir = False
    End if
    Set fso1 = nothing
End Function
'-------------根据指定名称生成目录-----------------------
Function MakeNewsDir(foldername)
	dim f
    Set fso1 = CreateObject("Scripting.FileSystemObject")
        Set f = fso1.CreateFolder(foldername)
        MakeNewsDir = True
    Set fso1 = nothing
End Function


'====================压缩数据库 =========================
sub CompressData()
%>
<table width="100%" border="0" align="center" cellpadding="2" cellspacing="1" class="border">
  				<tr class="title">
<td height="22" colspan="3" align="center">压缩数据库</td>
</tr>
        <form action="Admin_Data.Asp?action=CompressData" method="post">
<tr>
<td class=tdbg height=25><b>注意：</b><br>输入数据库所在相对路径,并且输入数据库名称（正在使用中数据库不能压缩，请选择备份数据库进行压缩操作） </td>
</tr>
<tr>
<td class=tdbg>压缩数据库：<input type="text" name="dbpath" value=../beifenData/kgdpk.asa size="20">
&nbsp;
<input type="submit" value="开始压缩"></td>
</tr>
<tr>
<td class=tdbg><input type="checkbox" name="boolIs97" value="True">如果使用 Access 97 数据库请选择
(默认为 Access 2000 数据库)<br><br></td>
</tr>
<form>
</table>
<%
dim dbpath,boolIs97
dbpath = request("dbpath")
boolIs97 = request("boolIs97")

If dbpath <> "" Then
dbpath = server.mappath(dbpath)
	response.write(CompactDB(dbpath,boolIs97))
End If

end sub

'=====================压缩参数=========================
Function CompactDB(dbPath, boolIs97)
Dim fso, Engine, strDBPath,JET_3X
strDBPath = left(dbPath,instrrev(DBPath,"\"))
Set fso = CreateObject("Scripting.FileSystemObject")

If fso.FileExists(dbPath) Then
Set Engine = CreateObject("JRO.JetEngine")

	If boolIs97 = "True" Then
		Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath, _
		"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb;" _
		& "Jet OLEDB:Engine Type=" & JET_3X
	Else
		Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath, _
		"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb"
	End If

fso.CopyFile strDBPath & "temp.mdb",dbpath
fso.DeleteFile(strDBPath & "temp.mdb")
Set fso = nothing
Set Engine = nothing

	CompactDB = "你的数据库, " & dbpath & ", 已经压缩成功!" & vbCrLf

Else
	CompactDB = "数据库名称或路径不正确. 请重试!" & vbCrLf
End If

End Function


'=====================系统空间参数=========================
	Sub ShowSpaceInfo(drvpath)
 		dim fso,d,size,showsize
 		set fso=server.createobject("scripting.filesystemobject") 		
 		drvpath=server.mappath(drvpath) 		 		
 		set d=fso.getfolder(drvpath) 		
 		size=d.size
 		showsize=size & "&nbsp;Byte" 
 		if size>1024 then
 		   size=(size\1024)
 		   showsize=size & "&nbsp;KB"
 		end if
 		if size>1024 then
 		   size=(size/1024)
 		   showsize=formatnumber(size,2) & "&nbsp;MB"		
 		end if
 		if size>1024 then
 		   size=(size/1024)
 		   showsize=formatnumber(size,2) & "&nbsp;GB"	   
 		end if   
 		response.write "<font face=verdana>" & showsize & "</font>"
 	End Sub	
 	
 	Sub Showspecialspaceinfo(method)
 		dim fso,d,fc,f1,size,showsize,drvpath 		
 		set fso=server.createobject("scripting.filesystemobject")
 		drvpath=server.mappath("pic")
 		drvpath=left(drvpath,(instrrev(drvpath,"\")-1))
 		set d=fso.getfolder(drvpath) 		
 		
 		if method="All" then 		
 			size=d.size
 		elseif method="Program" then
 			set fc=d.Files
 			for each f1 in fc
 				size=size+f1.size
 			next	
 		end if	
 		
 		showsize=size & "&nbsp;Byte" 
 		if size>1024 then
 		   size=(size\1024)
 		   showsize=size & "&nbsp;KB"
 		end if
 		if size>1024 then
 		   size=(size/1024)
 		   showsize=formatnumber(size,2) & "&nbsp;MB"		
 		end if
 		if size>1024 then
 		   size=(size/1024)
 		   showsize=formatnumber(size,2) & "&nbsp;GB"	   
 		end if   
 		response.write "<font face=verdana>" & showsize & "</font>"
 	end sub 	 	 	
 	
 	Function Drawbar(drvpath)
 		dim fso,drvpathroot,d,size,totalsize,barsize
 		set fso=server.createobject("scripting.filesystemobject")
 		drvpathroot=server.mappath("pic")
 		drvpathroot=left(drvpathroot,(instrrev(drvpathroot,"\")-1))
 		set d=fso.getfolder(drvpathroot)
 		totalsize=d.size
 		
 		drvpath=server.mappath(drvpath) 		
 		set d=fso.getfolder(drvpath)
 		size=d.size
 		
 		barsize=cint((size/totalsize)/2)
 		Drawbar=barsize
 	End Function 	
 	
 	Function Drawspecialbar()
 		dim fso,drvpathroot,d,fc,f1,size,totalsize,barsize
 		set fso=server.createobject("scripting.filesystemobject")
 		drvpathroot=server.mappath("pic")
 		drvpathroot=left(drvpathroot,(instrrev(drvpathroot,"\")-1))
 		set d=fso.getfolder(drvpathroot)
 		totalsize=d.size
 		
 		set fc=d.files
 		for each f1 in fc
 			size=size+f1.size
 		next	
 		
 		barsize=cint((size/totalsize)*10)
 		Drawspecialbar=barsize
 	End Function 	
%>