<!--#include FILE="include.asp"-->
<%if session("admin")="" then
response.Write "<script language='javascript'>alert('网络超时或您还没有登陆！');history.go(-1);</script>"
response.End
else
if session("flag")>1 then
response.Write "<div align=center><font size=80 color=red><b>您没有此项目管理权限！</b></font></div>"
response.End
end if
end if

if right(gPath,1)<>"/" then gPath=gPath&"/"
sTemp=procCheckDir(gPath,1)
if sTemp<>"ok" then
 htmend sTemp,1,""
end if
select case gAct
 case "renf"
  procRename()
 case "rend"
  procRenameDir()
 case "md"
  procMakeDir()
 case "copy"
  procDoIt()
 case "cut"
  procDoIt()
 case "paste" 
  procPaste()
 case "del"
  procDel() 
 case "delit"
  procDelIt()
 case "delitd"
  procDelItD() 
 end select
 set gFolder=fo.GetFolder(Server.mappath(gPath))

function procDelIt()
 dim sFile,act
 sFile=getVar("file","str","")
 if sFile="" then htmEnd "文件不存在",1,""
 act=procCheckFile(gPath&sFile,1)
 if act<>"ok" then htmEnd act,1,""
 fo.DeleteFile Server.mappath(gPath&sFile)
end function

function procDelItD()
 dim sFile,act
 sFile=getVar("file","str","")
 if sFile="" then htmEnd "目录不存在",1,""
 act=procCheckDir(gPath&sFile,1)
 if act<>"ok" then htmEnd act,1,""
 fo.DeleteFolder Server.mappath(gPath&sFile)
end function

function procDel()
  dim sStr,maxdir,maxfile,i,ret
  maxdir=cint(Request.Form("maxdir"))
  maxfile=cint(Request.Form("maxfile"))
  for i=1 to maxdir
   if Request.Form("chidd"&i)<>"" then
     sStr=Request.Form("chidd"&i)
     ret=procCheckDir(gPath&sStr,1)
     if ret<>"ok" then htmEnd ret,1,""
     fo.DeleteFolder Server.MapPath(gPath&sStr),true
   end if
  next
  
  sStr=gAct&"|"&gPath
  for i=1 to maxfile
   if Request.Form("chidf"&i)<>"" then
     sStr=Request.Form("chidf"&i)
     ret=procCheckfile(gPath&sStr,1)
     if ret<>"ok" then htmEnd ret,1,""
     fo.DeleteFile Server.MapPath(gPath&sStr),true
   end if
  next
  
  Session("bufferdir")=""
  Session("bufferfile")=""
end Function

function procpaste()
  dim sStr,sStr1,i,ret,sArr
  if Session("bufferdir")="" and Session("bufferfile")="" then exit function
  sArr=split(Session("bufferdir"),"|")
  if sArr(1)=gPath then  htmend "不能自己覆盖自己!",1,""
  for i=2 to ubound(sArr)
     sStr=sArr(1)&sArr(i)
     sStr1=gPath&sArr(i)
     if fo.FolderExists(Server.MapPath(sStr1)) then htmEnd "目录:"&sStr1&" 已经存在!",1,""
     if procCheckDir(sStr,1)="ok" then
       if sArr(0)="cut" then
        fo.MoveFolder Server.MapPath(sStr),Server.MapPath(sStr1)
       else
        fo.CopyFolder Server.MapPath(sStr),Server.MapPath(sStr1)
       end if
     end if
   next
   
  sArr=split(Session("bufferfile"),"|")
  for i=2 to ubound(sArr)
     sStr=sArr(1)&sArr(i)
     sStr1=gPath&sArr(i)
     if procCheckFile(sStr,1)="ok" then
       if sArr(0)="cut" then
        if fo.FileExists(Server.MapPath(sStr1)) then htmEnd "文件 "&sStr1&" 已经存在!",1,""
        fo.MoveFile Server.MapPath(sStr),Server.MapPath(sStr1)
       else
        fo.CopyFile Server.MapPath(sStr),Server.MapPath(sStr1),true
       end if
     end if
   next
  Session("bufferdir")=""
  Session("bufferfile")=""
end Function

function procRename()
 dim sFrom,sTo,sStr,sObj
   sFrom=getVar("from","str","") 
   sTo=getVar("to","str","")
   if sFrom="" or sTo="" then exit function
   sStr=procCheckFile(gPath&sFrom,1)
   if sStr<>"ok" then  htmEnd sStr,1,""
   sStr=procCheckFile(sTo,0)
   if sStr<>"ok" then  htmEnd sStr,1,""
   if fo.FileExists(Server.MapPath(gPath&sTo)) then htmend "目标文件已存在!",1,""
   set sObj=fo.GetFile(Server.MapPath(gPath&sFrom))
   sObj.Move Server.MapPath(gPath&sTo)
   set sObj=nothing
end function

function procDoIt()
  dim sStr,maxdir,maxfile,i
  sStr=gAct&"|"&gPath
  maxdir=cint(Request.Form("maxdir"))
  maxfile=cint(Request.Form("maxfile"))
  for i=1 to maxdir
   if Request.Form("chidd"&i)<>"" then sStr=sStr&"|"&Request.Form("chidd"&i)
  next
  Session("bufferdir")=sStr
  
  sStr=gAct&"|"&gPath
  for i=1 to maxfile
   if Request.Form("chidf"&i)<>"" then sStr=sStr&"|"&Request.Form("chidf"&i)
  next
  Session("bufferfile")=sStr
end Function

function procMakeDir()
  dim sTo,sStr
  sTo=getVar("to","str","")
  sStr=left(sStr,inStrRev(sStr,"/"))
  sStr=procCheckDir(gPath,1)
  if sStr<>"ok" then htmEnd sStr,1,""
  sStr=procCheckDir(gPath&sTo,0)
  if sStr<>"ok" then htmEnd sStr,1,""
  if fo.FolderExists(Server.mappath(gPath&sTo)) then htmEnd "目录已经存在!",1,""
  fo.CreateFolder(Server.mappath(gPath&sTo))
end function

function procRenameDir()
 dim sFrom,sTo,sStr,sObj
   sFrom=getVar("from","str","") 
   sTo=getVar("to","str","")
   if sFrom="" or sTo="" then exit function
   sStr=procCheckDir(gPath&sFrom,1)
   if sStr<>"ok" then  htmEnd sStr,1,""
   sStr=procCheckdir(gPath&sTo,0)
   if sStr<>"ok" then  htmEnd sStr,1,""
   if fo.FolderExists(Server.MapPath(gPath&sTo)) then htmend "目标目录已存在!",1,""
   fo.MoveFolder Server.MapPath(gPath&sFrom),Server.MapPath(gPath&sTo)
   set sObj=nothing
end function
%>
<script language=javascript>
var baseurl;
baseurl='<%=gBaseUrl%>';

function openit(str)
{
window.open('<%=gPath%>'+str,'_blank');
}

function chdir(dir,mode)
{
var obj;
obj=document.webedit;
if(!dir)
 {alert('请输入要浏览的目录');return;}
if(mode) 
 {
  if(obj.filter.value)
   obj.action='<%=gFileName%>?filter='+obj.filter.value+'&path=<%=gPath%>'+dir;
  else
   obj.action='<%=gFileName%>?path=<%=gPath%>'+dir;
  }
else
 {
  if(obj.filter.value)
   obj.action='<%=gFileName%>?filter='+obj.filter.value+'&path='+dir;
  else
   obj.action='<%=gFileName%>?path='+dir;
  }
obj.submit();
}

function edit(name)
{
window.open('editfile.asp?act=read&path=<%=gPath%>'+name);
}

function rename(oldName)
{
str=prompt('将文件 '+oldName+' 更名为:',oldName);
if(!str)return;
obj=document.webedit;
obj.action=baseurl+'&act=renf&from='+oldName+'&to='+str;
obj.submit();
}

function renamed(oldName)
{
str=prompt('将目录 '+oldName+' 更名为:',oldName);
if(!str)return;
obj=document.webedit;
obj.action=baseurl+'&act=rend&from='+oldName+'&to='+str;
obj.submit();
}

function paste()
{
<%if Session("bufferfile")="" or Session("bufferdir")="" then 
 response.write("alert('剪贴板中没有数据!');"&vbcrlf)
 response.write "return;"
end if%>
if(!confirm('真要将文件粘贴到此目录吗?'))
 return;
obj=document.webedit;
obj.action=baseurl+'&act=paste';
obj.submit();
}

function del()
{
obj=document.webedit;
if(!confirm('真要删除选中的目录与文件吗?'))
return;
obj.action=baseurl+'&act=del';
obj.submit();
}
function mkdir()
{
str=prompt('新建目录:','');
if(!str)return;
obj=document.webedit;
obj.action=baseurl+'&act=md&to='+str;
obj.submit();
}


function selfileall(act)
{
 i=1;
 obj=document.webedit;
 while(eval('obj.chidf'+i))
 {
  obj1=eval('obj.chidf'+i);
  obj1.checked=act;
  i++;
 }
}

function seldirall(act)
{
 i=1;
 obj=document.webedit;
 while(eval('obj.chidd'+i))
 {
  obj1=eval('obj.chidd'+i);
  obj1.checked=act;
  i++;
 }
}

function doit(act)
{
 i=1;
 issel=0;
 obj=document.webedit;
 while(eval('obj.chidf'+i))
 {
  obj1=eval('obj.chidf'+i);
  if(obj1.checked)
   {issel=1;break;}
  i++;
 }
 i=1
  while(eval('obj.chidd'+i))
 {
  obj1=eval('obj.chidd'+i);
  if(obj1.checked)
   {issel=1;break;}
  i++;
 }
 if(!issel)
 {alert('请先选择文件与目录。');return;}
obj.action=baseurl+'&act='+act;
obj.submit();
}

function refreshit()
{ 
obj=document.webedit;
obj.action=baseurl;
obj.submit();
}

function upload()
{
 window.open('upfile1.asp?path=<%=gPath%>');
}

function viewclip()
{
window.open('viewclip.asp','_blank','scrollbars');
}

function delit(str)
{
if(!confirm('真要删除文件'+str+'吗?'))
return;
obj=document.webedit;
obj.action=baseurl+'&act=delit&file='+str;
obj.submit();
}

function delitd(str)
{
if(!confirm('真要删除目录'+str+'吗?'))
return;
obj=document.webedit;
obj.action=baseurl+'&act=delitd&file='+str;
obj.submit();
}

function about()
{
window.showModalDialog("images/about.htm","","dialogWidth:280px;dialogHeight:150px;scroll:no;status:no;help:no");
}
</script>

<html>
<head>
<title>Web Edit</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="webedit.css" type="text/css">
</head>

<body bgcolor="#FFFFFF" text="#000000" leftmargin="40" topmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0">
<form name="webedit" method="post" action="<%=gBaseUrl%>"><br>
</form>
</body>
</html>
<%
set gFolder=nothing
set fo=nothing%>