<!--#include file="sdcms_check.asp"-->
<%
Dim Sdcms,Sd_Table,Action,title,t0,t1,t2,f,g1,g2,g3,g4
Action=Lcase(Trim(Request.QueryString("Action")))

Set sdcms=New Sdcms_Admin
sdcms.Check_admin
Select Case action
'	Case "kupt":title="数据库备份"
	Case "edit":title="数据库压缩"
	Case "editt":title="数据库压缩"
	Case "sqlt":title="数据库恢复"
	Case "sqltt":title="数据库恢复"
	Case "del":title="数据库删除"
	Case Else:title="数据库备份"
End Select
t0=Sdcms_DataFile
t1=Sdcms_DataName
f=Server.MapPath("..\"&t0&"\"&t1&"")
t2="backup"&Runtime&second(now())&".exe"
Sd_Table="sd_link"
Sdcms_Head
%>

<div class="sdcms_notice"><span>管理操作：</span><a href="sql.asp">数据库备份</a>　┊　<a href="?action=edit">数据库压缩</a>　┊　<a href="?action=sqlt">数据库恢复</a></div>
<br>
<ul id="sdcms_sub_title">
	<li class="sub"><%=title%></li>
</ul> 
<div id="sdcms_right_b">
<%
Select Case action
	Case "kupt":Sdcms.Check_lever 24:kupt
	Case "edit":Sdcms.Check_lever 24:edit
	Case "editt":Sdcms.Check_lever 24:editt
	Case "sqlt":Sdcms.Check_lever 24:sqlt
	Case "sqltt":Sdcms.Check_lever 24:sqltt
	Case "del":Sdcms.Check_lever 23:del
	Case Else:main
End Select
Db_Run
closedb
Set Sdcms=Nothing
Sub main
%>
<table border="0" align="center" cellpadding="3" cellspacing="1" class="table_b">
  <tr>
    <td height="35"><font color="#FF0000">√注意事项：备份数据库 ( 需要FSO支持，FSO相关帮助请看微软网站 )</font></td>
  </tr>
  <tr>
    <td height="35"><font color="#FF0000">√当前数据库目录：<%=t0%></font></td>
  </tr>
  <tr>
    <td height="35"><font color="#FF0000">√当前数据库文件：<%=t1%></font></td>
  </tr>
  <tr>
    <td height="35"><font color="#FF0000">√当前数据库将备份文件名：<%=t2%> (备份后点击文件名可直接下载)</font></td>
  </tr>
  <tr>
    <td>&nbsp;&nbsp;①、备份数据需要FSO组件支持，FSO组件的相关帮助！所有路径都是相对与程序空间根目录的相对路径！此功能谨慎使用,可能在有些空间备份后,在本机上不能用ACCESS打开。<br />
        <br />
      &nbsp;&nbsp;②、如果备份目录不存在，程序将自动创建！<br />
      <br />
      &nbsp;&nbsp;③、如果备份目录有该文件，将覆盖，如果没有，程序将自动创建！<br />
      <br />
      &nbsp;&nbsp;④、数据库备份操作适合于此时不便于使用FTP操作的情况下的在线备份，如果有条件，尽量利用FTP备份到本地。<br />
      <br />
      &nbsp;&nbsp;⑤、在进行数据库压缩之前，请先作备份处理。<br />
      <br />
      &nbsp;&nbsp;⑥、在进入此操作前，请确定网站现处于<font color="blue"><strong>关闭状态</strong></font>！ </td>
  </tr>
  <tr>
    <td align="center">
		<form action="sql.asp?action=kupt" method="post" name="backupdb" onsubmit="return checkform()">
		<input type="submit" name="submit" value="开始备份" />
		</form>
	</td>
  </tr>
</table>
<script>
function checkform()
{ 
document.backupdb.submit.disabled=true;
document.backupdb.submit.value="已提交";
return true;
}
var b=2;
document.backupdb.submit.disabled=true;
document.backupdb.submit.value="正在读取数据库信息";
for(i=1;i<=b;i++)
{window.setTimeout("update("+i+")",i*1000);}
function update(c){
if(c==b)
{
document.backupdb.submit.disabled=false;
document.backupdb.submit.value="开始备份"
}
else{
a=b-c;
document.backupdb.submit.value="正在读取数据库信息";}
}
</script>
<%
End Sub

Sub kupt
dim ff
if Check_Folder("..\"&t0&"\"&t0&"") then  Create_Folder("..\"&t0&"\"&t0&"")
ff=Server.MapPath("..\"&t0&"\"&t2&"")
call BackupDatabase(f,ff)
end sub

sub editt
g1=Lcase(Trim(Request.QueryString("g")))
call CompactDatabase(g1)
end sub

sub sqltt
g1=Lcase(Trim(Request.QueryString("g")))
g2=Server.MapPath("..\"&t0&"\"&g1&"")
call RestoreDatabase(g2,f)
end sub

sub del
g1=Lcase(Trim(Request.QueryString("g")))
g2=Server.MapPath("..\"&t0&"\"&g1&"")
call DelDatabase(g2)
end sub

sub edit
g1=Lcase(Trim(Request.QueryString("g")))
g2=Server.MapPath("..\"&t0&"\"&g1&"")
g3=split(g2,"\")
g4=g3(3) 
%>
<table border="0" align="center" cellpadding="3" cellspacing="1" class="table_b">
  <tr>
    <td height="35" class="tabletd1"><font color="#FF0000" class="tabletd2">√注意事项：压缩数据库 ( 需要FSO支持，FSO相关帮助请看微软网站 )</font></td>
	
  </tr>
    <tr>
    <td height="35"><font color="#FF0000">√当前数据库目录：<%=t0%></font></td>
  </tr>
  <tr>
    <td height="35"><font color="#FF0000">√当前数据库文件：<%=t1%></font></td>
  </tr>
  <tr>
    <td class="tabletd3">
&nbsp;&nbsp;①、输入数据库所在相对路径,并且输入数据库名称（正在使用中数据库不能压缩，请选择备份数据库进行压缩操作）<br><Br>
&nbsp;&nbsp;②、为确保数据库安全，不出现暴库，在压缩数据库之前，请务必作好备份，并且网站状态要在在进入此操作前，请确定网站现处于<font color="blue"><strong>关闭状态</strong></font>！<Br></td>
  </tr>
  <tr>
    <td align="center">
	<form name="editt" method="post" action="sql.asp?action=editt&g=<%=g2%>" onSubmit="return checkformm()" >
		<input type="submit" name="submit" value="开始压缩">
	</form>	</td>
  </tr>
</table>
<script>
	function checkformm()
	{ 
		document.editt.submit.disabled=true;
		document.editt.submit.value="已提交";
		return true;
	}
	var b=2;
	document.editt.submit.disabled=true;
	document.editt.submit.value="正在读取数据库信息";
	for(i=1;i<=b;i++)
	{window.setTimeout("update("+i+")",i*1000);}
	function update(c){
	if(c==b)
	{
	document.editt.submit.disabled=false;
	document.editt.submit.value="开始压缩"
	}
	else{
	a=b-c;
	document.editt.submit.value="正在读取数据库信息";}
	}
	</script>
<%
end sub
sub sqlt
dim content,objf,fso,filepath,fff
set fso=server.createobject("scripting.filesystemobject")   
filepath=server.mappath("..\"&t0&"")  '文件存储的路径
set fff=fso.GetFolder(filepath)   
%>
<table border="0" align="center" cellpadding="3" cellspacing="1" class="table_b">
<tr>
<td class="title_bg" width="300">目录/名称</td>
<td class="title_bg">文件大小</td>
<td class="title_bg">更新日期</td>
<td class="title_bg">管理</td>
</tr>
<%
For Each objf in fff.Files 
If Get_Filetxt(objf.name)="bak" or Get_Filetxt(objf.name)="exe" Then 
%>
<tr onmouseover=this.bgColor='#EEFEED'; onmouseout=this.bgColor='#ffffff';  bgcolor='#ffffff'>
<td height="25" align="center"><a href="<%=Sdcms_WebUrl%>/data/<%=objf.Name%>" target="_blank"><%=objf.name%></a></td>
<td align="center"><%=FormatNumber(objf.Size/1024,2,True,False,True)%>  KB</td>
<td align="center"><%=objf.datelastmodified%></td>
<td align="center"><a href="?action=sqltt&g=<%=objf.Name%>">恢复</a> <a href="?action=edit&g=<%=objf.Name%>">压缩</a> <a href="?action=del&g=<%=objf.Name%>" onclick='return confirm("真的要删除?不可恢复!");'>删除</a></td></tr>
<%
End If
next%>
</table>
<%
set fso=nothing
set fff=nothing
End Sub
%>  
</div>
</body>
</html>