Linux ip-172-26-2-223 5.4.0-1018-aws #18-Ubuntu SMP Wed Jun 24 01:15:00 UTC 2020 x86_64
Apache
: 172.26.2.223 | : 3.23.92.159
Cant Read [ /etc/named.conf ]
8.1.13
www
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
www /
server /
panel /
BTPanel /
static /
js /
[ HOME SHELL ]
Name
Size
Permission
Action
Validform_v5.3.2_min.js
20.17
KB
-rwxr-xr-x
aes.js
22.15
KB
-rwxr-xr-x
bootstrap-select.min.js
30.91
KB
-rwxr-xr-x
bootstrap.min.js
35.95
KB
-rwxr-xr-x
bt_upload.js
6.46
KB
-rwxr-xr-x
china.js
60.38
KB
-rwxr-xr-x
clipboard.min.js
10.41
KB
-rwxr-xr-x
config.js
62.92
KB
-rwxr-xr-x
control.js
43.36
KB
-rwxr-xr-x
countryCode.json
27.27
KB
-rwxr-xr-x
crontab.js
61.74
KB
-rwxr-xr-x
database.js
103.01
KB
-rwxr-xr-x
docker.js
151.43
KB
-rwxr-xr-x
echarts.min.js
950.32
KB
-rwxr-xr-x
files.js
233.97
KB
-rwxr-xr-x
files.min.js
121.19
KB
-rwxr-xr-x
firewall.js
102.42
KB
-rwxr-xr-x
i18next.min.js
47.94
KB
-rwxr-xr-x
index.html
0
B
-rwxr-xr-x
index.js
123.52
KB
-rwxr-xr-x
jquery-1.10.2.min.js
90.88
KB
-rwxr-xr-x
jquery-2.2.4.min.js
83.57
KB
-rwxr-xr-x
jquery-ui.min.js
247.72
KB
-rwxr-xr-x
jquery.contextify.min.js
2.7
KB
-rwxr-xr-x
jquery.dragsort-0.5.2.min.js
8.92
KB
-rwxr-xr-x
jquery.fly.min.js
1.79
KB
-rwxr-xr-x
jquery.i18n.properties.js
16.59
KB
-rwxr-xr-x
jquery.qrcode.min.js
13.67
KB
-rwxr-xr-x
jsencrypt.min.js
175.64
KB
-rwxr-xr-x
logs.js
39.53
KB
-rwxr-xr-x
md5.js
8.34
KB
-rwxr-xr-x
polyfill.js
9.31
KB
-rwxr-xr-x
polyfill.min.js
520
B
-rwxr-xr-x
public.js
231.13
KB
-rwxr-xr-x
public_backup.js
352.53
KB
-rwxr-xr-x
qrcode.min.js
19.46
KB
-rwxr-xr-x
requestAnimationFrame.js
901
B
-rwxr-xr-x
site.js
458.68
KB
-rwxr-xr-x
socket.io.min.js
63.54
KB
-rwxr-xr-x
soft.js
266.85
KB
-rwxr-xr-x
term.js
48.74
KB
-rwxr-xr-x
tools.js
130.2
KB
-rwxr-xr-x
tools.min.js
80.67
KB
-rwxr-xr-x
upload-drog.js
38.45
KB
-rwxr-xr-x
upload.js
8.11
KB
-rwxr-xr-x
xterm.js
295.86
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : files.min.js
var bt_file={area:[],loadT:null,loadY:null,vscode:null,file_table_arry:[],timerM:null,is_update_down_list:true,is_recycle:false,is_editor:false,file_header:{file_checkbox:40,file_name:"auto",file_accept:120,file_size:90,file_mtime:145,file_ps:"auto",file_operation:350,file_tr:0,file_list_header:0},file_operating:[],file_pointer:-1,file_path:"C:/",file_page_num:bt.get_storage("local","showRow")||100,file_list:[],file_store_list:[],file_store_current:0,file_images_list:[],file_drop:null,file_present_task:null,file_selection_operating:{},file_share_list:[],scroll_width:(function(){var c,a,b=document.createElement("DIV");b.style.cssText="position:absolute; top:-1000px; width:100px; height:100px; overflow:hidden;";c=document.body.appendChild(b).clientWidth;b.style.overflowY="scroll";a=b.clientWidth;document.body.removeChild(b);return c-a}()),is_mobile:function(){if(navigator.userAgent.match(/mobile/i)||/(iPhone|iPad|iPod|iOS|Android)/i.test(navigator.userAgent)){layer.msg(navigator.userAgent.match(/mobile/i),{icon:2,time:0});return true}return false},method_list:{GetFileBody:"获取文件内容",DeleteDir:"删除文件目录",DeleteFile:"删除文件",GetDiskInfo:["system","获取磁盘列表"],CheckExistsFiles:"检测同名文件是否存在",GetFileAccess:"获取文件权限信息",SetFileAccess:lan["public"].config,DelFileAccess:"正在删除用户",get_path_size:"获取文件目录大小",add_files_store_types:"创建收藏夹分类",get_files_store:"获取收藏夹列表",del_files_store:"取消文件收藏",dir_webshell_check:"目录查杀",file_webshell_check:"查杀文件",get_download_url_list:"获取外链分享列表",get_download_url_find:"获取指定外链分享信息",create_download_url:"创建外链分享",remove_download_url:"取消外链分享",add_files_store:"添加文件收藏",CopyFile:"复制文件",MvFile:"剪切文件",SetBatchData:"执行批量操作",Get_Recycle_bin:"回收站列表",BatchPaste:"粘贴中"},file_drop:{f_path:null,startTime:0,endTime:0,uploadLength:0,splitSize:1024*1024*2,splitEndTime:0,splitStartTime:0,fileSize:0,speedLastTime:0,filesList:[],errorLength:0,isUpload:true,uploadSuspend:[],isUploadNumber:800,uploadAllSize:0,uploadedSize:0,updateedSizeLast:0,topUploadedSize:0,uploadExpectTime:0,initTimer:0,speedInterval:null,timerSpeed:0,isLayuiDrop:false,uploading:false,is_webkit:(function(){if(navigator.userAgent.indexOf("WebKit")>-1){return true}return false})(),init:function(){if($("#mask_layer").length==0){window.UploadFiles=function(){bt_file.file_drop.dialog_view()};$("body").append($('<div class="mask_layer" id="mask_layer" style="position:fixed;top:0;left:0;right:0;bottom:0; background:rgba(255,255,255,0.6);border:3px #ccc dashed;z-index:99999999;display:none;color:#999;font-size:40px;text-align:center;overflow:hidden;"><span style="position: absolute;top: 50%;left: 50%;margin-left: -300px;margin-top: -40px;">'+(!this.is_webkit?'<i style="font-size:20px;font-style:normal;display:block;margin-top:15px;color:red;">当前浏览器暂不支持拖动上传,推荐使用Chrome浏览器或WebKit内核的浏览器。</i>':"上传文件到当前目录下")+"</span></div>"));this.event_relation(document.querySelector("#container"),document,document.querySelector("#mask_layer"))}},event_relation:function(f,b,a){var d=this,e=Object.keys(arguments);for(var c in arguments){if(typeof arguments[c]=="object"&&typeof arguments[c].nodeType!="undefined"){arguments[c]={el:arguments[c],callback:null}}}b.el.addEventListener("dragleave",(b.callback!=null)?b.callback:function(g){if(g.x==0&&g.y==0){$("#mask_layer").hide()}g.preventDefault()},false);f.el.addEventListener("dragenter",(f.callback!=null)?f.callback:function(g){if(g.dataTransfer.items[0].kind=="string"){return false}$("#mask_layer").show();d.isLayuiDrop=false;g.preventDefault()},false);a.el.addEventListener("dragover",function(g){g.preventDefault()},false);a.el.addEventListener("drop",(f.callback!=null)?a.callback:d.ev_drop,false)},ev_drop:function(g){if(g.dataTransfer.items[0].kind=="string"){return false}if(!bt_file.file_drop.is_webkit){$("#mask_layer").hide();return false}g.preventDefault();if(bt_file.file_drop.uploading){layer.msg("正在上传文件中,请稍候...");return false}var a=g.dataTransfer.items,f,c=0;loadT=layer.msg("正在获取上传文件信息,请稍候...",{icon:16,time:0,shade:0.3});bt_file.file_drop.isUpload=true;if(a&&a.length&&a[0].webkitGetAsEntry!=null){if(a[0].kind!="file"){return false}}if(bt_file.file_drop.filesList==null){bt_file.file_drop.filesList=[]}for(var d=bt_file.file_drop.filesList.length-1;d>=0;d--){if(bt_file.file_drop.filesList[d].is_upload){bt_file.file_drop.filesList.splice(-d,1)}}$("#mask_layer").hide();function b(e){e.getFilesAndDirectories().then(function(i){return h(i,e.path)})}var h=function(k,j){if(!bt_file.file_drop.isUpload){return false}for(var e=0;e<k.length;e++){if(typeof(k[e].getFilesAndDirectories)=="function"){b(k[e])}else{if(c>bt_file.file_drop.isUploadNumber){bt_file.file_drop.isUpload=false;layer.msg(" "+bt_file.file_drop.isUploadNumber+"份,无法上传,请压缩后上传!。",{icon:2,area:"405px"});bt_file.file_drop.filesList=[];clearTimeout(f);return false}bt_file.file_drop.filesList.push({file:k[e],path:bt.get_file_path(j+"/"+k[e].name).replace("//","/"),name:k[e].name.replace("//","/"),icon:bt_file.get_ext_name(k[e].name),size:bt_file.file_drop.to_size(k[e].size),upload:0,is_upload:false});bt_file.file_drop.uploadAllSize+=k[e].size;clearTimeout(f);f=setTimeout(function(){layer.close(loadT);bt_file.file_drop.dialog_view()},100);c++}}};if("getFilesAndDirectories" in g.dataTransfer){g.dataTransfer.getFilesAndDirectories().then(function(e){return h(e,"/")})}},dialog_view:function(a){var f=this,c="";this.f_path=bt_file.file_path;if(!$(".file_dir_uploads").length>0){if(f.filesList==null){f.filesList=[]}for(var b=0;b<f.filesList.length;b++){var e=f.filesList[b];c+='<li><div class="fileItem"><span class="filename" title="文件路径:'+(e.path+"/"+e.name).replace("//","/")+" 文件类型:"+e.file.type+" 文件大小:"+e.size+'"><i class="ico ico-'+e.icon+'"></i>'+(e.path+"/"+e.name).replace("//","/")+'</span><span class="filesize">'+e.size+'</span><span class="fileStatus">'+f.is_upload_status(e.upload)+'</span></div><div class="fileLoading"></div></li>'}var d=f.filesList.length>11;layer.open({type:1,closeBtn:1,maxmin:true,area:["650px","605px"],btn:["开始上传","取消上传"],title:"上传文件到【"+bt.get_cookie("Path")+"】--- 支持断点续传",skin:"file_dir_uploads",content:'<div style="padding:15px 15px 10px 15px;"><div class="upload_btn_groud"><div class="btn-group"><button type="button" class="btn btn-primary btn-sm upload_file_btn">上传文件</button><button type="button" class="btn btn-primary btn-sm dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="caret"></span><span class="sr-only">Toggle Dropdown</span></button><ul class="dropdown-menu"><li><a href="#" data-type="file">上传文件</a></li><li><a href="#" data-type="dir">上传目录</a></li></ul></div><div class="file_upload_info" style="display:none;"><span>总进度 <i class="uploadProgress"></i>,正在上传 <i class="uploadNumber"></i>,</span><span style="display:none">上传失败 <i class="uploadError"></i></span><span>上传速度 <i class="uploadSpeed">获取中</i>,</span><span>预计上传时间 <i class="uploadEstimate">获取中</i></span><i></i></div></div><div class="upload_file_body '+(c==""?"active":"")+'">'+(c!=""?('<ul class="dropUpLoadFileHead" style="padding-right:'+(d?"15":"0")+'px"><li class="fileTitle"><span class="filename">文件名</span><span class="filesize">文件大小</span><span class="fileStatus">上传状态</span></li></ul><ul class="dropUpLoadFile list-list">'+c+"</ul>"):"<span>"+(!f.is_webkit?'<i style="display: block;font-style: normal;margin-top: 10px;color: red;font-size: 17px;">当前浏览器暂不支持拖动上传,推荐使用Chrome浏览器或WebKit内核的浏览器。</i>':"请将需要上传的文件拖到此处")+"</span>")+"</div></div>",success:function(){$("#mask_layer").hide();$(".file_dir_uploads .layui-layer-max").hide();$(".upload_btn_groud .upload_file_btn").click(function(){$(".upload_btn_groud .dropdown-menu [data-type=file]").click()});$(".upload_btn_groud .dropdown-menu a").click(function(){var h=$(this).attr("data-type");$('<input type="file" multiple="true" autocomplete="off" '+(h=="dir"?'webkitdirectory=""':"")+" />").change(function(n){var l=n.target.files,m=[];for(var k=0;k<l.length;k++){var j={file:l[k],path:bt.get_file_path("/"+l[k].webkitRelativePath).replace("//","/"),icon:bt_file.get_ext_name(l[k].name),name:l[k].name.replace("//","/"),size:f.to_size(l[k].size),upload:0,is_upload:true};f.filesList.push(j);bt_file.file_drop.uploadAllSize+=l[k].size}f.dialog_view(f.filesList)}).click()});var g="";f.event_relation({el:$(".upload_file_body")[0],callback:function(h){if($(this).hasClass("active")){$(this).css("borderColor","#4592f0").find("span").css("color","#4592f0")}}},{el:$(".upload_file_body")[0],callback:function(h){if($(this).hasClass("active")){$(this).removeAttr("style").find("span").removeAttr("style")}}},{el:$(".upload_file_body")[0],callback:function(i){var h=$(".upload_file_body");if(h.hasClass("active")){h.removeAttr("style").find("span").removeAttr("style")}f.ev_drop(i);f.isLayuiDrop=true}})},yes:function(h,g){if(!f.uploading){if(f.filesList.length==0){layer.msg("请选择上传文件",{icon:0});return false}$(".layui-layer-btn0").css({cursor:"no-drop",background:"#5c9e69"}).attr("data-upload","true").text("上传中");f.upload_file();f.initTimer=new Date();f.uploading=true}},btn2:function(h,g){if(f.uploading){layer.confirm("是否取消上传当前列表的文件,若取消上传,已上传的文件,需用户手动删除,是否继续?",{title:"取消上传文件",icon:0},function(i){layer.close(h);layer.close(i)});return false}else{layer.close(h)}},cancel:function(h,g){if(f.uploading){layer.confirm("是否取消上传当前列表的文件,若取消上传,已上传的文件,需用户手动删除,是否继续?",{title:"取消上传文件",icon:0},function(i){layer.close(h);layer.close(i)});return false}else{layer.close(h)}},end:function(){f.clear_drop_stauts(true)},min:function(){$(".file_dir_uploads .layui-layer-max").show();$("#layui-layer-shade"+$(".file_dir_uploads").attr("times")).fadeOut()},restore:function(){$(".file_dir_uploads .layui-layer-max").hide();$("#layui-layer-shade"+$(".file_dir_uploads").attr("times")).fadeIn()}})}else{if(a==undefined&&!f.isLayuiDrop){return false}if(f.isLayuiDrop){a=f.filesList}$(".upload_file_body").html('<ul class="dropUpLoadFileHead" style="padding-right:'+(a.length>11?"15":"0")+'px"><li class="fileTitle"><span class="filename">文件名</span><span class="filesize">文件大小</span><span class="fileStatus">上传状态</span></li></ul><ul class="dropUpLoadFile list-list"></ul>').removeClass("active");if(Array.isArray(a)){for(var b=0;b<a.length;b++){var e=a[b];c+='<li><div class="fileItem"><span class="filename" title="文件路径:'+e.path+"/"+e.name+" 文件类型:"+e.file.type+" 文件大小:"+e.size+'"><i class="ico ico-'+e.icon+'"></i>'+(e.path+"/"+e.name).replace("//","/")+'</span><span class="filesize">'+e.size+'</span><span class="fileStatus">'+f.is_upload_status(e.upload)+'</span></div><div class="fileLoading"></div></li>'}$(".dropUpLoadFile").append(c)}else{$(".dropUpLoadFile").append('<li><div class="fileItem"><span class="filename" title="文件路径:'+(a.path+"/"+a.name).replace("//","/")+" 文件类型:"+a.type+" 文件大小:"+a.size+'"><i class="ico ico-'+a.icon+'"></i>'+(a.path+"/"+a.name).replace("//","/")+'</span><span class="filesize">'+a.size+'</span><span class="fileStatus">'+f.is_upload_status(a.upload)+'</span></div><div class="fileLoading"></div></li>')}}},is_upload_status:function(a,b){if(b===undefined){b=""}switch(a){case -1:return'<span class="upload_info upload_error" title="上传失败'+(b!=""?","+b:"")+'">上传失败'+(b!=""?","+b:"")+"</span>";break;case 0:return'<span class="upload_info upload_primary">等待上传</span>';break;case 1:return'<span class="upload_info upload_success">上传成功</span>';break;case 2:return'<span class="upload_info upload_warning">上传中'+b+"</span>";break;case 3:return'<span class="upload_info upload_success">已暂停</span>';break}},set_upload_view:function(b,a){var e=$(".dropUpLoadFile li:eq("+b+")"),d=this;var c=$(".file_upload_info");if($(".file_upload_info .uploadProgress").length==0){$(".file_upload_info").html('<span>总进度 <i class="uploadProgress"></i>,正在上传 <i class="uploadNumber"></i>,</span><span style="display:none">上传失败 <i class="uploadError"></i></span><span>上传速度 <i class="uploadSpeed">获取中</i>,</span><span>预计上传时间 <i class="uploadEstimate">获取中</i></span><i></i>')}c.show().prev().hide().parent().css("paddingRight",0);if(d.errorLength>0){c.find(".uploadError").text("("+d.errorLength+"份)").parent().show()}c.find(".uploadNumber").html("("+d.uploadLength+"/"+d.filesList.length+")");c.find(".uploadProgress").html(((d.uploadedSize/d.uploadAllSize)*100).toFixed(2)+"%");if(a.upload===1||a.upload===-1){d.filesList[b].is_upload=true;d.uploadLength+=1;e.find(".fileLoading").css({width:"100%",opacity:".5",background:a.upload==-1?"#ffadad":"#20a53a21"});e.find(".filesize").text(a.size);e.find(".fileStatus").html(d.is_upload_status(a.upload,(a.upload===1?("(耗时:"+d.diff_time(d.startTime,d.endTime)+")"):a.errorMsg)));e.find(".fileLoading").fadeOut(500,function(){$(this).remove();var f=$(".dropUpLoadFile");if(f.length==0){return false}if(f[0].scrollHeight>f.height()){f.scrollTop(f.scrollTop()+40)}})}else{e.find(".fileLoading").css("width",a.percent);e.find(".filesize").text(a.upload_size+"/"+a.size);e.find(".fileStatus").html(d.is_upload_status(a.upload,"("+a.percent+")"))}},clear_drop_stauts:function(a){var f=new Date(),c=this;if(!a){try{var b=bt_file.file_drop.to_size(bt_file.file_drop.uploadedSize/((f.getTime()-bt_file.file_drop.initTimer.getTime())/1000));$(".file_upload_info").html("<span>上传成功 "+this.uploadLength+"个文件,"+(this.errorLength>0?("上传失败 "+this.errorLength+"个文件,"):"")+"耗时"+this.diff_time(this.initTimer,f)+",平均速度 "+b+"/s</span>").append($('<i class="ico-tips-close"></i>').click(function(){$(".file_upload_info").hide().prev().show()}))}catch(d){}}$(".layui-layer-btn0").removeAttr("style data-upload").text("开始上传");$.extend(bt_file.file_drop,{startTime:0,endTime:0,uploadLength:0,splitSize:1024*1024*2,filesList:[],errorLength:0,isUpload:false,isUploadNumber:800,uploadAllSize:0,uploadedSize:0,topUploadedSize:0,uploadExpectTime:0,initTimer:0,speedInterval:null,timerSpeed:0,uploading:false});clearInterval(c.speedInterval)},upload_file:function(b,a){if(b==undefined&&this.uploadSuspend.length==0){b=0,a=0}if(this.filesList.length===a){clearInterval(this.speedInterval);this.clear_drop_stauts();bt_file.reader_file_list({path:bt_file.file_path,is_operating:false});return false}var d=this;d.splitEndTime=new Date().getTime();d.get_timer_speed();d.splitStartTime=new Date().getTime();var c=this.filesList[a],e="";if(c==undefined){return false}e=Math.min(c.file.size,b+this.splitSize),d.fileSize=e-b;form=new FormData();if(b==0){d.startTime=new Date();c=$.extend(c,{percent:"0%",upload:2,upload_size:"0B"})}form.append("f_path",this.f_path+c.path);form.append("f_name",c.name);form.append("f_size",c.file.size);form.append("f_start",b);form.append("blob",c.file.slice(b,e));d.set_upload_view(a,c);$.ajax({url:"/files?action=upload",type:"POST",data:form,async:true,processData:false,contentType:false,success:function(f){if(typeof(f)==="number"){d.set_upload_view(a,$.extend(c,{percent:(((f/c.file.size)*100).toFixed(2)+"%"),upload:2,upload_size:d.to_size(f)}));if(e!=f){d.uploadedSize+=f}else{d.uploadedSize+=parseInt(e-b)}d.upload_file(f,a)}else{if(f.status){d.endTime=new Date();d.uploadedSize+=parseInt(e-b);d.set_upload_view(a,$.extend(c,{upload:1,upload_size:c.size}));d.upload_file(0,a+=1)}else{d.set_upload_view(a,$.extend(c,{upload:-1,errorMsg:f.msg}));d.errorLength++}}},error:function(f){if(d.filesList[a].req_error===undefined){d.filesList[a].req_error=1}if(d.filesList[a].req_error>2){d.set_upload_view(a,$.extend(d.filesList[a],{upload:-1,errorMsg:f.statusText=="error"?"网络中断":f.statusText}));d.errorLength++;d.upload_file(b,a+=1);return false}d.filesList[a].req_error+=1;d.upload_file(b,a)}})},get_timer_speed:function(e){var f=new Date().getTime();if(f-this.speedLastTime>1000){var d=this,c=0;if(e==undefined){e=200}var b=(d.splitEndTime-d.splitStartTime)/1000;d.timerSpeed=(d.fileSize/b).toFixed(2);d.updateedSizeLast=d.uploadedSize;if(d.timerSpeed<2){return}$(".file_upload_info .uploadSpeed").text(d.to_size(isNaN(d.timerSpeed)?0:d.timerSpeed)+"/s");var a=d.time(parseInt(((d.uploadAllSize-d.uploadedSize)/d.timerSpeed)*1000));if(!isNaN(d.timerSpeed)){$(".file_upload_info .uploadEstimate").text(a.indexOf("NaN")==-1?a:"0秒")}this.speedLastTime=f}},time:function(c){var b=Math.floor(c/(60*60*1000));var d=Math.floor(c/(60*1000));var e=parseInt((c%(60*1000))/1000);var a=e+"秒";if(d>0){a=d+"分钟"+e+"秒"}if(b>0){a=b+"小时"+Math.floor((c-(b*(60*60*1000)))/(60*1000))+"分钟"}return a},diff_time:function(b,g){var e=g.getTime()-b.getTime();var c=Math.floor(e/(60*1000));var d=e%(60*1000);var f=d/1000;var a=f.toFixed(c>0?0:2)+"秒";if(c>0){a=c+"分"+f.toFixed(0)+"秒"}return a},to_size:function(f){var i=[" B"," KB"," MB"," GB"," TB"," PB"];var h=1024;for(var c=0;c<i.length;c+=1){if(f<h){var g=(c===0?f:f.toFixed(2))+i[c];return(!isNaN((c===0?f:f.toFixed(2)))&&typeof g!="undefined")?g:"0B"}f/=h}}},init:function(){if(bt.get_cookie("rank")==undefined||bt.get_cookie("rank")==null||bt.get_cookie("rank")=="a"||bt.get_cookie("rank")=="b"){bt.set_cookie("rank","list")}this.area=[window.innerWidth,window.innerHeight];this.file_path=bt.get_cookie("Path");this.event_bind();this.reader_file_list({is_operating:true});this.render_file_disk_list();this.file_drop.init();this.set_file_table_width()},event_bind:function(){var a=this;$(window).resize(function(b){if($(this)[0].innerHeight!=a.area[1]){a.area[1]=$(this)[0].innerHeight;a.set_file_view()}if($(this)[0].innerWidth!=a.area[0]){a.area[0]=$(this)[0].innerWidth;a.set_dir_view_resize();a.set_menu_line_view_resize();a.set_file_table_width()}}).keydown(function(d){d=window.event||d;var c=d.keyCode,b=d.target.tagName.toLowerCase();if(!a.is_editor){if(d.ctrlKey&&c==86&&b!="input"&&b!="textarea"){a.paste_file_or_dir()}if(c==8&&b!=="input"&&b!=="textarea"&&typeof $(d.target).attr("data-backspace")==="undefined"){$(".file_path_upper").click()}}});$(".search_path_views").find(".file_search_checked").unbind("click").click(function(){if($(this).hasClass("active")){$(this).removeClass("active")}else{$(this).addClass("active")}});$(".search_path_views").on("click",".path_btn",function(b){var c={path:a.file_path,search:$(".file_search_input").val()};if($("#search_all").hasClass("active")){c.all="True"}a.loadT=bt.load("正在搜索文件中,请稍候...");a.reader_file_list(c,function(d){if(!d.msg){a.loadT.close()}});b.stopPropagation()});$(".search_path_views").on("click",".file_search_config label",function(b){$(this).prev().click()});$(".search_path_views .file_search_input").on("focus keyup",function(c){c=c||window.event;var d={path:a.file_path,search:$(this).val()};switch(c.type){case"keyup":var b=$(".file_search_checked").hasClass("active");if(b){d.all="True"}if(c.keyCode!=13&&c.type=="keyup"){return false}a.loadT=bt.load("正在搜索文件中,请稍候...");a.reader_file_list(d,function(e){if(!e.msg){a.loadT.close()}});break}c.stopPropagation();c.preventDefault()});$(".file_path_input .path_input").on("focus blur keyup",function(c){c=c||window.event;var b=$(this).attr("data-path"),d=$(this);switch(c.type){case"focus":$(this).addClass("focus").val(b).prev().hide();break;case"blur":$(this).removeClass("focus").val("").prev().show();break;case"keyup":if(c.keyCode!=13&&c.type=="keyup"){return false}if($(this).data("path")!=$(this).val()){a.reader_file_list({path:a.path_check($(this).val()),is_operating:true},function(e){if(e.status===false){d.val(b)}else{d.val(a.path_check(e.PATH));d.blur().prev().show()}})}break}c.stopPropagation()});$(".file_path_input .file_dir_view").on("click",".file_dir",function(){a.reader_file_list({path:$(this).attr("title"),is_operating:true})});$(".forward_path span").click(function(){var b=$(this).index(),c="";if(!$(this).hasClass("active")){switch(b){case 0:a.file_pointer=a.file_pointer-1;c=a.file_operating[a.file_pointer];break;case 1:a.file_pointer=a.file_pointer+1;c=a.file_operating[a.file_pointer];break}a.reader_file_list({path:c,is_operating:false})}});$(".file_path_input .file_dir_view").on("click",".file_dir_omit",function(c){var d=this,b=$(this).children(".nav_down_list");$(this).addClass("active");b.addClass("show");$(document).one("click",function(){$(d).removeClass("active");b.removeClass("show");c.stopPropagation()});c.stopPropagation()});$(".file_path_input .file_dir_view").on("click",".file_dir_item i",function(d){var c=$(this).siblings(".nav_down_list");var b=$(this).siblings("span").attr("title");c.show().parent().siblings().find(".nav_down_list").removeAttr("style");a.render_path_down_list(c,b);$(document).one("click",function(){c.removeAttr("style");d.stopPropagation()});d.stopPropagation()});$(".file_path_input .file_dir_view").on("click",".file_dir_item .nav_down_list li",function(b){a.reader_file_list({path:$(this).data("path"),is_operating:true})});$(".file_path_upper").click(function(){a.reader_file_list({path:a.retrun_prev_path(a.file_path),is_operating:true})});$(".file_path_refresh").click(function(){a.reader_file_list({path:a.file_path},function(b){if(!b.msg){layer.msg("刷新成功")}})});$(".upload_file").on("click",function(b){a.file_drop.dialog_view()});$(".upload_download").on("click",function(b){a.open_download_view()});$(".file_nav_view .create_file_or_dir li").on("click",function(d){if($(this).index()>1){a.file_groud_event({open:"soft_link"});return false}var c=$(this).data("type"),b=$(".create_file_or_dir .nav_down_list");b.css({display:function(){setTimeout(function(){b.removeAttr("style")},100);return"none"}});if(!a.is_editor){a.is_editor=true;$(".file_list_content").prepend('<div class="file_tr createModel active"><div class="file_td file_checkbox"></div><div class="file_td file_name"><div class="file_ico_type"><i class="file_icon '+(c=="newBlankDir"?"file_folder":"")+'"></i></div>'+(bt.get_cookie("rank")=="icon"?'<span class="file_title file_'+(c=="newBlankDir"?"dir":"file")+'_status"><textarea name="createArea" onfocus="select()">'+(c=="newBlankDir"?"新建文件夹":"新建文件")+"</textarea></span>":'<span class="file_title file_'+(c=="newBlankDir"?"dir":"file")+'_status"><input name="createArea" value="'+(c=="newBlankDir"?"新建文件夹":"新建文件")+'" onfocus="select()" type="text"></span>')+"</div></div>");$((bt.get_cookie("rank")=="icon"?"textarea":"input")+"[name=createArea]").on("input",function(){if(bt.get_cookie("rank")=="icon"){this.style.height="auto";this.style.height=this.scrollHeight+"px"}}).keyup(function(f){if(f.keyCode==13){$(this).blur()}}).blur(function(f){var g=$(this).val().replace(/[\r\n]/g,"");if(a.match_unqualified_string(g)){return layer.msg('名称不能含有 /\\:*?"<>|符号',{icon:2})}if(g==""){g=(c=="newBlankDir"?"新建文件夹":"新建文件")}setTimeout(function(){a.create_file_req({type:(c=="newBlankDir"?"folder":"file"),path:a.file_path+"/"+g},function(e){if(e.status){a.reader_file_list({path:a.file_path})}layer.msg(e.msg,{icon:e.status?1:2})});$(".createModel").remove();a.is_editor=false},300);f.preventDefault()}).focus()}else{return false}d.stopPropagation();d.preventDefault()});$(".file_nav_view .favorites_file_path ul").on("click","li",function(h){var b=$(this).data("path"),f=$(this).data("type"),g=$(".favorites_file_path .nav_down_list");if(f=="dir"){a.reader_file_list({path:b,is_operating:true})}else{if($(this).data("null")!=undefined){return false}var c=$(this).attr("title").split("."),i=c[c.length-1],d=a.determine_file_type(i);switch(d){case"text":openEditorView(0,b);break;case"video":a.open_video_play(b);break;case"images":a.open_images_preview({filename:$(this).attr("title"),path:b});break;default:a.reader_file_list({path:a.retrun_prev_path(b),is_operating:true});break}}g.css({display:function(){setTimeout(function(){g.removeAttr("style")},100);return"none"}});h.stopPropagation();h.preventDefault()});$(".terminal_view").on("click",function(){web_shell()});$(".share_file_list").on("click",function(){a.open_share_view()});$(".mount_disk_list").on("click",".nav_btn",function(){var b=$(this).data("menu");a.reader_file_list({path:b,is_operating:true})});$(".mount_disk_list").on("click",".nav_down_list li",function(){var c=$(this).data("disk"),b=$(".mount_disk_list.thezoom .nav_down_list");b.css({display:function(){setTimeout(function(){b.removeAttr("style")},100);return"none"}});a.reader_file_list({path:c,is_operating:true})});$(".file_nav_view").on("click",".recycle_bin",function(b){a.recycle_bin_view();b.stopPropagation();b.preventDefault()});$(".file_nav_view .multi").on("click",".nav_btn_group",function(b){var c=$(this).data("type");if(typeof c!="undefined"){a.batch_file_manage(c)}b.stopPropagation();b.preventDefault()});$(".file_nav_view .multi").on("click",".nav_btn_group li",function(b){var c=$(this).data("type");a.batch_file_manage(c);b.stopPropagation();b.preventDefault()});$(".file_nav_view").on("click",".file_all_paste",function(){a.paste_file_or_dir()});$(".file_list_header").on("click",".file_name,.file_size,.file_mtime,.file_accept,.file_user",function(d){var f=$(this).attr("data-tid"),b=$(this).find(".icon_sort").hasClass("active"),c=$(this).hasClass("active");if(!$(this).find(".icon_sort").hasClass("active")&&$(this).hasClass("active")){$(this).find(".icon_sort").addClass("active")}else{$(this).find(".icon_sort").removeClass("active")}$(this).addClass("active").siblings().removeClass("active").find(".icon_sort").removeClass("active").empty();$(this).find(".icon_sort").html('<i class="iconfont icon-xiala"></i>');if(!c){b=true}bt.set_cookie("files_sort",f);bt.set_cookie("name_reverse",b?"True":"False");a.reader_file_list({reverse:b?"True":"False",sort:f});return false});$(".file_list_header .file_th").each(function(c,e){var b=bt.get_cookie("files_sort"),d=bt.get_cookie("name_reverse");if($(this).attr("data-tid")===b){$(this).addClass("active").siblings().removeClass("active").find(".icon_sort").removeClass("active").empty();$(this).find(".icon_sort").html('<i class="iconfont icon-xiala"></i>');if(d==="False"){$(this).find(".icon_sort").addClass("active")}}});$(".file_list_header .file_check").on("click",function(c){var b=parseInt($(this).data("checkbox"));switch(b){case 0:$(this).addClass("active").removeClass("active_2").data("checkbox",1);$(".file_list_content .file_tr").addClass("active").removeClass("active_2");$(".nav_group.multi").removeClass("hide");$(".file_menu_tips").addClass("hide");a.file_table_arry=a.file_list.slice();break;case 2:$(this).addClass("active").removeClass("active_2").data("checkbox",1);$(".file_list_content .file_tr").addClass("active");$(".nav_group.multi").removeClass("hide");$(".file_menu_tips").addClass("hide");a.file_table_arry=a.file_list.slice();break;case 1:$(this).removeClass("active active_2").data("checkbox",0);$(".file_list_content .file_tr").removeClass("active");$(".nav_group.multi").addClass("hide");$(".file_menu_tips").removeClass("hide");a.file_table_arry=[];break}a.calculate_table_active()});$(".file_list_content").on("click",".file_checkbox",function(f){var b=$(this).parents(".file_tr"),d=b.data("index"),c=b.data("filename");if(b.hasClass("active")){b.removeClass("active");a.remove_check_file(a.file_table_arry,"filename",c)}else{b.addClass("active");b.attr("data-filename",a.file_list[d]["filename"]);a.file_table_arry.push(a.file_list[d])}a.calculate_table_active();f.stopPropagation()});$(".file_list_content").scroll(function(b){if($(this).scrollTop()==($(this)[0].scrollHeight-$(this)[0].clientHeight)){$(this).prev().css("opacity",1);$(this).next().css("opacity",0)}else{if($(this).scrollTop()>0){$(this).prev().css("opacity",1)}else{if($(this).scrollTop()==0){$(this).prev().css("opacity",0);$(this).next().css("opacity",1)}}}});$(".file_table_view .file_list_content").on("click",".file_tr",function(b){if($(b.target).hasClass("foo_menu_title")||$(b.target).parents().hasClass("foo_menu_title")){return true}$(this).addClass("active").siblings().removeClass("active");a.file_table_arry=[a.file_list[$(this).data("index")]];a.calculate_table_active();b.stopPropagation();b.preventDefault()});$(".file_table_view .file_list_content").on("click",".file_name .iconfont",function(f){var c=$(this).parents(".file_tr"),b=c.data("index"),d=a.file_list[b];d.index=b;if($(this).hasClass("icon-share1")){a.info_file_share(d)}if($(this).hasClass("icon-favorites")){a.cancel_file_favorites(d)}f.stopPropagation()});$(".file_table_view .file_list_content").on("dblclick",".file_tr",function(d){var b=$(this).data("index"),c=a.file_list[b];if($(d.target).hasClass("file_check")||$(d.target).parents(".foo_menu").length>0||$(d.target).hasClass("set_file_ps")||a.is_editor){return false}if(c.type=="dir"){if(c.filename=="Recycle_bin"){return a.recycle_bin_view()}a.reader_file_list({path:a.file_path+"/"+c.filename,is_operating:true})}else{switch(c.open_type){case"text":openEditorView(0,c.path);break;case"video":a.open_video_play(c);break;case"images":a.open_images_preview(c);break;case"compress":a.unpack_file_to_path(c);break}}d.stopPropagation();d.preventDefault()});$(".file_table_view .file_list_content").on("click",".file_title i,.file_ico_type .file_icon",function(f){var c=$(this).parents(".file_tr"),b=c.data("index"),d=a.file_list[b];if(d.type=="dir"){if(d.filename=="Recycle_bin"){return a.recycle_bin_view()}a.reader_file_list({path:a.file_path+"/"+d.filename,is_operating:true})}else{layer.msg(d.open_type=="compress"?"双击解压文件":"双击文件编辑")}f.stopPropagation();f.preventDefault()});$(".file_list_content").on("contextmenu",function(b){if($(b.target).attr("name")=="createArea"||$(b.target).attr("name")=="rename_file_input"){return true}else{return false}});$(".selection_right_menu").on("contextmenu",function(b){return false});$(".file_list_content").on("mousedown",".file_tr",function(b){if(b.which===1&&($(b.target).hasClass("foo_menu_title")||$(b.target).parents().hasClass("foo_menu_title"))){a.render_file_groud_menu(b,this);$(b.target).parent().addClass("foo_menu_click");$(this).siblings().find(".foo_menu").removeClass("foo_menu_click");$(this).addClass("active").siblings().removeClass("active")}else{if(b.which===3&&!a.is_editor){if(a.file_table_arry.length>1){a.render_files_multi_menu(b)}else{a.render_file_groud_menu(b,this);$(".content_right_menu").removeAttr("style");$(this).addClass("active").siblings().removeClass("active")}}else{return true}}b.stopPropagation();b.preventDefault()});$(".filePage").on("change",".showRow",function(){var b=$(this).val();console.log(b);bt.set_storage("local","showRow",b);a.reader_file_list({showRow:b,p:1,is_operating:false})});$(".filePage").on("click","div:nth-child(2) a",function(c){var b=$(this).attr("href").match(/p=([0-9]+)$/)[1];a.reader_file_list({path:a.path,p:b});c.stopPropagation();c.preventDefault()});$(".file_list_content").on("click",".folder_size",function(c){var b=a.file_list[$(this).parents(".file_tr").data("index")],d=this;a.get_file_size({path:b.path},function(e){$(d).text(bt.format_size(e.size))});c.stopPropagation();c.preventDefault()});$(".filePage").on("click","#file_all_size",function(b){if(a.file_path==="/"){layer.tips('当前目录为系统根目录(/),执行获取文件大小将占用<span class="bt_danger">大量磁盘IO</span>,将导致服务器运行缓慢。',this,{tips:[1,"red"],time:5000});return false}a.get_dir_size({path:a.file_path})});$(".file_list_content").on("mousedown",function(f){if($(f.target).hasClass("file_checkbox")||$(f.target).hasClass("file_check")||$(f.target).hasClass("icon-share1")||$(f.target).hasClass("icon-favorites")||f.target.localName=="i"||$(f.target).parents(".app_menu_group").length>0||$(f.target).hasClass("createModel")||$(f.target).hasClass("editr_tr")||$(f.target).attr("name")=="createArea"||$(f.target).attr("name")=="rename_file_input"||$(f.target).hasClass("set_file_ps")||a.is_editor){return true}if(f.which==3&&!a.is_editor){$(".selection_right_menu").removeAttr("style");a.render_file_all_menu(f,this);return true}$(".file_list_content").bind("mousewheel",function(){return false});var c=$(this),g=0,e=c.offset().top,b=c.offset().left;var d={top:f.clientY-$(this).offset().top,left:f.clientX-$(this).offset().left};$(document).unbind("mousemove").mousemove(function(o){var j={top:o.clientY-e>0&&o.clientY-e<c.height()?o.clientY-e:(o.clientY-(e+c.height())>1?c.height():0),left:o.clientX-b>0&&o.clientX-b<c.width()?o.clientX-b:(o.clientX-(b+c.width())>1?c.width():0)};var p={top:j.top>d.top?d.top:j.top,left:j.left>d.left?d.left:j.left};if(bt.get_cookie("rank")=="list"){p.top=p.top+40}var q=Math.min(Math.abs(j.left-d.left),b+c.width()-p.left);var m=Math.min(Math.abs(j.top-d.top),e+c.height()-p.top);if(o.clientY-e<0){var n=Math.abs(o.clientY-e);c.scrollTop(c.scrollTop()-n);if(c.scrollTop()!=0){g+=n}m=m+g}if(o.clientY-(e+c.height())>1){var k=o.clientY-(e+c.height());c.scrollTop(c.scrollTop()+k);if(c[0].scrollHeight-c[0].scrollTop!==c[0].clientHeight){g+=k}m=m+g;p.top=p.top-g}if(d.top==j.top||d.left==j.left){return true}a.enter_files_box().show().css({left:p.left+"px",top:p.top+"px",width:q+"px",height:m+"px"});var r=a.enter_files_box().offset().top;var s=a.enter_files_box().offset().left;var l=a.enter_files_box().offset().left+a.enter_files_box().width();var i=a.enter_files_box().offset().top+a.enter_files_box().height();$(c).find(".file_tr").each(function(v,w){var u=$(w).offset().top;var t=$(w).offset().left;var h=$(w).offset().top+$(w).height();var x=$(w).offset().left+$(w).width();if(bt.get_cookie("rank")=="icon"){if(x>=s&&t<=l&&h>=r&&u<=i){$(w).addClass("active")}else{$(w).removeClass("active")}}else{if(x>=s&&h>=r&&u<=i){$(w).addClass("active")}else{$(w).removeClass("active")}}})});$(document).on("mouseup",function(){var i=[];var k=a.enter_files_box().offset().top;var h=a.enter_files_box().offset().left;var l=a.enter_files_box().offset().left+a.enter_files_box().width();var j=a.enter_files_box().offset().top+a.enter_files_box().height();$(c).find(".file_tr").each(function(p,q){var o=$(q).offset().top;var n=$(q).offset().left;var m=$(q).offset().top+$(q).height();var r=$(q).offset().left+$(q).width();if(bt.get_cookie("rank")=="icon"){if(r>=h&&n<=l&&m>=k&&o<=j){i.push($(q).data("index"))}}else{if(r>=h&&m>=k&&o<=j){i.push($(q).data("index"))}}});a.render_file_selected(i);a.enter_files_box().remove();$(".file_list_content").unbind("mousewheel")});f.stopPropagation();f.preventDefault()});$(".file_list_content").on("blur",".set_file_ps",function(e){var b=$(this).parents(".file_tr").data("index"),d=a.file_list[b],f=$(this).val(),c=$(this).data("value"),g=this;if(f==c){return false}bt_tools.send("files/set_file_ps",{filename:d.path,ps_type:0,ps_body:f},function(h){$(g).data("value",f)},{tips:"设置文件/目录备注",tips:true})});$(".file_list_content").on("keyup",".set_file_ps",function(b){if(b.keyCode==13){$(this).blur()}b.stopPropagation()});$(".file_list_header").on("mousedown",".file_width_resize",function(f){return false;if(f.which==3){return false}var e=$(this),b=$(this).prev().offset().left,c=$(".file_list_header").innerWidth(),d=0;d=c-$(".file_main_title").data;$(document).unbind("mousemove").mousemove(function(h){var g=h.clientX-b;a.set_style_width(e.prev().data("tid"),g)});$(document).one("mouseup",e,function(g){$(document).unbind("mousemove")});f.stopPropagation();f.preventDefault()});$(".cut_view_model").on("click",function(){var b=$(this).data("type");$(".file_table_view").addClass(b=="icon"?"icon_view":"list_view").removeClass(b!="icon"?"icon_view":"list_view").scrollLeft(0);bt.set_cookie("rank",b);$(this).addClass("active").siblings().removeClass("active")});$(".file_list_content").on("click",".set_operation_group a",function(d){var e=$(this).parents(".file_tr").data(),b=$(this).data("type"),c=a.file_list[e.index];if(b=="more"){return true}c.open=b;c.index=e.index;c.type_tips=c.type=="file"?"文件":"目录";a.file_groud_event(c)})},enter_files_box:function(){if($("#web_mouseDrag").length==0){$("<div></div>",{id:"web_mouseDrag",style:["position:absolute; top:0; left:0;","border:1px solid #072246; background-color: #cce8ff;","filter:Alpha(Opacity=15); opacity:0.15;","overflow:hidden;display:none;z-index:9;"].join("")}).appendTo(".file_table_view")}return $("#web_mouseDrag")},clear_table_active:function(){this.file_table_arry=[];$(".file_list_header .file_check").removeClass("active active_2");$(".file_list_content .file_tr").removeClass("active app_menu_operation");$(".file_list_content .file_tr .file_ps .foo_menu").removeClass("foo_menu_click");$(".app_menu_group").remove()},calculate_table_active:function(){var b=this,a=$(".file_list_header .file_check");if(this.file_table_arry.length==0){a.removeClass("active active_2").data("checkbox",0)}else{if(this.file_table_arry.length==this.file_list.length){a.addClass("active").removeClass("active_2").data("checkbox",1)}else{a.addClass("active_2").removeClass("active").data("checkbox",2)}}if(this.file_table_arry.length>0){$(document).unbind("keydown").on("keydown",function(g){var f=g.keyCode,d=g.target.localName.toLowerCase(),c=window.navigator.userAgent.indexOf("Mac")>-1;if(d=="input"||d=="textarea"){return true}if(g.ctrlKey&&f==67){if(b.file_table_arry.length==1){b.file_groud_event($.extend(b.file_table_arry[0],{open:"copy"}));$(".file_all_paste").removeClass("hide")}else{if(b.file_table_arry.length>1){b.batch_file_manage("copy")}}}if(g.ctrlKey&&f==88){if(b.file_table_arry.length==1){b.file_groud_event($.extend(b.file_table_arry[0],{open:"shear"}));$(".file_all_paste").removeClass("hide")}else{if(b.file_table_arry.length>1){b.batch_file_manage("shear")}}}});if(this.file_table_arry.length>1){$(".nav_group.multi").removeClass("hide");$(".file_menu_tips").addClass("hide")}else{$(".nav_group.multi").addClass("hide");$(".file_menu_tips").removeClass("hide")}}else{$(".nav_group.multi").addClass("hide");$(".file_menu_tips.multi").removeClass("hide");$(document).unbind("keydown")}$(".selection_right_menu,.file_path_input .file_dir_item .nav_down_list").removeAttr("style");b.set_menu_line_view_resize()},set_dir_view_resize:function(){var c=$(".file_path_input"),a=$(".file_path_input .file_dir_view"),e=a.attr("data-width"),d=null;if(e){parseInt(e)}else{e=a.width();a.attr("data-width",e)}if(a.width()-e<90){var b=0;$($(".file_path_input .file_dir_view .file_dir_item").toArray().reverse()).each(function(){var f=0;if(!$(this).attr("data-width")){$(this).attr("data-width",$(this).width());f=$(this).width()}else{f=parseInt($(this).attr("data-width"))}b+=f;if((c.width()-b)<=90){$(this).addClass("hide")}else{$(this).removeClass("hide")}})}var d=a.children(".file_dir_item.hide").clone(true);if(a.children(".file_dir_item.hide").length==0){c.removeClass("active").find(".file_dir_omit").addClass("hide")}else{d.each(function(){if($(this).find(".glyphicon-hdd").length==0){$(this).find(".file_dir").before('<span class="file_dir_icon"></span>')}});c.addClass("active").find(".file_dir_omit").removeClass("hide");c.find(".file_dir_omit .nav_down_list").empty().append(d);c.find(".file_dir_omit .nav_down_list .file_dir_item").removeClass("hide")}},set_menu_line_view_resize:function(){var b=$(".file_nav_view").width(),c=0,f=0,a=0,d=$(".mount_disk_list"),e=$(".nav_group.multi");if(!d.attr("data-width")){d.attr("data-width",d.innerWidth())}if(!e.attr("data-width")&&e.innerWidth()!=0&&e.innerWidth()!=-1){e.attr("data-width",e.innerWidth())}c=parseInt(d.attr("data-width"));f=parseInt(e.attr("data-width"));$(".file_nav_view>.nav_group").not(".mount_disk_list").each(function(){a+=$(this).innerWidth()});a+=$(".menu-header-foot").innerWidth();if(b-a<(c+5)){$(".nav_group.mount_disk_list").addClass("thezoom").find(".disk_title_group_btn").removeClass("hide")}else{$(".nav_group.mount_disk_list,.nav_group.multi").removeClass("thezoom")}if(this.area[0]<1360){indexs=Math.ceil(((1360-this.area[0])/68));$(".batch_group_list>.nav_btn_group").each(function(g){if(g>=$(".batch_group_list>.nav_btn_group").length-(indexs+2)){$(this).hide()}else{$(this).show()}});$(".batch_group_list>.nav_btn_group:last-child").removeClass("hide").show()}else{$(".batch_group_list>.nav_btn_group").css("display","inline-block");$(".batch_group_list>.nav_btn_group:last-child").addClass("hide")}},set_file_forward:function(){var b=this,a=$(".forward_path span");if(b.file_operating.length==1){a.addClass("active")}else{if(b.file_pointer==b.file_operating.length-1){a.eq(0).removeClass("active");a.eq(1).addClass("active")}else{if(b.file_pointer==0){a.eq(0).addClass("active");a.eq(1).removeClass("active")}else{a.removeClass("active")}}}},set_file_view:function(){var b=$(".file_list_content"),a=this.area[1]-$(".file_table_view")[0].offsetTop-170;$(".file_bodys").height(this.area[1]-100);if((this.file_list.length*50)>a){b.attr("data-height",b.data("height")||b.height()).css({overflow:"hidden","overflow-y":"auto",height:a+"px"});$(".file_shadow_bottom").css("opacity",1)}else{b.css({overflow:"hidden","overflow-y":"auto",height:a+"px"});$(".file_shadow_top,.file_shadow_bottom").css("opacity",0)}},open_share_view:function(){var a=this;layer.open({type:1,shift:5,closeBtn:2,area:["850px","580px"],title:"分享列表",content:'<div class="divtable mtb10 download_table" style="padding:5px 10px;"> <table class="table table-hover" id="download_url"> <thead><tr><th width="230px">分享名称</th><th width="300px">文件地址</th><th>过期时间</th><th style="text-align:right;width:120px;">操作</th></tr></thead> <tbody class="download_url_list"></tbody> </table> <div class="page download_url_page"></div> </div>',success:function(){a.render_share_list();$(".download_url_list").on("click",".info_down",function(){var b=$(this).attr("data-index");a.file_share_view(a.file_share_list[b],"list")});$(".download_table .download_url_page").on("click","a",function(c){var b=$(this).attr("href").match(/p=([0-9]+)$/)[1];a.render_share_list({p:b});c.stopPropagation();c.preventDefault()})}})},render_share_list:function(c){var b=this,a="";if(typeof c=="undefined"){c={p:1}}bt_tools.send("files/get_download_url_list",c,function(d){b.file_share_list=d.data;if(d.data.length>0){$.each(d.data,function(e,f){a+='<tr><td><span style="width:230px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;display: inline-block;" title="'+f.ps+'">'+f.ps+'</span></td><td><span style="width:300px;white-space: nowrap;overflow:hidden;text-overflow: ellipsis;display: inline-block;" title="'+f.filename+'">'+f.filename+"</span></td><td><span>"+bt.format_data(f.expire)+'</span></td><td style="text-align:right;"><a href="javascript:;" class="btlink info_down" data-id="'+f.id+'" data-index="'+e+'">详情</a> | <a href="javascript:;" class="btlink del_down" data-id="'+f.id+'" data-index="'+e+'" data-ps="'+f.ps+'">关闭</a></td></tr>'})}else{a='<tr><td colspan="4">暂无分享数据</td></tr>'}$(".download_url_list").html(a);$(".download_url_page").html(d.page);$(".download_table").on("click",".del_down",function(){var f=$(this).attr("data-id"),e=$(this).attr("data-ps");b.remove_download_url({id:f,fileName:e},function(g){if(g.status){b.render_share_list(c)}layer.msg(g.msg,{icon:g.status?1:2})})})},"获取分享列表")},remove_check_file:function(d,b,c){var a=d.length;while(a--){if(d[a][b]==c){d.splice(a,1)}}},open_download_view:function(){var a=this;a.reader_form_line({url:"DownloadFile",beforeSend:function(b){return{url:b.url,path:b.path,filename:b.filename}},overall:{width:"310px"},data:[{label:"URL地址:",name:"url",placeholder:"URL地址",value:"http://",eventType:["input","focus"],input:function(){var c=$(this).val(),b=c.split("/");$('[name="filename"]').val(b[b.length-1])}},{label:"下载到:",name:"path",placeholder:"下载到",value:a.file_path},{label:"文件名:",name:"filename",placeholder:"保存文件名",value:"",eventType:"enter",enter:function(){$(".download_file_view .layui-layer-btn0").click()}}]},function(c,b){var d=bt.open({type:1,title:"下载文件",area:"500px",shadeClose:false,skin:"download_file_view",content:b[0].outerHTML,btn:["确认","关闭"],success:function(){c.setEvent()},yes:function(f,e){var g=c.getVal();if(!bt.check_url(g.url)){layer.msg("请输入有效的url地址..",{icon:2});return false}c.submitForm(function(h){a.render_present_task_list();layer.msg(h.msg,{icon:h.status?1:2});d.close()})}})})},set_style_width:function(d,c){var b=bt.get_cookie("formHeader")||$("#file_list_info").html(),a="",f=new RegExp("\\.file_"+d+"\\s?\\{width\\s?\\:\\s?(\\w+)\\s\\!important;\\}","g"),e={name:150,type:80,size:80,mtime:150,accept:80,user:80,ps:150};a=b.replace(f,function(h,g,j,i){return".file_"+d+"{width:"+(c<80?e[d]+"px":c+"px")+" !important;}"});$("#file_list_info").html(a)},set_file_table_width:function(){var f=this,i=$(".file_table_view")[0].offsetWidth,h=0,a=0,j=0,e="",c=0,d=45,g="",b={};$.each(this.file_header,function(k,l){if(l=="auto"){h++;b[k]=0}else{a+=l;e+="."+k+"{width:"+(k!="file_operation"?l:l-16)+"px !important;}"}});if(this.is_mobile){$(".file_operation.file_th").attr("style","margin-right:-10px !important;")}if((this.file_list.length*d)>$(".file_list_content").height()){b.file_tr=i-(this.is_mobile?0:this.scroll_width);i=i;g+=".file_td.file_operation{width:"+(this.file_header.file_operation-(this.is_mobile?0:this.scroll_width)-10)+"px !important;}";g+=".file_th.file_operation{padding-right:"+(10+(this.is_mobile?0:this.scroll_width))+"px !important}"}else{i=i;b.file_tr=i;if(this.is_mobile){g+=".file_td.file_operation{width:"+(this.file_header.file_operation-20)+"px !important;}"}}b.file_list_header=i;j=i-a;c=j/h;$.each(b,function(k,l){e+="."+k+"{width:"+(l==0?c:l)+"px !important;}"});$("#file_list_info").html(e+g)},render_path_list:function(h){var e=this,d='<div class="file_dir_omit hide" title="展开已隐藏的目录"><span></span><i class="iconfont icon-zhixiang-zuo"></i><div class="nav_down_list"></div></div>',b="",g=this.file_path.split("/").splice(1),f=this.file_path.split("/")[0];if(bt.os==="Windows"){if(g.length==0){g=[]}g.unshift('<span class="glyphicon glyphicon-hdd"></span><span class="ml5">本地磁盘('+f+")</span>")}else{if(this.file_path=="/"){g=[]}g.unshift("根目录")}for(var c=0;c<g.length;c++){b+="/"+g[c];if(c==0){b="/"}d+='<div class="file_dir_item"> <span class="file_dir" title="'+(b.replace("//","/"))+'">'+g[c]+'</span> <i class="iconfont icon-arrow-right"></i> <ul class="nav_down_list"> <li data-path="*"><span>加载中</span></li> </ul> </div>'}$(".path_input").val("").attr("data-path",this.file_path);var a=$(".file_path_input .file_dir_view");a.html(d);a.attr("data-width",a.width());e.set_dir_view_resize.delay(e,100)},render_path_down_list:function(b,e,f){var c=this,a="",d=$(b).parent().next().find(".file_dir").attr("title");this.get_dir_list({path:e},function(g){$.each(c.data_reconstruction(g.DIR),function(h,j){var i=(e!="/"?e:"")+"/"+j.filename;a+='<li data-path="'+i+'" title="'+i+'" class="'+(i===d?"active":"")+'"><i class="file_menu_icon newly_file_icon"></i><span>'+j.filename+"</span></li>"});$(b).html(a)})},reader_file_list:function(d,g){var c=this,a="",e="",b=bt.get_cookie("rank"),f=bt.get_cookie("record_paste_type");if(f!="null"&&f!=undefined){$(".file_nav_view .file_all_paste").removeClass("hide")}else{$(".file_nav_view .file_all_paste").addClass("hide")}$(".file_table_view").removeClass(".list_view,.icon_view").addClass(b=="list"?"list_view":"icon_view");$(".cut_view_model:nth-child("+(b=="list"?"2":"1")+")").addClass("active").siblings().removeClass("active");this.file_images_list=[];this.get_dir_list(d,function(h){if(h.status===false&&h.msg.indexOf("指定目录不存在!")>-1){return c.reader_file_list({path:"/www"})}c.file_path=c.path_check(h.PATH);c.file_list=$.merge(c.data_reconstruction(h.DIR,"DIR"),c.data_reconstruction(h.FILES));c.is_recycle=h.FILE_RECYCLE;c.file_store_list=h.STORE;bt.set_cookie("Path",c.path_check(h.PATH));c.reader_file_list_content(c.file_list,function(n){$(".path_input").attr("data-path",c.file_path);$(".file_nav_view .multi").addClass("hide");$(".selection_right_menu").removeAttr("style");var m=["100","200","500","1000","2000"];for(var j=0;j<m.length;j++){var k=m[j];a+='<option value="'+k+'" '+(k==bt.get_storage("local","showRow")?"selected":"")+">"+k+"</option>"}var l=$(h.PAGE);l.append('<span class="Pcount-item">每页<select class="showRow">'+a+"</select>条</span>");$(".filePage").html('<div class="page_num">共'+n.is_dir_num+"个目录,"+(c.file_list.length-n.is_dir_num)+'个文件,文件大小:<a href="javascript:;" class="btlink" id="file_all_size">计算</a></div>'+l[0].outerHTML);if(d.is_operating){d.is_operating=false}if(d.is_operating&&c.file_operating[c.file_pointer]!=h.PATH){e=c.file_operating[c.file_pointer+1];if(typeof e!="undefined"&&e!=h.PATH){c.file_operating.splice(c.file_pointer+1)}c.file_operating.push(h.PATH);c.file_pointer=c.file_operating.length-1}c.render_path_list();c.set_file_forward();c.render_favorites_list();c.set_file_view();c.set_file_table_width();if(g){g(h)}})})},data_reconstruction:function(c,a,f){var b=this,e=[],d=[["/etc","PS: 系统主要配置文件目录"],["/home","PS: 用户主目录"],["/tmp","PS: 公共的临时文件存储点"],["/root","PS: 系统管理员的主目录"],["/home","PS: 用户主目录"],["/usr","PS: 系统应用程序目录"],["/boot","PS: 系统启动核心目录"],["/lib","PS: 系统资源文件类库目录"],["/mnt","PS: 存放临时的映射文件系统"],["/www","PS: 宝塔面板程序目录"],["/bin","PS: 存放二进制可执行文件目录"],["/dev","PS: 存放设备文件目录"],["/www/wwwlogs","PS: 默认网站日志目录"],["/www/server","PS: 宝塔软件安装目录"],["/www/wwwlogs","PS: 网站日志目录"],["/www/Recycle_bin","PS: 回收站目录,勿动"],["/www/server/panel","PS: 宝塔主程序目录,勿动"],["/www/server/panel/plugin","PS: 宝塔插件安装目录"],["/www/server/panel/BTPanel","PS: 宝塔面板前端文件"],["/www/server/panel/BTPanel/static","PS: 宝塔面板前端静态文件"],["/www/server/panel/BTPanel/templates","PS: 宝塔面板前端模板文件"],[bt.get_cookie("backup_path"),"PS: 默认备份目录"],[bt.get_cookie("sites_path"),"PS: 默认建站目录"]];if(c.length<1){return[]}$.each(c,function(g,l){var j=l.split(";"),m="",n=j[0].split("."),k=n[n.length-1];switch(j[0]){case".user.ini":m="PS: PHP用户配置文件(防跨站)!";break;case".htaccess":m="PS: Apache用户配置文件(伪静态)";break;case"swap":m="PS: 宝塔默认设置的SWAP交换分区文件";break}if(j[0].indexOf(".upload.tmp")!=-1){m="PS: 宝塔文件上传临时文件,重新上传从断点续传,可删除"}for(var h=0;h<d.length;h++){if(b.path_resolve(b.file_path,j[0])===d[h][0]){m=d[h][1]}}e.push({caret:j[8]=="1"?true:false,down_id:parseInt(j[9]),ext:(a=="DIR"?"":k.toLowerCase()),filename:j[0],mtime:j[2],ps:m||j[10]||"",is_os_ps:m!=""?true:false,size:j[1],type:a=="DIR"?"dir":"file",user:j[3],root_level:j[4],soft_link:j[5]||"",is_search:$(".file_search_input").val()?true:false})});return e},render_file_selected:function(b){$(document).unbind("mouseup").unbind("mousemove");var c=this,a=[];c.clear_table_active();$.each(b,function(d,e){if(a.indexOf(e)==-1){a.push(e)}});$.each(a,function(e,d){$(".file_list_content .file_tr").eq(d).addClass("active");c.file_table_arry.push(c.file_list[d])});c.calculate_table_active()},render_favorites_list:function(){var a="";if(this.file_store_list.length>0){$.each(this.file_store_list,function(b,c){a+='<li title="'+c.name+'" data-path="'+c.path+'" data-type="'+c.type+'"><i class="'+(c.type=="file"?"file_new_icon":"file_menu_icon create_file_icon")+'"></i><span>'+c.name+"</span></li>"});a+='<li data-manage="favorites" onclick="bt_file.set_favorites_manage()"><span class="iconfont icon-shezhi1"></span><span>管理</span></li>'}else{a='<li data-null style="width: 150px;"><i></i><span>(空)</span></li>'}$(".favorites_file_path .nav_down_list").html(a)},set_favorites_manage:function(){var a=this;layer.open({type:1,title:"管理收藏夹",area:["850px","580px"],closeBtn:2,shift:5,shadeClose:false,content:"<div class='stroe_tab_list bt-table pd15'> <div class='divtable' style='height:420px'> <table class='table table-hover'> <thead><tr><th>路径</th><th style='text-align:right'>操作</th></tr></thead> <tbody class='favorites_body'></tbody> </table></div></div>",success:function(b){a.render_favorites_type_list();setTimeout(function(){$(b).css("top",($(window).height()-$(b).height())/2)},50)},cancel:function(){a.reader_file_list({path:a.file_path})}})},render_favorites_type_list:function(){var a="";this.$http("get_files_store",function(b){if(b.length>0){$.each(b,function(d,c){a+='<tr><td><span class="favorites_span" title="'+c.path+'">'+c.path+'</span></td><td style="text-align:right;"><a class="btlink" onclick="bt_file.del_favorites(\''+c.path+"')\">删除</a></td></tr>"})}else{a='<tr><td colspan="2">暂无收藏</td></tr>'}$(".favorites_body").html(a);if(jQuery.prototype.fixedThead){$(".stroe_tab_list .divtable").fixedThead({resize:false})}else{$(".stroe_tab_list .divtable").css({overflow:"auto"})}})},load_favorites_index_list:function(){var a=this;this.$http("get_files_store",function(b){a.file_store_list=b;a.render_favorites_list()})},del_favorites:function(b){var a=this;layer.confirm("是否确定删除路径【"+b+"】?",{title:"删除收藏夹",closeBtn:2,icon:3},function(c){a.$http("del_files_store",{path:b},function(d){if(d.status){a.render_favorites_type_list()}layer.msg(d.msg,{icon:d.status?1:2})})})},reader_file_list_content:function(e,f){var a="",d=this,c=0,b=0;$.each(e,function(i,l){var j=l.filename,h=bt.get_random(10),m=(d.file_path+"/"+l.filename).replace("//","/"),k=d.determine_file_type(l.ext,"compress"),g=(function(){var n="打开";switch(d.determine_file_type(l.ext)){case"images":n="预览";break;case"video":n="播放";break;default:if(d.determine_file_type(l.ext)=="compress"){n=""}else{n="编辑"}break}l.type=="dir"?n="打开":"";return n}(l));d.file_list[i]["only_id"]=h;a+='<div class="file_tr" data-index="'+i+'" data-filename="'+l.filename+'" '+(bt.get_cookie("rank")=="icon"?'title="'+m+" "+lan.files.file_size+":"+bt.format_size(l.size)+" "+lan.files.file_etime+":"+bt.format_data(l.mtime)+" "+lan.files.file_auth+":"+l.user+" "+lan.files.file_own+":"+l.root_level+'"':"")+'><div class="file_td file_checkbox"><div class="file_check"></div></div><div class="file_td file_name"><div class="file_ico_type"><i class="file_icon '+(l.type=="dir"?"file_folder":(l.ext==""?"":"file_"+l.ext).replace("//","/"))+'"></i></div><span class="file_title file_'+l.type+'_status" '+(bt.get_cookie("rank")=="icon"?"":'title="'+m+'"')+"><i>"+l.filename+l.soft_link+"</i></span>"+(l.caret?'<span class="iconfont icon-favorites" style="'+(l.down_id!=0?"right:30px":"")+'" title="文件已收藏,点击取消"></span>':"")+(l.down_id!=0?'<span class="iconfont icon-share1" title="文件已分享,点击查看信息"></span>':"")+'</div><div class="file_td file_type hide"><span title="'+(l.type=="dir"?"文件夹":d.ext_type_tips(l.ext))+'">'+(l.type=="dir"?"文件夹":d.ext_type_tips(l.ext))+'</span></div><div class="file_td file_accept"><span>'+l.user+" / "+l.root_level+'</span></div><div class="file_td file_size"><span>'+(l.type=="dir"?'<a class="btlink folder_size" href="javascript:;" data-path="'+m+'">计算</a>':bt.format_size(l.size))+'</span></div><div class="file_td file_mtime"><span>'+bt.format_data(l.mtime)+'</span></div><div class="file_td file_ps"><span class="file_ps_title" title="'+l.ps+'">'+(l.is_os_ps?l.ps:'<input type="text" class="set_file_ps" data-value="'+l.ps+'" value="'+l.ps+'" />')+'</span></div><div class="file_td file_operation"><div class="set_operation_group '+(d.is_mobile?"is_mobile":"")+'"><a href="javascript:;" class="btlink" data-type="open">'+g+'</a> | <a href="javascript:;" class="btlink" data-type="copy">复制</a> | <a href="javascript:;" class="btlink" data-type="shear">剪切</a> | <a href="javascript:;" class="btlink" data-type="rename">重命名</a> | <a href="javascript:;" class="btlink" data-type="authority">权限</a> | <a href="javascript:;" class="btlink" data-type="'+(k?"unzip":"compress")+'">'+(k?"解压":"压缩")+'</a> | <a href="javascript:;" class="btlink" data-type="del">删除</a> | <a href="javascript:;" class="btlink foo_menu_title" data-type="more">更多<i></i></a></div></div></div>';if(l.type=="dir"){c++}l.path=m;l.open_type=d.determine_file_type(l.ext);if(l.open_type=="images"){l.images_id=b;d.file_images_list.push(l.path);b++}});$(".file_list_content").html(a);if(f){f({is_dir_num:c})}d.clear_table_active()},render_file_disk_list:function(){var c=this,a="",b="";c.get_disk_list(function(d){$.each(d,function(e,f){a+='<div class="nav_btn" data-menu="'+f.path+'"><span class="glyphicon glyphicon-hdd"></span><span>'+(f.path=="/"?"/(根目录)":f.path)+" ("+f.size[2]+")</span></div>";b+='<li data-disk="'+f.path+'"><i class="glyphicon glyphicon-hdd"></i><span>'+(f.path=="/"?"根目录":f.path)+" ("+f.size[2]+")</span></li>"});$(".mount_disk_list").html('<div class="disk_title_group_btn hide"><span class="disk_title_group">磁盘分区</span><i class="iconfont icon-xiala"></i><ul class="nav_down_list">'+b+'</ul></div><div class="file_disk_list">'+a+"</div>");c.set_menu_line_view_resize()})},render_file_groud_menu:function(h,b){var f=this,g=$(b).data("index"),a="打开",d=f.file_list[g],j=["zip","rar","gz","war","tgz","bz2"],i=0,c={open:a,split_0:true,download:"下载",share:"分享目录/文件",cancel_share:"取消分享",favorites:"收藏目录/文件",cancel_favorites:"取消收藏",split_1:true,dir_kill:"目录查杀",authority:"权限",split_2:true,copy:"复制",shear:"剪切",rename:"重命名",del:"删除",split_3:true,compress:"创建压缩",unzip:"解压",open_find_dir:"打开文件所在目录",split_4:true,property:"属性"};switch(f.determine_file_type(d.ext)){case"images":a="预览";break;case"video":a="播放";break;default:a="编辑";break}c.open=(d.type=="dir"?"打开":a);if(d.type==="dir"){delete c.download}if(d.open_type=="compress"){delete c.open}if(d.down_id!=0){delete c.share}else{delete c.cancel_share;c.share=(d.type=="dir"?"分享目录":"分享文件")}if(d.caret!==false){delete c.favorites}else{delete c.cancel_favorites;c.favorites=(d.type=="dir"?"收藏目录":"收藏文件")}if(d.ext=="php"){c.dir_kill="文件查杀"}if(d.ext!="php"&&d.type!="dir"){delete c.dir_kill}var e=0;$.each(j,function(k,l){if(l==d.ext){e++}});if(e==0){delete c.unzip}if(!d.is_search){delete c.open_find_dir}else{c.open_find_dir=(d.type=="dir"?"打开该目录":"打开文件所在目录")}f.file_selection_operating=c;f.reader_menu_list({el:$(".selection_right_menu"),ev:h,data:d,list:c})},render_file_all_menu:function(e,c){var d=this,b={refresh:"刷新",split_0:true,upload:"上传",create:["新建文件夹/文件",{create_dir:"新建文件夹",create_files:"新建文件",soft_link:"软链接文件"}],web_shell:"终端",split_1:true,paste:"粘贴"},a=0,f=bt.get_cookie("record_paste_type");if(f=="null"||f==undefined){delete b.split_1;delete b.paste}d.reader_menu_list({el:$(".selection_right_menu"),ev:e,data:{},list:b})},render_files_multi_menu:function(e){var d=this,f=[["copy","复制"],["shear","剪切"],["authority","权限"],["compress","创建压缩"],["del","删除"]],c=$(".selection_right_menu").find("ul"),b=c.height(),a=c.width(),g=e.clientX-((this.area[0]-e.clientX)<a?a:0);c.empty();$.each(f,function(j,h){var i=null;if(h[0]=="split"){c.append('<li class="separate"></li>')}else{c.append($('<li><i class="file_menu_icon '+h[0]+"_file_icon "+(function(k){if(k=="authority"){return"iconfont icon-authority"}return""}(h[0]))+'"></i><span>'+h[1]+"</span></li>").append(i).on("click",{type:h[0],data:d.file_table_arry},function(k){$(".selection_right_menu").removeAttr("style");d.batch_file_manage(k.data.type);k.stopPropagation();k.preventDefault()}))}});$(".selection_right_menu").css({left:g,top:e.clientY-((this.area[1]-e.clientY)<b?b:0)}).removeClass("left_menu right_menu").addClass(this.area[0]-(g+a)<230?"left_menu":"right_menu");$(document).one("click",function(h){$(e.currentTarget).removeClass("selected");$(".selection_right_menu").removeAttr("style");h.stopPropagation();h.preventDefault()})},reader_menu_list:function(b){var f=this,e=b.el.find("ul"),d=0,a=e.width(),h=b.ev.clientX-((this.area[0]-b.ev.clientX)<a?a:0),g=0;e.empty();$.each(b.list,function(k,l){var i=null,j=null;if(typeof l=="boolean"){e.append('<li class="separate"></li>')}else{if(Array.isArray(l)){i=$('<div class="file_menu_down"><span class="glyphicon glyphicon-triangle-right" aria-hidden="true"></span><ul class="set_group"></ul></div>');j=i.find(".set_group");$.each(l[1],function(n,m){j.append($('<li><i class="file_menu_icon '+n+'_file_icon"></i><span>'+m+"</span></li>").on("click",{type:n,data:b.data},function(o){f.file_groud_event($.extend(o.data.data,{open:o.data.type,index:parseInt($(b.ev.currentTarget).data("index")),element:b.ev.currentTarget,type_tips:b.data.type=="dir"?"文件夹":"文件"}));b.el.removeAttr("style");o.stopPropagation();o.preventDefault()}))})}e.append($('<li><i class="file_menu_icon '+k+"_file_icon "+(function(m){switch(m){case"share":case"cancel_share":return"iconfont icon-share1";case"dir_kill":return"iconfont icon-dir_kill";case"authority":return"iconfont icon-authority"}return""}(k))+'"></i><span>'+(Array.isArray(l)?l[0]:l)+"</span></li>").append(i).on("click",{type:k,data:b.data},function(m){f.file_groud_event($.extend(m.data.data,{open:m.data.type,index:parseInt($(b.ev.currentTarget).data("index")),element:b.ev.currentTarget,type_tips:b.data.type=="dir"?"文件夹":"文件"}));if(k!="compress"&&k!="create"){b.el.removeAttr("style")}m.stopPropagation();m.preventDefault()}))}});d=e.innerHeight();g=b.ev.clientY-((this.area[1]-b.ev.clientY)<d?d:0);var c=$(b.ev.target);if(c.hasClass("foo_menu_title")||c.parents().hasClass("foo_menu_title")){h=b.ev.clientX-a;g=((this.area[1]-b.ev.clientY)<d)?(b.ev.clientY-d-20):(b.ev.clientY+15)}b.el.css({left:(h+10),top:g}).removeClass("left_menu right_menu").addClass(this.area[0]-(h+a)<230?"left_menu":"right_menu")},ext_type_tips:function(b){var a={ai:"Adobe Illustrator格式图形",apk:"安卓安装包",asp:"动态网页文件",bat:"批处理文件",bin:"二进制文件",bas:"BASIC源文件",bak:"备份文件",css:"CSS样式表",cad:"备份文件",cxx:"C++源代码文件",crt:"认证文件",cpp:"C++代码文件",conf:"配置文件",dat:"数据文件",der:"认证文件",doc:"Microsoft Office Word 97-2003 文档",docx:"Microsoft Office Word 2007 文档",exe:"程序应用",gif:"图形文件",go:"Go语言源文件",htm:"超文本文档",html:"超文本文档",ico:"图形文件",java:"Java源文件",access:"数据库文件",jsp:"HTML网页",jpe:"图形文件",jpeg:"图形文件",jpg:"图形文件",log:"日志文件",link:"快捷方式文件",js:"Javascript源文件",mdb:"Microsoft Access数据库",mp3:"音频文件",ape:"CloudMusic.ape",mp4:"视频文件",avi:"视频文件",mkv:"视频文件",rm:"视频文件",mov:"视频文件",mpeg:"视频文件",mpg:"视频文件",rmvb:"视频文件",webm:"视频文件",wma:"视频文件",wmv:"视频文件",swf:"Shockwave Flash Object",mng:"多映像网络图形",msi:"Windows Installe安装文件包",png:"图形文件",py:"Python源代码",pyc:"Python字节码文件",pdf:"文档格式文件",ppt:"Microsoft Powerpoint 97-2003 幻灯片演示文稿",pptx:"Microsoft Powerpoint2007 幻灯片演示文稿",psd:"Adobe photoshop位图文件",pl:"Perl脚本语言",rar:"RAR压缩文件",reg:"注册表文件",sys:"系统文件",sql:"数据库文件",sh:"Shell脚本文件",txt:"文本格式",vb:"Visual Basic的一种宏语言",xml:"扩展标记语言",xls:"Microsoft Office Excel 97-2003 工作表",xlsx:"Microsoft Office Excel 2007 工作表",gz:"压缩文件",zip:"ZIP压缩文件",z:"","7z":"7Z压缩文件",json:"JSON文本",php:"PHP源文件",mht:"MHTML文档",bmp:"BMP图片文件",webp:"WEBP图片文件",cdr:"CDR文件"};return typeof a[b]!="undefined"?a[b]:("未知文件")},determine_file_type:function(d,c){var a={images:["jpg","jpeg","png","bmp","gif","tiff","ico","JPG","webp"],compress:["zip","rar","gz","war","tgz"],video:["mp4","mp3","mpeg","mpg","mov","avi","webm","mkv","mkv","mp3","rmvb","wma","wmv"],ont_text:["iso","xlsx","xls","doc","docx","tiff","exe","so","7z","bz","dmg","apk","pptx","ppt","xlsb","pdf"]},b=false;if(c!=undefined){if(c=="text"){$.each(a,function(e,f){$.each(f,function(h,g){if(g==d){b=true;return false}})});b=!b}else{if(typeof a[c]=="undefined"){return false}$.each(a[c],function(e,f){if(f==d){b=true;return false}})}}else{$.each(a,function(e,f){$.each(f,function(h,g){if(g==d){b=e;return false}})});if(typeof b=="boolean"){b="text"}}return b},file_groud_event:function(b){var a=this;switch(b.open){case"open":if(b.type=="dir"){this.reader_file_list({path:b.path})}else{switch(b.open_type){case"text":openEditorView(0,b.path);break;case"video":this.open_video_play(b);break;case"images":this.open_images_preview(b);break}}break;case"download":this.down_file_req(b);break;case"share":this.set_file_share(b);break;case"cancel_share":this.info_file_share(b);break;case"favorites":this.$http("add_files_store",{path:b.path},function(c){if(c.status){a.file_list[b.index]=$.extend(a.file_list[b.index],{caret:true});a.reader_file_list_content(a.file_list);a.load_favorites_index_list()}layer.msg(c.msg,{icon:c.status?1:2})});break;case"cancel_favorites":this.cancel_file_favorites(b);break;case"authority":this.set_file_authority(b);break;case"dir_kill":this.set_dir_kill(b);break;case"copy":this.copy_file_or_dir(b);break;case"shear":this.cut_file_or_dir(b);break;case"rename":this.rename_file_or_dir(b);break;case"compress":b.open="tar_gz";this.compress_file_or_dir(b);break;case"tar_gz":case"rar":case"zip":this.compress_file_or_dir(b);break;case"unzip":case"folad":this.unpack_file_to_path(b);break;case"refresh":$(".file_path_refresh").click();break;case"upload":this.file_drop.dialog_view();break;case"soft_link":this.set_soft_link();break;case"create_dir":$(".file_nav_view .create_file_or_dir li").eq(0).click();break;case"create_files":$(".file_nav_view .create_file_or_dir li").eq(1).click();break;case"del":this.del_file_or_dir(b);break;case"paste":this.paste_file_or_dir();break;case"web_shell":web_shell();break;case"open_find_dir":this.reader_file_list({path:this.retrun_prev_path(b.path)});break;case"property":this.open_property_view(b);break}},batch_file_manage:function(a){var g=this,f="",c=[],h={},e=$("");$.each(this.file_table_arry,function(i,j){c.push(j.filename)});switch(a){case"copy":case"shear":f="SetBatchData";h.data=JSON.stringify(c);h.type=a=="copy"?"1":"2";h.path=g.file_path;break;case"del":h.data=JSON.stringify(c);h.type="4";h.path=g.file_path;return g.batch_file_delect(h);break;case"authority":h.filename="批量";h.type="3";h.filelist=JSON.stringify(c);h.path=g.file_path;return g.set_file_authority(h,true);break;case"compress":var b=g.file_path.split("/"),d=b[b.length-1];h.filename=c.join(",");h.open="tar_gz";h.path=g.file_path+"/"+d;return g.compress_file_or_dir(h,true);break}g.$http(f,h,function(i){if(i.status){bt.set_cookie("record_paste_type",a=="copy"?"1":"2");g.clear_table_active();$(".nav_group.multi").addClass("hide");$(".file_menu_tips").removeClass("hide");$(".file_nav_view .file_all_paste").removeClass("hide")}layer.msg(i.msg,{icon:i.status?1:2})})},batch_file_delect:function(b){var a=this;if(this.is_recycle){layer.confirm("确认删除选中内容,删除后将移至回收站,是否继续操作?",{title:"批量删除",closeBtn:2,icon:3},function(){a.$http("SetBatchData",b,function(c){if(c.status){a.reader_file_list({path:a.file_path})}layer.msg(c.msg,{icon:c.status?1:2})})})}else{bt.show_confirm("批量删除",'<span><i style="font-size: 15px;font-style: initial;color: red;">当前未开启回收站,批量删除后将无法恢复,是否继续删除?</i></span>',function(){a.$http("SetBatchData",b,function(c){if(c.status){a.reader_file_list({path:a.file_path})}layer.msg(c.msg,{icon:c.status?1:2})})})}},batch_file_paste:function(){var a=this,b=bt.get_cookie("record_paste_type");this.check_exists_files_req({dfile:this.file_path},function(c){if(c.length>0){var d="";for(var e=0;e<c.length;e++){d+='<tr><td><span class="exists_files_style">'+c[e].filename+"</td><td>"+ToSize(c[e].size)+"</td><td>"+getLocalTime(c[e].mtime)+"</td></tr>"}var f='<div class="divtable" style="max-height:350px;overflow:auto;"><table class="table table-hover" width="100%" border="0" cellpadding="0" cellspacing="0"><thead><th>文件名</th><th>大小</th><th>最后修改时间</th></thead> <tbody>'+d+"</tbody> </table></div>";SafeMessage("即将覆盖以下文件",f,function(){a.$http("BatchPaste",{type:b,path:a.file_path},function(g){if(g.status){bt.set_cookie("record_paste_type",null);a.reader_file_list({path:a.file_path})}layer.msg(g.msg,{icon:g.status?1:2})})})}else{a.$http("BatchPaste",{type:b,path:a.file_path},function(g){if(g.status){bt.set_cookie("record_paste_type",null);a.reader_file_list({path:a.file_path})}layer.msg(g.msg,{icon:g.status?1:2})})}})},recycle_bin_view:function(){var a=this;layer.open({title:lan.files.recycle_bin_title,type:1,skin:"recycle_view",area:["1100px","672px"],closeBtn:2,content:'<div class="recycle_bin_view"> <div class="re-head"> <div style="margin-left: 3px;" class="ss-text"> <em>'+lan.files.recycle_bin_on+'</em> <div class="ssh-item"> <input class="btswitch btswitch-ios" id="Set_Recycle_bin" type="checkbox"> <label class="btswitch-btn" for="Set_Recycle_bin" onclick="bt_file.Set_Recycle_bin()"></label> </div> <em style="margin-left: 20px;">'+lan.files.recycle_bin_on_db+'</em> <div class="ssh-item"> <input class="btswitch btswitch-ios" id="Set_Recycle_bin_db" type="checkbox"> <label class="btswitch-btn" for="Set_Recycle_bin_db" onclick="bt_file.Set_Recycle_bin(1)"></label> </div> </div> <span style="line-height: 32px; margin-left: 30px;">'+lan.files.recycle_bin_ps+'</span> <button style="float: right" class="btn btn-default btn-sm" onclick="bt_file.CloseRecycleBin();">'+lan.files.recycle_bin_close+'</button> </div> <div class="re-con"> <div class="re-con-menu"> <p class="on" data-type="1">'+lan.files.recycle_bin_type1+'</p> <p data-type="2">'+lan.files.recycle_bin_type2+'</p> <p data-type="3">'+lan.files.recycle_bin_type3+'</p> <p data-type="4">'+lan.files.recycle_bin_type4+'</p> <p data-type="5">'+lan.files.recycle_bin_type5+'</p> <p data-type="6">'+lan.files.recycle_bin_type6+'</p> </div> <div class="re-con-con pd15" id="recycle_table"></div> </div> </div>',success:function(){if(window.location.href.indexOf("database")!=-1){$(".re-con-menu p:last-child").addClass("on").siblings().removeClass("on");$(".re-con-menu p:eq(5)").click()}else{$(".re-con-menu p:eq(0)").click()}var b=a.render_recycle_list();$(".re-con-menu").on("click","p",function(){var c=$(this).data("type");$(this).addClass("on").siblings().removeClass("on");b.$refresh_table_list(true)})}})},render_recycle_list:function(){var a=this;$("#recycle_table").empty();var b=bt_tools.table({el:"#recycle_table",url:"/files?action=Get_Recycle_bin",height:480,dataFilter:function(e){var k=[];switch($(".re-con-menu p.on").index()){case 0:for(var d=0;d<e.dirs.length;d++){var h=e.dirs[d];k.push($.extend(h,{type:"folder"}))}for(var c=0;c<e.files.length;c++){var h=e.files[c],g=h.dname.split("."),f=a.determine_file_type(g[g.length-1]);if(h.name.indexOf("BTDB_")>-1){h.dname=h.dname.replace("BTDB_","");h.name=h.name.replace("BTDB_","");k.push($.extend(h,{type:"files"}))}else{if(f=="images"){k.push($.extend(h,{type:f}))}else{k.push($.extend(h,{type:"files"}))}}}break;case 1:for(var d=0;d<e.dirs.length;d++){var h=e.dirs[d];k.push($.extend(h,{type:"folder"}))}break;case 2:for(var c=0;c<e.files.length;c++){var h=e.files[c],g=h.dname.split("."),f=a.determine_file_type(g[g.length-1]);if(h.name.indexOf("BTDB")==-1){k.push($.extend(h,{type:f}))}}break;case 3:for(var c=0;c<e.files.length;c++){var h=e.files[c],g=h.dname.split("."),f=a.determine_file_type(g[g.length-1]);if(f=="images"){k.push($.extend(h,{type:f}))}}break;case 4:for(var c=0;c<e.files.length;c++){var h=e.files[c],g=h.dname.split("."),f=a.determine_file_type(g[g.length-1]);if(f!="images"&&f!="compress"&&f!="video"&&h.name.indexOf("BTDB")==-1){k.push($.extend(h,{type:f}))}}break;case 5:for(var c=0;c<e.files.length;c++){var h=e.files[c];if(h.name.indexOf("BTDB_")>-1){h.dname=h.dname.replace("BTDB_","");h.name=h.name.replace("BTDB_","");console.log();k.push($.extend(h,{type:"files"}))}}break}$("#Set_Recycle_bin").attr("checked",e.status);$("#Set_Recycle_bin_db").attr("checked",e.status_db);return{data:k}},column:[{type:"checkbox","class":"",width:18},{fid:"name",title:lan.files.recycle_bin_th1,width:155,template:function(c){return'<div class="text-overflow" title="'+c.name+'"><i class="file_icon file_'+c.type+'"></i><span style="width:100px">'+c.name+"</span></div>"}},{fid:"dname",title:lan.files.recycle_bin_th2,width:310,template:function(c){return'<span class="text-overflow" style="width:310px" title="'+c.dname+'">'+c.dname+"</span>"}},{fid:"size",title:lan.files.recycle_bin_th3,width:70,template:function(c){return'<span class="text-overflow" style="width:70px" title="'+c.size+'">'+bt.format_size(c.size)+"</span>"}},{fid:"time",title:lan.files.recycle_bin_th4,width:120,template:function(d,c){return'<span class="text-overflow" style="width:120px" title="'+d.time+'">'+bt.format_data(d.time)+"</span>"}},{type:"group",align:"right",width:95,title:lan.files.recycle_bin_th5,group:[{title:lan.files.recycle_bin_re,event:function(g,c,f,d,e){bt_file.ReRecycleBin(g.rname,function(){e.$delete_table_row(c)})}},{title:lan.files.recycle_bin_del,event:function(g,c,f,d,e){bt_file.DelRecycleBin(g.rname,function(){e.$delete_table_row(c)})}}]}],tootls:[{type:"batch",positon:["left","bottom"],placeholder:"请选择批量操作",buttonValue:"批量操作",disabledSelectValue:"请选择需要批量操作的端口!",selectList:[{title:"恢复",url:"/files?action=Re_Recycle_bin",load:true,param:function(c){return{path:c.rname}},callback:function(c){bt.confirm({title:"批量恢复文件",msg:"是否批量恢复选中的文件,是否继续?",icon:0},function(d){layer.close(d);c.start_batch({},function(h){var f="";for(var e=0;e<h.length;e++){var g=h[e];f+="<tr><td>"+g.name+'</td><td><div style="float:right;"><span style="color:'+(g.request.status?"#20a53a":"red")+'">'+(g.request.status?"恢复成功":"恢复失败")+"</span></div></td></tr>"}b.$batch_success_table({title:"批量恢复文件",th:"文件名称",html:f});b.$refresh_table_list(true)})})}},{title:"永久删除文件",url:"/files?action=Del_Recycle_bin",load:true,param:function(c){return{path:c.rname}},callback:function(c){bt.confirm({title:"批量删除文件",msg:"是否批量删除选中的文件,文件将彻底删除,不可恢复,是否继续?",icon:0},function(d){layer.close(d);c.start_batch({},function(h){var f="";for(var e=0;e<h.length;e++){var g=h[e];f+="<tr><td>"+g.name+'</td><td><div style="float:right;"><span style="color:'+(g.request.status?"#20a53a":"red")+'">'+(g.request.status?"删除成功":"删除失败")+"</span></div></td></tr>"}b.$batch_success_table({title:"批量删除文件",th:"文件名称",html:f});b.$refresh_table_list(true)})})}}]}]});bt_tools.$fixed_table_thead("#recycle_table .divtable");return b},Set_Recycle_bin:function(a){var d=layer.msg(lan["public"].the,{icon:16,time:0,shade:[0.3,"#000"]});var b=this,c={};if(a==1){c={db:a}}$.post("/files?action=Recycle_bin",c,function(e){layer.close(d);if(e.status){if(a==undefined){b.is_recycle=$("#Set_Recycle_bin").prop("checked")}}layer.msg(e.msg,{icon:e.status?1:5})})},ReRecycleBin:function(a,b){layer.confirm(lan.files.recycle_bin_re_msg,{title:lan.files.recycle_bin_re_title,closeBtn:2,icon:3},function(){var c=layer.msg(lan.files.recycle_bin_re_the,{icon:16,time:0,shade:[0.3,"#000"]});$.post("/files?action=Re_Recycle_bin","path="+encodeURIComponent(a),function(d){layer.close(c);layer.msg(d.msg,{icon:d.status?1:5});if(b){b(d)}})})},DelRecycleBin:function(a,b){layer.confirm(lan.files.recycle_bin_del_msg,{title:lan.files.recycle_bin_del_title,closeBtn:2,icon:3},function(){var c=layer.msg(lan.files.recycle_bin_del_the,{icon:16,time:0,shade:[0.3,"#000"]});$.post("/files?action=Del_Recycle_bin","path="+encodeURIComponent(a),function(d){layer.close(c);layer.msg(d.msg,{icon:d.status?1:5});if(b){b(d)}})})},CloseRecycleBin:function(){var a=this;layer.confirm(lan.files.recycle_bin_close_msg,{title:lan.files.recycle_bin_close,closeBtn:2,icon:3},function(){var b=layer.msg("<div class='myspeed'>"+lan.files.recycle_bin_close_the+"</div>",{icon:16,time:0,shade:[0.3,"#000"]});setTimeout(function(){getSpeed(".myspeed")},1000);$.post("/files?action=Close_Recycle_bin","",function(c){layer.close(b);layer.msg(c.msg,{icon:c.status?1:5});a.render_recycle_list();$("#RecycleBody").html("")})})},open_property_view:function(a){console.log(a);var b=this;b.$http("get_file_attribute",{filename:a.path},function(c){layer.open({type:1,closeBtn:2,title:"[ "+a.filename+" ] - "+(a.is_dir?"文件夹":"文件")+"属性",area:["580px","500px"],shadeClose:false,content:'<div class="bt-property-setting pd15"> <div class="tab-nav"> <span class="on">常规</span> <span>详细信息</span> <span>历史版本</span> </div> <div class="tab-con"> <div class="property-box file_list_content active"> <div class="attr-box"> <div class="attr-name" style="height: 60px;line-height: 60px;"><i class="file_icon file_'+(c.is_link?"link":(c.is_dir?"folder":c.st_type))+'"></i></div> <div class="attr-content" style="height: 60px;line-height: 60px;"><input type="text" disabled value="'+a.filename+'" /></div> </div> <div class="dividing"></div> <div class="attr-box" > <div class="attr-name">类型:</div> <div class="attr-content">'+((c.is_dir||c.is_link)?c.st_type:b.ext_type_tips(c.st_type))+'</div> </div> <div class="attr-box" > <div class="attr-name">文件路径:</div> <div class="attr-content"><span title="'+c.path+'">'+c.path+'</span></div> </div> <div class="attr-box" > <div class="attr-name">大小:</div> <div class="attr-content">'+bt.format_size(c.st_size)+" ("+(b.font_thousandth(c.st_size)+" 字节")+')</div> </div> <div class="dividing"></div> <div class="attr-box"> <div class="attr-name">权限:</div> <div class="attr-content">'+c.mode+'</div> </div> <div class="attr-box"> <div class="attr-name">所属组:</div> <div class="attr-content">'+c.group+'</div> </div> <div class="attr-box"> <div class="attr-name">所属用户:</div> <div class="attr-content">'+c.user+'</div> </div> <div class="dividing"></div> <div class="attr-box"> <div class="attr-name">访问时间:</div> <div class="attr-content">'+bt.format_data(c.st_atime)+'</div> </div> <div class="attr-box"> <div class="attr-name">修改时间:</div> <div class="attr-content">'+bt.format_data(c.st_mtime)+'</div> </div> </div> <div class="property-box details_box_view"> <table> <thead><tr><th><div style="width:100px">属性</div></th><th><div style="width:400px">值</div></th></tr></thead> <tbody class="details_list"></tbody> </table> </div> <div class="property-box history_box_view" > <table> <thead><tr><th><div style="width:140px;">修改时间</div></th><th><div style="width:85px;">文件大小</div></th><th><div >MD5</div></th><th><div style="width:90px;text-align:right;">操作</div></th></tr></thead> <tbody class="history_list"></tbody> </table> </div> </div> </div>',success:function(j,h){$(".bt-property-setting .tab-nav span").click(function(){var i=$(this).index();$(this).addClass("on").siblings().removeClass("on");$(".property-box:eq("+i+")").addClass("active").siblings().removeClass("active")});$(".history_box_view").on("click",".open_history_file",function(){var i=$(this).attr("data-time");openEditorView(0,a.path);setTimeout(function(){aceEditor.openHistoryEditorView({filename:a.path,history:i},function(){layer.close(h);$(".ace_conter_tips").show();$(".ace_conter_tips .tips").html("只读文件,文件为"+_item.path+",历史版本 [ "+bt.format_data(new Number(i))+' ]<a href="javascript:;" class="ml35 btlink" data-path="'+_item.path+'" data-history="'+i+'">点击恢复当前历史版本</a>')})},500)});$(".history_box_view").on("click",".recovery_file_historys",function(){aceEditor.event_ecovery_file(this)});var d={filename:["文件名",a.filename],type:["类型",(c.is_dir||c.is_link)?c.st_type:b.ext_type_tips(c.st_type)],path:"文件路径",st_size:["文件大小",bt.format_size(c.st_size)+" ("+(b.font_thousandth(c.st_size)+" 字节")+")"],st_atime:["访问时间",bt.format_data(c.st_atime)],st_mtime:["修改时间",bt.format_data(c.st_mtime)],st_ctime:["元数据修改时间",bt.format_data(c.st_ctime)],md5:"文件MD5",sha1:"文件sha1",user:"所属用户",group:"所属组",mode:"文件权限",lsattr:"特殊权限",st_uid:"用户id",st_gid:"用户组id",st_nlink:"inode的链接数",st_ino:"inode的节点号",st_mode:"inode保护模式",st_dev:"inode驻留设备"},g="",k="";for(var m in d){if(Object.hasOwnProperty.call(d,m)){var f=d[m],l=($.isArray(f)?f[1]:c[m]);g+='<tr><td><div style="width:110px">'+($.isArray(f)?f[0]:f)+'</div></td><td><div class="ellipsis" style="width:400px" title="'+l+'">'+l+"</div></td></tr>"}}for(var e=0;e<c.history.length;e++){var n=c.history[e];k+='<tr><td><div style="width:140px;">'+bt.format_data(n.st_mtime)+'</div></td><td><div style="width:85px;">'+bt.format_size(n.st_size)+"</div></td><td><div>"+n.md5+'</div></td><td><div style="width:90px;text-align:right;"><a href="javascript:;" class="btlink open_history_file" data-time="'+n.st_mtime+'">查看</a> | <a href="javascript:;" class="btlink recovery_file_historys" data-history="'+n.st_mtime+'" data-path="'+a.path+'">恢复</a></div></td></tr>'}if(k===""){k+='<tr><td colspan="4"><div style="text-align: center;">当前文件无历史版本</div></td></tr>'}$(".details_list").html(g);$(".history_list ").html(k);b.fixed_table_thead(".details_box_view");b.fixed_table_thead(".history_box_view ")}})})},fixed_table_thead:function(a){$(a).scroll(function(){var b=this.scrollTop;this.querySelector("thead").style.transform="translateY("+b+"px)"})},font_thousandth:function(a){var b=String(a).split(".");b[0]=b[0].replace(new RegExp("(\\d)(?=(\\d{3})+$)","ig"),"$1,");return b.join(".")},open_images_preview:function(e){var d=this,a=$('<div class="preview_images_mask"><div class="preview_head"><span class="preview_title">'+e.filename+'</span><span class="preview_small hidden" title="缩小显示"><span class="glyphicon glyphicon-resize-small" aria-hidden="true"></span></span><span class="preview_full" title="最大化显示"><span class="glyphicon glyphicon-resize-full" aria-hidden="true"></span></span><span class="preview_close" title="关闭图片预览视图"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></span></div><div class="preview_body"><img id="preview_images" src="/download?filename='+e.path+'" data-index="'+e.images_id+'"></div><div class="preview_toolbar"><a href="javascript:;" title="左旋转"><span class="glyphicon glyphicon-repeat reverse-repeat" aria-hidden="true"></span></a><a href="javascript:;" title="右旋转"><span class="glyphicon glyphicon-repeat" aria-hidden="true"></span></a><a href="javascript:;" title="放大视图"><span class="glyphicon glyphicon-zoom-in" aria-hidden="true"></span></a><a href="javascript:;" title="缩小视图"><span class="glyphicon glyphicon-zoom-out" aria-hidden="true"></span></a><a href="javascript:;" title="重置视图"><span class="glyphicon glyphicon-refresh" aria-hidden="true"></span></a><a href="javascript:;" title="图片列表"><span class="glyphicon glyphicon-list" aria-hidden="true"></span></a></div><div class="preview_cut_view"><a href="javascript:;" title="上一张"><span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span></a><a href="javascript:;" title="下一张"><span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span></a></div></div>'),c={natural_width:0,natural_height:0,init_width:0,init_height:0,preview_width:0,preview_height:0,current_width:0,current_height:0,current_left:0,current_top:0,rotate:0,scale:1,images_mouse:false};if($(".preview_images_mask").length>0){$("#preview_images").attr("src","/download?filename="+e.path);return false}$("body").css("overflow","hidden").append(a);c.preview_width=a[0].clientWidth;c.preview_height=a[0].clientHeight;$(".preview_body img").load(function(){var f=$(this)[0];if(!$(this).attr("data-index")){$(this).attr("data-index",e.images_id)}c.natural_width=f.naturalWidth;c.natural_height=f.naturalHeight;b(false)});$(".preview_images_mask .preview_head").on("mousedown",function(i){i=i||window.event;var h=$(this).parent();$("body").addClass("select");$(this).onselectstart=$(this).ondrag=function(){return false};if($(i.target).hasClass("preview_close")){return}var g=i.clientX-h.offset().left;var f=i.clientY-h.offset().top;$(document).on("mousemove",function(l){l=l||window.event;var k=l.clientX-g;var j=l.clientY-f;if(k<0){k=0}else{if(k>window.innerWidth-h.width()){k=window.innerWidth-h.width()}}if(j<0){j=0}else{if(j>window.innerHeight-h.height()){j=window.innerHeight-h.height()}}h.css({left:k,top:j,margin:0})}).on("mouseup",function(){$(this).unbind("mousemove mouseup")})});$(".preview_images_mask #preview_images").on("mousedown",function(j){j=j||window.event;$(this).onselectstart=$(this).ondrag=function(){return false};var f=$(this);var i=$(".preview_images_mask").offset();var h=j.clientX-i.left;var g=j.clientY-i.top;$(".preview_images_mask").on("mousemove",function(p){p=p||window.event;var o=p.clientX-i.left-h,n=p.clientY-i.top-g,l=Math.abs(c.rotate/90),q=(l%2==0?c.preview_width:c.preview_height),s=(l%2==0?c.preview_height:c.preview_width),k,r;if(c.current_width>q){var t=q-c.current_width;k=c.current_left+o;if(k>0){k=0}else{if(k<t){k=t}}c.current_left=k}if(c.current_height>s){var m=s-c.current_height;r=c.current_top+n;if(r>0){r=0}else{if(r<m){r=m}}c.current_top=r}if(c.current_height>s&&c.current_top<=0){if((c.current_height-s)<=c.current_top){c.current_top-=n}}f.css({left:c.current_left,top:c.current_top})}).on("mouseup",function(){$(this).unbind("mousemove mouseup")}).on("dragstart",function(){j.preventDefault()})}).on("dragstart",function(){return false});$(".preview_close").click(function(f){$(".preview_images_mask").remove()});$(".preview_toolbar a").click(function(){var g=$(this).index(),f=$("#preview_images");switch(g){case 0:case 1:c.rotate=g?(c.rotate+90):(c.rotate-90);b();break;case 2:case 3:if(c.scale==3&&g==2||c.scale==0.2&&g==3){layer.msg((c.scale>=1?"图像放大,已达到最大尺寸。":"图像缩小,已达到最小尺寸。"));return false}c.scale=(g==2?Math.round((c.scale+0.4)*10):Math.round((c.scale-0.4)*10))/10;b();break;case 4:var h=c.rotate%360;if(h>=180){c.rotate+=(360-h)}else{c.rotate-=h}c.scale=1;b();break}});$(".preview_full,.preview_small").click(function(){if($(this).hasClass("preview_full")){$(this).addClass("hidden").prev().removeClass("hidden");c.preview_width=d.area[0];c.preview_height=d.area[1];a.css({width:d.area[0],height:d.area[1],top:0,left:0,margin:0}).data("type","full");b()}else{$(this).addClass("hidden").next().removeClass("hidden");$(".preview_images_mask").removeAttr("style");c.preview_width=750;c.preview_height=650;b()}});$(".preview_cut_view a").click(function(){var h="",f=$("#preview_images"),g=parseInt(f.attr("data-index"));if(!$(this).index()){g=g===0?(d.file_images_list.length-1):g-1;h=d.file_images_list[g]}else{g=(g==(d.file_images_list.length-1))?0:(g+1);h=d.file_images_list[g]}f.attr("data-index",g).attr("src","/download?filename="+h);$(".preview_title").html(d.get_path_filename(h))});function b(k){var h=Math.abs(c.rotate/90),g=(h%2==0?c.preview_width:c.preview_height),j=(h%2==0?c.preview_height:c.preview_width),i=$("#preview_images"),f={};c.init_width=c.natural_width;c.init_height=c.natural_height;if(c.init_width>g){c.init_width=g;c.init_height=parseFloat(((g/c.natural_width)*c.init_height).toFixed(2))}if(c.init_height>j){c.init_width=parseFloat(((j/c.natural_height)*c.init_width).toFixed(2));c.init_height=j}c.current_width=parseFloat(c.init_width*c.scale);c.current_height=parseFloat(c.init_height*c.scale);c.current_left=parseFloat(((c.preview_width-c.current_width)/2).toFixed(2));c.current_top=parseFloat(((c.preview_height-c.current_height)/2).toFixed(2));f={width:c.current_width,height:c.current_height,top:c.current_top,left:c.current_left,display:"inline",transform:"rotate("+c.rotate+"deg)",opacity:1,transition:"all 100ms"};if(k===false){delete f.transition}i.css(f)}},open_video_play:function(b){var e=b.path,d="/download?filename="+b.path,a=b.path.split("/"),c=a.slice(0,a.length-1).join("/");layer.open({type:1,closeBtn:2,title:'正在播放[<a class="btvideo-title">'+a[a.length-1]+"</a>]",area:["890px","402px"],shadeClose:false,skin:"movie_pay",content:'<div id="btvideo"><video type="" src="'+d+'&play=true" data-filename="'+b.path+'" controls="controls" autoplay="autoplay" width="640" height="360">您的浏览器不支持 video 标签。</video></div><div class="video-list"></div>',success:function(){$.post("/files?action=get_videos",{path:c},function(k){var j='<table class="table table-hover" style="margin-bottom:0;"><thead style="display: none;"><tr><th style="word-break: break-all;word-wrap:break-word;width:165px;">文件名</th><th style="width:65px" style="text-align:right;">大小</th></tr></thead>',g=0;for(var h=0;h<k.length;h++){var f=c+"/"+k[h].name;if(f===e){g=h}j+='<tr class="'+(f===e?"video-avt":"")+'"><td style="word-break: break-all;word-wrap:break-word;width:150px" onclick="bt_file.play_file(this,\''+f+'\')" title="文件: '+f+"\n类型: "+k[h].type+'"><a>'+k[h].name+'</a></td><td style="font-size: 8px;text-align:right;width:'+(65+bt_file.scroll_width)+'px;">'+ToSize(k[h].size)+"</td></tr>"}j+="</table>";$(".video-list").html(j).scrollTop(g*34)})}})},play_file:function(d,b){if($("#btvideo video").attr("data-filename")==b){return false}var e="/download?filename="+b+"&play=true";var a='<video src="'+e+'" controls="controls" data-fileName="'+b+'" autoplay="autoplay" width="640" height="360">您的浏览器不支持 video 标签。</video>';$("#btvideo").html(a);var c=b.split("/");$(".btvideo-title").html(c[c.length-1]);$(".video-avt").removeClass("video-avt");$(d).parents("tr").addClass("video-avt")},copy_file_or_dir:function(a){bt.set_cookie("record_paste",a.path);bt.set_cookie("record_paste_type","copy");$(".file_all_paste").removeClass("hide");layer.msg("复制成功,请点击粘贴按钮,或Ctrl+V粘贴")},cut_file_or_dir:function(a){bt.set_cookie("record_paste",a.path);bt.set_cookie("record_paste_type","cut");$(".file_all_paste").removeClass("hide");layer.msg("剪切成功,请点击粘贴按钮,或Ctrl+V粘贴")},paste_file_or_dir:function(){var c=this,d=bt.get_cookie("record_paste_type"),a=bt.get_cookie("record_paste"),b="";if(a!="null"&&a!=undefined){b=a.split("/").pop()}if(c.file_path.indexOf(a)>-1){layer.msg("文件夹禁止粘贴到项目本身!",{icon:0});return false}if(d!="null"&&d!=undefined){switch(d){case"cut":case"copy":this.check_exists_files_req({dfile:this.file_path,filename:b},function(e){if(e.length>0){var f="";for(var g=0;g<e.length;g++){f+='<tr><td><span class="exists_files_style">'+e[g].filename+"</span></td><td>"+ToSize(e[g].size)+"</td><td>"+getLocalTime(e[g].mtime)+"</td></tr>"}var h='<div class="divtable"><table class="table table-hover" width="100%" border="0" cellpadding="0" cellspacing="0"><thead><th>文件名</th><th>大小</th><th>最后修改时间</th></thead> <tbody>'+f+"</tbody> </table></div>";SafeMessage("即将覆盖以下文件",h,function(){c.config_paste_to(a,b)})}else{c.config_paste_to(a,b)}});break;case"1":case"2":c.batch_file_paste();break}}},config_paste_to:function(d,b){var c=this,a=bt.get_cookie("record_paste_type");this.$http(a=="copy"?"CopyFile":"MvFile",{sfile:d,dfile:(this.file_path+"/"+b)},function(e){if(e.status){bt.set_cookie("record_paste",null);bt.set_cookie("record_paste_type",null);c.reader_file_list({path:c.file_path})}layer.msg(e.msg,{icon:e.status?1:2})})},rename_file_or_dir:function(b){var a=this;a.is_editor=true;$(".file_list_content .file_tr:nth-child("+(b.index+1)+")").addClass("editr_tr").find(".file_title").empty().append($((bt.get_cookie("rank")=="icon"?'<textarea name="rename_file_input" onfocus="this.select()">'+b.filename+"</textarea>":'<input name="rename_file_input" onfocus="this.select()" type="text" value="'+b.filename+'">')));if(bt.get_cookie("rank")=="icon"){$("textarea[name=rename_file_input]").css({height:$("textarea[name=rename_file_input]")[0].scrollHeight})}$((bt.get_cookie("rank")=="icon"?"textarea":"input")+"[name=rename_file_input]").on("input",function(){if(bt.get_cookie("rank")=="icon"){this.style.height="auto";this.style.height=this.scrollHeight+"px"}if(b.type=="file"){var d=$(this).val().split("."),c=d[d.length-1];$(this).parent().prev().find(".file_icon").removeAttr("class").addClass("file_icon file_"+c)}}).keyup(function(c){if(c.keyCode==13){$(this).blur()}c.stopPropagation();c.preventDefault()}).blur(function(){var d=$(this).val().replace(/[\r\n]/g,""),c={sfile:b.path,dfile:a.path_resolve(a.file_path,d)};if(b.filename==d||d==""){$(".file_list_content .file_tr:nth-child("+(b.index+1)+")").removeClass("editr_tr").find(".file_title").empty().append($("<i>"+b.filename+"</i>"));a.is_editor=false;return false}if(a.match_unqualified_string(d)){return layer.msg('名称不能含有 /\\:*?"<>|符号',{icon:2})}a.rename_file_req(c,function(e){a.reader_file_list({path:a.file_path},function(){layer.msg(e.msg,{icon:e.status?1:2})})});a.is_editor=false}).focus()},set_file_share:function(b){var a=this;this.loadY=bt.open({type:1,shift:5,closeBtn:2,area:"450px",title:"设置分享"+b.type_tips+"-["+b.filename+"]",btn:["生成外链","取消"],content:'<from class="bt-form" id="outer_url_form" style="padding:30px 15px;display:inline-block"><div class="line"><span class="tname">分享名称</span><div class="info-r"><input name="ps" class="bt-input-text mr5" type="text" placeholder="分享名称不能为空" style="width:270px" value="'+b.filename+'"></div></div><div class="line"><span class="tname">有效期</span><div class="info-r"><label class="checkbox_grourd"><input type="radio" name="expire" value="24" checked><span> 1天</span></label><label class="checkbox_grourd"><input type="radio" name="expire" value="168"><span> 7天</span></label><label class="checkbox_grourd"><input type="radio" name="expire" value="1130800"><span> 永久</span></label></div></div><div class="line"><span class="tname">提取码</span><div class="info-r"><input name="password" class="bt-input-text mr5" placeholder="为空则不设置提取码" type="text" style="width:220px" value=""><button type="button" id="random_paw" class="btn btn-success btn-sm btn-title">随机</button></div></div></from>',yes:function(g,e){var f=$("[name=ps]").val(),c=$("[name=expire]:checked").val(),d=$("[name=password]").val();if(f===""){layer.msg("分享名称不能为空",{icon:2});return false}a.create_download_url({filename:b.path,ps:f,password:d,expire:c},function(h){if(!h.status){layer.msg(h.msg,{icon:h.status?1:2});return false}else{var i=h.msg;a.file_list[b.index]=$.extend(a.file_list[b.index],{down_id:i.id,down_info:i});a.loadY.close();a.info_file_share(b);a.reader_file_list_content(a.file_list)}})},success:function(d,c){$("#random_paw").click(function(){$(this).prev().val(bt.get_random(6))})}})},info_file_share:function(b){var a=this;if(typeof b.down_info=="undefined"){this.get_download_url_find({id:b.down_id},function(c){a.file_list[b.index]=$.extend(a.file_list[b.index],{down_info:c});a.file_share_view(a.file_list[b.index],"fonticon")});return false}this.file_share_view(b,"fonticon")},file_share_view:function(a,c){var e=a;if(c=="fonticon"){e=a.down_info}var d=this,b=location.origin+"/down/"+e.token;this.loadY=bt.open({type:1,shift:5,closeBtn:2,area:"550px",title:"外链分享-["+e.filename+"]",content:'<div class="bt-form pd20 pb70"><div class="line"><span class="tname">分享名称</span><div class="info-r"><input readonly class="bt-input-text mr5" type="text" style="width:365px" value="'+e.ps+'"></div></div><div class="line external_link"><span class="tname">分享外链</span><div class="info-r"><input readonly class="bt-input-text mr5" type="text" style="width:280px" value="'+b+'"><button type="button" id="copy_url" data-clipboard-text="'+b+'" class="btn btn-success btn-sm btn-title copy_url" style="margin-right:5px" data-clipboard-target="#copy_url"><img style="width:16px" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABIUlEQVQ4T6XTsSuFURjH8d+3/AFm0x0MyqBEUQaUIqUU3YwWyqgMptud/BlMSt1SBiklg0K3bhmUQTFZDZTxpyOvznt7z3sG7/T2vOf5vM85z3nQPx+KfNuHkhoZ7xXYjNfEwIukXUnvNcg2sJECnoHhugpsnwBN21PAXVgbV/AEjNhuVSFA23YHWLNt4Cc3Bh6BUdtLcbzAgHPbp8BqCngAxjJbOANWUkAPGA8fE8icpD1gOQV0gclMBRfAYgq4BaZtz/YhA5IGgY7tS2AhBdwAM7b3JX1I+iz1G45sXwHzKeAa6P97qZgcEA6v/ZsR3v9aHCmt0P9UBVuShjKz8CYpXPkDYKJ0kaKhWpe0UwOFxDATx5VACFZ0Ivbuga8i8A3NFqQRZ5pz7wAAAABJRU5ErkJggg=="></button><button type="button" class="btn btn-success QR_code btn-sm btn-title"><img style="width:16px" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABUklEQVQ4T6WSIU9DQRCEvwlYLIoEgwEECs3rDyCpobbtL6AKRyggMQ9TJBjUMzgMCeUnIEAREoICFAoEZMk2dy/Xo4KGNZu7nZ2bnT3xz1DsN7MFYCnhe5V0n/Kb2QowL2kY70cEoXAHVEnDG/ABXAJXmVDHVZKqSFAA58AqsAY8AW3A68/AQ7hbBG6BbeDGlaQEh8AucA3suzDgC5gFXHID2At5YxJBNwA6ocFBM8B3OL8DTaCcpMDN2QojxHHdk9Qrx9SeAyf1CMFIJ3DjYqxLOgo192gs4ibSNfrMOaj2yBvMrCnpImYHR4C/vizpIPkX/mpbUtfMepJKMxtKKsyslNTLCZxkBzgFjoE5oCVp08yKvyhwgkGyRl9nX1LDzDz3kzxS8kuBpFYygq8xJ4gjjBMEpz+BF+AxcXLg39XMOpLOciW1gtz9ac71GqdpSrE/8U20EQ3XLHEAAAAASUVORK5CYII="></button></div></div><div class="line external_link" style="'+(e.password==""?"display:none;":"display:block")+'"><span class="tname">提取码</span><div class="info-r"><input readonly class="bt-input-text mr5" type="text" style="width:243px" value="'+e.password+'"><button type="button" data-clipboard-text="链接:'+b+" 提取码:"+e.password+'" class="btn btn-success copy_paw btn-sm btn-title">复制链接及提取码</button></div></div><div class="line"><span class="tname">过期时间</span><div class="info-r"><span style="line-height:32px; display: block;font-size:14px">'+((e.expire>(new Date("2099-01-01 00:00:00").getTime())/1000)?'<span calss="btlink">永久有效</span>':bt.format_data(e.expire))+'</span></div></div><div class="bt-form-submit-btn"><button type="button" class="btn btn-danger btn-sm btn-title layer_close">'+lan["public"].close+'</button><button type="button" id="down_del" class="btn btn-danger btn-sm btn-title close_down" style="color:#fff;background-color:#c9302c;border-color:#ac2925;" onclick="">关闭分享外链</button></div></div>',success:function(i,g){var h=new ClipboardJS(".copy_url");var f=new ClipboardJS(".copy_paw");h.on("success",function(j){layer.msg("复制链接成功!",{icon:1});j.clearSelection()});f.on("success",function(j){layer.msg("复制链接及提取码成功!",{icon:1});j.clearSelection()});$(".layer_close").click(function(){layer.close(g)});$(".QR_code").click(function(){layer.closeAll("tips");layer.tips('<div style="height:140px;width:140px;padding:8px 0" id="QR_code"></div>',".QR_code",{area:["150px","150px"],tips:[1,"#ececec"],time:0,shade:[0.05,"#000"],shadeClose:true,success:function(){jQuery("#QR_code").qrcode({render:"canvas",text:b,height:130,width:130})}})});$(".close_down").click(function(){d.remove_download_url({id:e.id,fileName:e.filename},function(j){d.loadY.close();if(c=="fonticon"){d.file_list[a.index].down_id=0;d.reader_file_list_content(d.file_list)}if(c=="list"){d.render_share_list()}layer.msg(j.msg,{icon:j.status?1:2})})})}})},del_file_or_dir:function(b){var a=this;if(a.is_recycle){bt.confirm({title:"删除"+b.type_tips+"[ "+b.filename+" ]",msg:"<span>您确定要删除该"+b.type_tips+"[ "+b.path+" ]吗,删除后将移至回收站,是否继续操作?</span>"},function(){a.del_file_req(b,function(c){a.reader_file_list({path:a.file_path});layer.msg(c.msg,{icon:c.status?1:2})})})}else{bt.show_confirm("删除"+b.type_tips+"[ "+b.filename+" ]",'<i style="font-size: 15px;font-style: initial;color: red;">当前未开启回收站,删除该'+(b.type=="dir"?"文件夹":"文件")+"后将无法恢复,是否继续删除?</i></span>",function(){a.del_file_req(b,function(c){a.reader_file_list({path:a.file_path});layer.msg(c.msg,{icon:c.status?1:2})})})}},cancel_file_favorites:function(c){var b=this,a=c.index;this.loadY=bt.confirm({title:"取消"+c.filename+"收藏",msg:"是否取消["+c.path+"]的收藏,是否继续?"},function(){b.$http("del_files_store",{path:c.path},function(d){if(d.status){b.file_list[a].caret=false;b.reader_file_list_content(b.file_list);b.load_favorites_index_list()}layer.msg(d.msg,{icon:d.status?1:2})})})},set_soft_link:function(b){var a=this;bt_tools.open({title:"创建软链接",area:"520px",content:{"class":"pd20",formLabelWidth:"110px",form:[{label:"文件夹或目录",group:{type:"text",name:"sfile",width:"280px",placeholder:"请选择需要创建的软链的文件夹和文件",icon:{type:"glyphicon-folder-open",event:function(c){},select:"all"},value:"",input:function(c){console.log(arguments)}}},{label:"",group:{type:"help",style:{"margin-top":"0"},"class":"none-list-style",list:["提示:请选择需要创建的软链的文件夹和文件"]}}]},yes:function(e,g,d){var c=e.sfile,f=c.split("/");e=$.extend(e,{dfile:a.file_path+"/"+f[f.length-1]});bt_tools.send("files/CreateLink",e,function(h){if(h.status){layer.close(g);bt.msg(h);a.reader_file_list()}},{tips:"创建软链接"})}})},set_file_authority:function(c,a){var b=this;b.get_file_authority({path:c.path},function(d){b.loadY=layer.open({type:1,closeBtn:2,title:lan.files.set_auth+"["+c.filename+"]",area:"400px",shadeClose:false,content:'<div class="setchmod bt-form ptb15 pb70"> <fieldset> <legend>'+lan.files.file_own+'</legend> <p><input type="checkbox" id="owner_r" />'+lan.files.file_read+'</p> <p><input type="checkbox" id="owner_w" />'+lan.files.file_write+'</p> <p><input type="checkbox" id="owner_x" />'+lan.files.file_exec+"</p> </fieldset> <fieldset> <legend>"+lan.files.file_group+'</legend> <p><input type="checkbox" id="group_r" />'+lan.files.file_read+'</p> <p><input type="checkbox" id="group_w" />'+lan.files.file_write+'</p> <p><input type="checkbox" id="group_x" />'+lan.files.file_exec+"</p> </fieldset> <fieldset> <legend>"+lan.files.file_public+'</legend> <p><input type="checkbox" id="public_r" />'+lan.files.file_read+'</p> <p><input type="checkbox" id="public_w" />'+lan.files.file_write+'</p> <p><input type="checkbox" id="public_x" />'+lan.files.file_exec+'</p> </fieldset> <div class="setchmodnum"><input class="bt-input-text" type="text" id="access" maxlength="3" value="'+d.chmod+'">'+lan.files.file_menu_auth+", <span>"+lan.files.file_own+' <select id="chown" class="bt-input-text"> <option value="www" '+(d.chown=="www"?'selected="selected"':"")+'>www</option> <option value="mysql" '+(d.chown=="mysql"?'selected="selected"':"")+'>mysql</option> <option value="root" '+(d.chown=="root"?'selected="selected"':"")+'>root</option> </select></span> <span><input type="checkbox" id="accept_all" checked /><label for="accept_all" style="position: absolute;margin-top: 4px; margin-left: 5px;font-weight: 400;">应用到子目录</label></span> </div> <div class="bt-form-submit-btn"> <button type="button" class="btn btn-danger btn-sm btn-title layer_close">'+lan["public"].close+'</button> <button type="button" class="btn btn-success btn-sm btn-title set_access_authority">'+lan["public"].ok+"</button> </div> </div>",success:function(e,f){b.edit_access_authority();$("#access").keyup(function(){b.edit_access_authority()});$("input[type=checkbox]").change(function(){var i=["owner","group","public"];var h="";for(var j=0;j<i.length;j++){var g=0;g+=$("#"+i[j]+"_x").prop("checked")?1:0;g+=$("#"+i[j]+"_w").prop("checked")?2:0;g+=$("#"+i[j]+"_r").prop("checked")?4:0;h+=g}$("#access").val(h)});$(".set_access_authority").click(function(){var g=$("#access").val();var j=$("#chown").val();var i=$("#accept_all").prop("checked")?"True":"False";var h={};h={user:j,access:g,all:i};if(a){h.type=c.type;h.path=c.path;h.data=c.filelist}else{h.filename=c.path}b.$http(a?"SetBatchData":"SetFileAccess",h,function(k){if(k.status){layer.close(f);b.reader_file_list({path:b.file_path,is_operating:false})}layer.msg(k.msg,{icon:k.status?1:2})})});$(".layer_close").click(function(){layer.close(f)})}})})},get_present_task_view:function(){this.file_present_task=layer.open({type:1,title:"实时任务队列",area:"500px",closeBtn:2,skin:"present_task_list",shadeClose:false,shade:false,offset:"auto",content:'<div style="margin: 10px;" class="message-list"></div>'})},render_present_task_list:function(){var a=this;this.get_task_req({status:-3},function(b){if(b.length==0){layer.close(a.file_present_task);a.file_present_task=null;a.reader_file_list({path:a.file_path,is_operating:false});return}var d="",c=false;$.each(b,function(e,f){if(f.status==-1){if(!a.file_present_task){a.get_present_task_view()}if(f.type=="1"){d+='<div class="mw-con"> <ul class="waiting-down-list"> <li> <div class="down-filse-name"><span class="fname" style="width:80%;" title="正在下载: '+f.shell+'">正在下载: '+f.shell+'</span><span style="position: absolute;left: 84%;top: 25px;color: #999;">'+f.log.pre+'%</span><span class="btlink" onclick="bt_file.remove_present_task('+f.id+')" style="position: absolute;top: 25px;right: 20px;">取消</span></div> <div class="down-progress"><div class="done-progress" style="width:'+f.log.pre+'%"></div></div> <div class="down-info"><span class="total-size"> '+f.log.used+"/"+ToSize(f.log.total)+'</span><span class="speed-size">'+(f.log.speed==0?"正在连接..":f.log.speed)+'/s</span><span style="margin-left: 20px;">预计还要: '+f.log.time+"</span></div> </li> </ul> </div>"}else{d+='<div class="mw-title"><span style="max-width: 88%;display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">'+f.name+": "+f.shell+'</span><span class="btlink" onclick="bt_file.remove_present_task('+f.id+')" style="position: absolute;top: 10px;right: 15px;">取消</span></div> <div class="mw-con codebg"> <code>'+f.log+"</code> </div>"}}else{if(!c){d+='<div class="mw-title">等待执行任务</div><div class="mw-con"><ul class="waiting-list">';c=true}d+='<li><span class="wt-list-name" style="width: 90%;">'+f.name+": "+f.shell+'</span><span class="mw-cancel" onclick="bt_file.remove_present_task('+f.id+')">X</span></li>'}});if(a.file_present_task){if(c){d+="</ul></div>"}$(".message-list").html(d)}setTimeout(function(){a.render_present_task_list()},1000)})},remove_present_task:function(b){var a=this;layer.confirm("是否取消上传当前列表的文件,若取消上传,已上传的文件,需用户手动删除,是否继续?",{title:"取消上传文件",icon:0},function(c){bt.send("remove_task","task/remove_task",{id:b},function(d){layer.msg(d.msg,{icon:1});layer.close(a.file_present_task);a.file_present_task=null});layer.close(c)})},edit_access_authority:function(){var a=$("#access").val();var c=["owner","group","public"];for(var e=0;e<c.length;e++){$("#"+c[e]+"_x").prop("checked",false);$("#"+c[e]+"_w").prop("checked",false);$("#"+c[e]+"_r").prop("checked",false)}for(var d=0;d<a.length;d++){var b=a.substr(d,1);if(d>c.length){continue}if(b>7){$("#access").val(a.substr(0,a.length-1))}switch(b){case"1":$("#"+c[d]+"_x").prop("checked",true);break;case"2":$("#"+c[d]+"_w").prop("checked",true);break;case"3":$("#"+c[d]+"_x").prop("checked",true);$("#"+c[d]+"_w").prop("checked",true);break;case"4":$("#"+c[d]+"_r").prop("checked",true);break;case"5":$("#"+c[d]+"_r").prop("checked",true);$("#"+c[d]+"_x").prop("checked",true);break;case"6":$("#"+c[d]+"_r").prop("checked",true);$("#"+c[d]+"_w").prop("checked",true);break;case"7":$("#"+c[d]+"_r").prop("checked",true);$("#"+c[d]+"_w").prop("checked",true);$("#"+c[d]+"_x").prop("checked",true);break}}},get_file_authority:function(a,b){this.$http("GetFileAccess",{filename:a.path},function(c){if(b){b(c)}})},set_dir_kill:function(b){var a=this;if(b.ext=="php"){a.$http("file_webshell_check",{filename:b.path},function(c){layer.msg(c.msg,{icon:c.status?1:2})})}else{layer.confirm("目录查杀将包含子目录中的php文件,是否操作?",{title:"目录查杀["+b.filename+"]",closeBtn:2,icon:3},function(c){a.$http("dir_webshell_check",{path:b.path},function(d){layer.msg(d.msg,{icon:d.status?1:2})})})}},path_resolve:function(d,c){var b="",a="";if(!Array.isArray(c)){c=[c]}d.replace(/([\/|\/]*)$/,function(e){a=e;return"www"});$.each(c,function(e,f){b+="/"+f});return(d+b).replace("//","/")},get_ext_name:function(e){var c=e.split(".");var b=["folder","folder-unempty","sql","c","cpp","cs","flv","css","js","htm","html","java","log","mht","php","url","xml","ai","bmp","cdr","gif","ico","jpeg","jpg","JPG","png","psd","webp","ape","avi","mkv","mov","mp3","mp4","mpeg","mpg","rm","rmvb","swf","wav","webm","wma","wmv","rtf","docx","fdf","potm","pptx","txt","xlsb","xlsx","7z","cab","iso","rar","zip","gz","bt","file","apk","bookfolder","folder-empty","fromchromefolder","documentfolder","fromphonefolder","mix","musicfolder","picturefolder","videofolder","sefolder","access","mdb","accdb","fla","doc","docm","dotx","dotm","dot","pdf","ppt","pptm","pot","xls","csv","xlsm"];var d=c[c.length-1];for(var a=0;a<b.length;a++){if(b[a]==d){return b[a]}}return"file"},get_path_filename:function(a){var b=a.split("/");return b[b.length-1]},retrun_prev_path:function(a){var b=a.split("/");b.splice(b.length-1);if(b==""){b=["/"]}return b.join("/")},path_check:function(a){a=a.replace("//","/");if(a==="/"){return a}a=a.replace(/\/+$/g,"");return a},get_file_access:function(b,c){var a=this;this.layerT=bt.load("正在文件权限信息,请稍候...");bt.send("GetFileAccess","files/GetFileAccess",{path:b.path},function(d){a.loadT.close();if(c){c()}})},create_download_url:function(b,c){var a=this;this.layerT=bt.load("正在分享文件,请稍候...");bt.send("create_download_url","files/create_download_url",{filename:b.filename,ps:b.ps,password:b.password,expire:b.expire},function(d){a.layerT.close();if(c){c(d)}})},get_download_url_find:function(b,c){var a=this;this.layerT=bt.load("正在获取分享文件信息,请稍候...");bt.send("get_download_url_find","files/get_download_url_find",{id:b.id},function(d){a.layerT.close();if(c){c(d)}})},remove_download_url:function(b,c){var a=this;layer.confirm("是否取消分享该文件【"+b.fileName+"】,是否继续?",{title:"取消分享",closeBtn:2,icon:3},function(){this.layerT=bt.load("正在取消分享文件,请稍候...");bt.send("remove_download_url","files/remove_download_url",{id:b.id},function(d){if(c){c(d)}})})},get_disk_list:function(a){bt_tools.send("system/GetDiskInfo",function(b){if(a){a(b)}},"获取磁盘列表")},create_file_req:function(b,c){var a=(b.type==="folder"?"CreateDir":"CreateFile");bt.send(a,"files/"+a,{path:b.path},function(d){if(c){c(d)}})},rename_file_req:function(a,b){bt_tools.send("files/MvFile",{sfile:a.sfile,dfile:a.dfile,rename:a.rename||true},function(c){if(b){b(c)}},"执行重命名")},shear_file_req:function(a,b){this.rename_file_req({sfile:a.sfile,dfile:a.dfile,rename:false},function(c){if(b){b(c)}},"执行剪切")},check_exists_files_req:function(b,c){var a=bt.load("正在粘贴文件,请稍候...");bt.send("CheckExistsFiles","files/CheckExistsFiles",{dfile:b.dfile,filename:b.filename},function(d){a.close();if(c){c(d)}})},copy_file_req:function(a,b){bt.send("CopyFile","files/CopyFile",{sfile:a.sfile,dfile:a.dfile},function(c){if(b){b(c)}})},compress_file_req:function(a,b){bt.send("Zip","files/Zip",{sfile:a.sfile,dfile:a.dfile,z_type:a.z_type,path:a.path},function(c){if(b){b(c)}})},get_task_req:function(a,b){bt.send("get_task_lists","task/get_task_lists",{status:a.status},function(c){if(b){b(c)}})},get_file_access:function(){bt.send("GetFileAccess","files/GetFileAccess",{filename:data.filename},function(a){if(callback){callback(a)}})},set_file_access:function(){bt.send("SetFileAccess","files/SetFileAccess",{filename:data.filename,user:data.user,access:data.access,all:data.all},function(a){if(callback){callback(a)}})},del_file_req:function(c,d){var b=(c.type==="dir"?"DeleteDir":"DeleteFile");var a=bt.load("正在删除文件,请稍候...");bt.send(b,"files/"+b,{path:c.path},function(e){a.close();layer.msg(e.msg,{icon:e.status?1:2});if(d){d(e)}})},down_file_req:function(a,b){window.open("/download?filename="+encodeURIComponent(a.path))},get_file_size:function(a,b){bt_tools.send("files/get_path_size",{path:a.path},b,"获取文件目录大小")},get_dir_size:function(a,b){bt_tools.send("files/GetDirSize",{path:a.path},function(c){$("#file_all_size").text(c);if(b){b(c)}},{tips:"获取目录大小",verify:false})},get_dir_list:function(c,d){var b=this,a=bt.get_cookie("files_sort");if(a){c.sort=a;c.reverse=bt.get_cookie("name_reverse")}bt_tools.send("files/GetDir",$.extend({p:1,showRow:bt.get_storage("local","showRow")||b.file_page_num,path:bt.get_cookie("Path")||c.path},c),d,{tips:false})},compress_file_or_dir:function(b,c){var a=this;console.log(b);$(".selection_right_menu").removeAttr("style");this.reader_form_line({url:"Zip",overall:{width:"310px"},data:[{label:"压缩类型",type:"select",name:"z_type",value:b.open,list:[["tar_gz","tar.gz (推荐)"],["zip","zip (通用格式)"],["rar","rar (WinRAR对中文兼容较好)"]]},{label:"压缩路径",id:"compress_path",name:"dfile",placeholder:"保存的文件名",value:b.path+"_"+bt.get_random(6)+"."+(b.open=="tar_gz"?"tar.gz":b.open)}],beforeSend:function(d){var f=b.path.lastIndexOf("/"),e=b.path.substring(0,f+1);return{sfile:b.filename,dfile:d.dfile,z_type:(d.z_type=="tar_gz"?"tar.gz":d.z_type),path:e}}},function(e,d){var f=layer.open({type:1,title:"压缩"+b.type_tips+"[ "+b.filename+" ]",area:"480px",shadeClose:false,closeBtn:2,skin:"compress_file_view",btn:["压缩","关闭"],content:d[0].outerHTML,success:function(){$("select[name=z_type]").change(function(){var h=$(this).val(),g=$("input[name=dfile]").val(),i=[];h=="tar_gz"?"tar.gz":h;g=g.substring(0,g.lastIndexOf("/"));i=g.split("/");$("input[name=dfile]").val(g+"/"+(c?i[i.length-1]:b.filename)+"_"+bt.get_random(6)+"."+h)});$(".compress_file_view .line:nth-child(2)").find(".info-r").append('<span class="glyphicon glyphicon-folder-open cursor" style="margin-left: 10px;" onclick="ChangePath(\'compress_path\')"></span>')},yes:function(){var g=e.getVal();if(g.dfile==""){return layer.msg("请选择有效的地址",{icon:2})}e.submitForm(function(i,h){setTimeout(function(){a.reader_file_list({path:h.path})},1000);if(i==null||i==undefined){layer.msg(lan.files.zip_ok,{icon:1})}if(i.status){a.render_present_task_list()}layer.close(f)})}})})},unpack_file_to_path:function(d){var c=this,a="zip",b="";b=d.path.substring(0,d.path.lastIndexOf("/"));this.reader_form_line({url:"UnZip",overall:{width:"310px"},data:[{label:"文件名",name:"z_name",placeholder:"压缩文件名",value:d.path},{label:"解压到",name:"z_path",placeholder:"解压路径",value:b},{label:"编码",name:"z_code",type:"select",value:"UTF-8",list:[["UTF-8","UTF-8"],["gb18030","GBK"]]}],beforeSend:function(e){return{sfile:e.z_name,dfile:e.z_path,type:a,coding:e.z_code,password:e.z_password}}},function(f,e){var g=layer.open({type:1,title:"解压文件 [ "+d.filename+" ]",area:"480px",shadeClose:false,closeBtn:2,skin:"unpack_file_view",btn:["解压","关闭"],content:e[0].outerHTML,success:function(){if(d.ext=="gz"){a="tar"}if(a=="zip"){$(".unpack_file_view .line:nth-child(2)").append('<div class="line"><span class="tname">解压密码</span><div class="info-r"><input type="text" name="z_password" class="bt-input-text " placeholder="无密码则留空" style="width:310px" value=""></div></div>')}},yes:function(){var h=f.getVal();if(h.z_name==""){return layer.msg("请输入文件名路径",{icon:2})}if(h.z_path==""){return layer.msg("请输入解压地址",{icon:2})}f.submitForm(function(j,i){layer.close(g);setTimeout(function(){c.reader_file_list({path:i.path})},1000);if(j.status){c.render_present_task_list()}layer.msg(j.msg,{icon:j.status?1:2})})}})})},match_unqualified_string:function(a){var b=RegExp(/[(\*)(\|)(\\)(\:)(\")(\/)(\<)(\>)(\?)(\)]+/);return b.test(a)},reader_form_line:function(a,g){var e=this,d=bt.get_random(10),b=$('<form id="'+d+'" class="bt-form pd20"></form>'),f=a,c=[],e=this;if(!Array.isArray(a)){f=a.data}$.each(f,function(k,m){var h=m.labelWidth||a.overall.labelWidth||null,i=bt.get_random(10),l=m.labelWidth||a.overall.width||null,j=$('<div class="line"><span class="tname" '+(h?("width:"+h):"")+">"+(m.label||"")+'</span><div class="info-r"></div></div>'),n=$((function(){switch(m.type){case"select":return"<select "+(m.disabled?"disabled":"")+" "+(m.readonly?"readonly":"")+' class="bt-input-text mr5 '+(m.readonly?"readonly-form-input":"")+'" name="'+m.name+'" '+(m.eventType?'data-event="'+i+'"':"")+' style="'+(l?("width:"+l):"")+'">'+(function(p){var o="";$.each(p.list,function(r,q){if(!Array.isArray(q)){o+='<option value="'+q+'" '+(p.value===r?"selected":"")+">"+q+"</option>"}else{o+='<option value="'+q[0]+'" '+(p.value===q[0]?"selected":"")+">"+q[1]+"</option>"}});return o}(m))+"</select>";break;case"text":default:return"<input "+(m.disabled?"disabled":"")+" "+(m.readonly?"readonly":"")+" "+(m.eventType?'data-event="'+i+'"':"")+' type="text" name="'+m.name+'" '+(m.id?'id="'+m.id+'"':"")+' class="bt-input-text '+(m.readonly?"readonly-form-input":"")+'" placeholder="'+(m.placeholder||"")+'" style="'+(l?("width:"+l):"")+'" value="'+(m.value||"")+'"/>';break}}(m)));if(m.eventType||m.event){if(!Array.isArray(m.eventType)){m.eventType=[m.eventType]}$.each(m.eventType,function(p,o){c.push({el:i,type:o||"click",event:m[o]||null});if(a.el){var q=$('[data-event="'+m.el+'"]');if(m[o]){if(o=="enter"){q.on("keyup",function(s){if(s.keyCode==13){m.event(s)}})}else{q.on(m||"click",m.event)}}else{if(o=="focus"){var r=q.val();if(r!=""){q.val("").focus().val(r)}}else{q[o]()}}}})}j.find(".info-r").append(n);b.append(j)});if(a.el){$(a.el).empty().append(b)}if(g){g({getVal:function(){return $("#"+d).serializeObject()},setEvent:function(){$.each(c,function(h,j){var i=$('[data-event="'+j.el+'"]');if(j.event===null){if(j.type=="focus"){var k=i.val();if(k!=""){i.val("").focus().val(k)}}else{i[j.type]()}}else{if(j.type=="enter"){i.on("keyup",function(l){if(l.keyCode==13){j.event(l)}})}else{i.on(j.type,j.event)}}})},submitForm:function(i){var h=this.getVal();if(a.beforeSend){h=a.beforeSend(h)}e.loadT=bt.load("提交表单内容");bt.send(a.url,("files/"+a.url),h,function(j){e.loadT.close();if(i){i(j,h)}})}},b)}},$http:function(c,b,e){var a=this,d="";if(typeof c=="string"){if(typeof b!="object"){e=b,b={}}if(!Array.isArray(a.method_list[c])){a.method_list[c]=["files",a.method_list[c]]}a.$http({method:c,tips:(a.method_list[c][1]?"正在"+a.method_list[c][1]+",请稍候...":false),module:a.method_list[c][0],data:b,msg:true},e)}else{if(typeof c.tips!="undefined"&&c.tips){d=bt.load(c.tips)}bt.send(c.method,(c.module||"files")+"/"+c.method,c.data||{},function(f){if(d!=""){d.close()}if(typeof f=="string"){f=JSON.parse(f)}if(f.status===false&&f.msg){bt.msg(f);return false}if(b){b(f)}})}}};bt_file.init();Function.prototype.delay=function(a,c,b){if(!Array.isArray(c)){b=c,c=[]}if(typeof b=="undefined"){b=0}setTimeout(this.apply(a,c),b);return this};jQuery.prototype.serializeObject=function(){var b,g,d,c,f;b=this.serializeArray();g={};d=g.hasOwnProperty;for(c=0;c<b.length;c++){f=b[c];if(!d.call(g,f.name)){g[f.name]=f.value}}return g};
Close