📄 functions.js
字号:
/*
*#########################################
* PHPCMS 文件管理器 v4.01
* Copyright (c) 2004-2006 phpcms.cn
* 作者:Longbill ( http://www.longbill.cn )
* 请保留版权信息
*#########################################
*/
function $(obj)
{
return document.getElementById(obj);
}
function setcookie(name,value,t)
{
var cookiestr=name+"="+UrlEncode(value)+";";
var expires = "";
var d = new Date();
var t2=(!t)?cookieexp:t*60*1000;
d.setTime( d.getTime() + cookieexp);
expires = "expires=" + d.toGMTString()+";";
document.cookie = cookiestr+ expires;
}
function checkfile()
{
var i,files='',dirs='';
var dirn=0;
var filen=0;
for(i=0;i<dir.length;i++)
if ($('checkbox_d'+i).checked)
{
dirs+=UrlEncode(dir[i]+"|");
dirn++;
}
for(i=0;i<file.length;i++)
if ($('checkbox_f'+i).checked)
{
files+=UrlEncode(file[i]+"|");
filen++;
}
r=new Array();
r["dn"]=dirn;
r["fn"]=filen;
r["sdir"]=dirs;
r["sfile"]=files;
return r;
}
function downfile()
{
var arr=checkfile();
if (arr["fn"] + arr["dn"] == 0)
{
alert("请选中要下载的文件或文件夹!!");
}
else if (arr["fn"] ==1 && arr["dn"] == 0)
{
inwin.window.location="down.php?action=downfile&path="+path+arr["sfile"].replace("|",'');
}
else
{
inwin.window.location = "down.php?action=downfiles&path="+path+"&files="+arr["sfile"]+"&dirs="+arr["sdir"];
}
}
function downfile1(i)
{
inwin.window.location="down.php?action=downfile&afile=1&path="+path+file[i];
}
function filecopy(action)
{
var i=0,n=0;
var filestr='',dirstr='';
var act=(action == "copy")?"复制":"剪切";
var arr=checkfile();
if (arr["dn"]+arr["fn"] ==0 ) alert("请选中要"+act+"的文件或文件夹!!");
setcookie("action1",action);
setcookie("from",path);
setcookie("sdir",arr["sdir"]);
setcookie("sfile",arr["sfile"]);
}
function filepaste()
{
sendcomm("paste","path",path);
}
function filedel()
{
var i,arr=checkfile(),dn=0,alt;
if (arr['fn']+arr['dn']==0)
{
alert("请选中要删除的文件或文件夹!!");
return;
}
if (!arr['fn'])
alt=arr['dn']+"个目录吗?";
else if (!arr['dn'])
alt=arr['fn']+"个文件吗?";
else
alt=arr['dn']+"个目录和"+arr['fn']+"个文件吗?";
if (!confirm("你确定要删除这 "+alt)) return;
if (arr['dn'] && !confirm("你要删除的 "+arr['dn']+" 个目录可能不为空,一旦删除就不能恢复!!要继续吗?")) return;
sendcomm("delete",Array("path","sdir","sfile"),Array(path,arr['sdir'],arr['sfile']));
}
function fileup(i)
{
var s="var so=document.getElementById('updiv"+i+"');";
eval(s);
so.style.display=(so.style.display=='none')?'':'none';
}
function waitme() //显示等待信息
{
$('loading').style.display='';
$('loading').style.pixelTop=document.body.scrollTop;
window.status='当前状态:Loading...';
return true;
}
function waitmeoff()//取消显示等待信息
{
$('loading').style.display='none';
window.status='当前状态:OK';
return true;
}
function filerename1(i)
{
var file2;
if (file2 = prompt("把 "+file[i]+" 重新命名为:",file[i]))
{
if (!checkfilename(file2)) return;
sendcomm("rename",Array("file1","file2","path"),Array(file[i],file2,path));
}
}
function filerename2(i)
{
var dir2;
if (dir2 = prompt("把 "+dir[i]+" 重新命名为:",dir[i]))
{
if (!checkfilename(dir2)) return;
sendcomm("rename",Array("file1","file2","path"),Array(dir[i],dir2,path));
}
}
function allcheck()
{
for(var i=0;i<dir.length;i++) $('checkbox_d'+i).checked = true;
for(var i=0;i<file.length;i++) $('checkbox_f'+i).checked = true;
}
function anticheck()
{
var i;
for(i=0;i<dir.length;i++) $('checkbox_d'+i).checked = !$('checkbox_d'+i).checked;
for(i=0;i<file.length;i++) $('checkbox_f'+i).checked = !$('checkbox_f'+i).checked;
}
function inputfilename()
{
var fname;
if (debug) alert("inputfilename");
if (fname=prompt("输入新文件名",""))
{
for(var i=0;i<file.length;i++)
if (fname.toLowerCase() == file[i].toLowerCase() )
{
alert("文件"+fname+"已经存在!!");
return;
}
if (!checkfilename(fname)) return;
sendcomm("newfile",Array("name","path"),Array(fname,path));
}
}
function inputdirname()
{
var fname;
if (debug) alert("inputdirname");
if (fname=prompt("输入新文件名",""))
{
for(var i=0;i<dir.length;i++)
if (fname.toLowerCase() == dir[i].toLowerCase() )
{
alert("目录"+fname+"已经存在!!");
return;
}
if (!checkfilename(fname)) return;
sendcomm("newdir",Array("name","path"),Array(fname,path));
}
}
function sendcomm(act,vars,vals,func,re,al)
{
var path1=window.path;
waitme();
if (debug) alert("comm ");
var sk=new sack("do.php");
sk.setVar("action",act);
sk.late=true;
if (typeof(vars)=="object")
{
if (vars.length!=vals.length) return false;
var i=0;
for(i=0;i<vars.length;i++) sk.setVar(vars[i],vals[i]);
}
else sk.setVar(vars,vals);
if (!func)
{
sk.onCompletion=function()
{
if (debug) alert("ajax response :"+sk.response);
var res=checkdata(sk.response);
if (res==-1)
alert("发生错误:\n"+pickdata(sk.response));
else if (res==1)
{
if (!al) alert(pickdata(sk.response));
if (!re) reloaddata(path1);
}
else if (res !=2)
alert(sk.response);
waitmeoff();
}
}
else sk.onCompletion=func;
sk.onError=function()
{
alert(act+"时发生错误!");
waitmeoff();
}
sk.runAJAX();
}
function makesure(sort,id)
{
if (sort=="f" && confirm("你确定要删除文件 "+file[id]+" 吗?"))
sendcomm("delete",Array("path","sfile"),Array(path,file[id]));
else if (sort=="d" && confirm("你确定要删除目录 "+dir[id]+" 吗?"))
sendcomm("delete",Array("path","sdir"),Array(path,dir[id]));
}
function zippack()
{
var i,arr=checkfile(),dn=0,alt;
if (arr['fn']+arr['dn']==0)
{
alert("请选中要打包的文件或文件夹!!");
return;
}
var ar=path.split("/"),fname;
fname=ar[ar.length - 2];
if (fname == "..") fname="root.zip";
if (key = prompt("请 zip 文件名:",fname))
{
if (key.substring(key.length-4,key.length).toLowerCase()!=".zip") key+=".zip";
if (!checkfilename(key)) return;
for(var i=0;i<file.length;i++)
if (file[i].toLowerCase() == key.toLowerCase())
if (!confirm(key+" 已经存在,要覆盖它吗?")) return;
sendcomm("zippack",Array("path","key","sdir","sfile"),Array(path,key,arr['sdir'],arr['sfile']));
}
}
function unpackall1(i)
{
var filename;
filename=file[i];
var key='',cover=false;
filename=filename.substring(0,filename.indexOf(".zip"));
if (key=prompt("输入将 "+file[i]+" 解压到的目录名(当前目录请输入.):",filename))
{
if (!checkfilename(key)) return;
var cover=1;
if (key!="./" && key!=".")
{
for(var ii=0;ii<dir.length;ii++)
{
if (dir[ii].toLowerCase() == key.toLowerCase())
cover = confirm("已存在 "+key+" 文件夹,如果解压出来的文件和已经存在的文件重名,要覆盖吗?");
}
}
else
{
cover = confirm("如果解压出来的文件和已经存在的文件重名,要覆盖吗?");
key="./";
}
cover = (cover)?"1":"0";
sendcomm("unpackall",Array("path","key","file","cover"),Array(path,key,file[i],cover));
}
}
function property()
{
sendcomm("property","path",window.path,null,false);
}
function upindex()
{
var path=window.path;
if (path.indexOf(root) !=0) path = root;
if (path == root) return;
var arr=path.split("/");
var i;
path="";
for(i=0;i<arr.length-2;i++)
path+=arr[i]+"/";
window.path=path;
opendir(path);
}
function resetdata(s,vname)
{
if (!s) return;
var arr=s.split("|");
for(i=0;i<arr.length;i++)
{
if (arr[i]=="") continue;
eval(vname+"['"+arr[i]+"']=true;");
}
}
function preloaddata(p)
{
if (data[p]) return;
if (debug) alert("preload :"+p);
var sk=new sack("do.php");
sk.setVar("action","list");
sk.setVar("path",p);
sk.onCompletion=function()
{
var res=checkdata(sk.response);
if (res==1)
{
if (p.charAt(p.length-1)!="/") p+="/";
data[p]=pickdata(sk.response);
if (debug) alert("preload data["+p+"]="+data[p]);
}
}
sk.onError=function() {}
sk.runAJAX();
}
function checkdata(s)
{
if (s.indexOf("OK")!=-1) return 1;
else if (s.indexOf("Error")!=-1) return -1;
else if (s.indexOf("Eval")!=-1)
{
if(debug) alert("Eval:\n"+pickdata(s));
eval(pickdata(s));
return 2;
}
else return 0;
}
function pickdata(s)
{
if (s.length<=0) return false;
var arr=s.split("==?");
arr=arr[1].split("?==");
return arr[0];
}
function opendir(path)
{
if (debug) alert("opendir :"+path);
if (!path) path = root;
if (!data[path])
{
reloaddata(path,1);
return;
}
else
{
window.path=path;
display();
}
}
function reloaddata(p,r)
{
if (!p) p=window.path;
if (p.charAt(p.length-1)!="/") p+="/";
if (debug) alert("reloaddata :"+p);
waitme();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -