Files
aaPanel/BTPanel/templates/default/ftp.html
T
2019-06-20 16:29:37 +08:00

174 lines
7.2 KiB
HTML

{% extends "layout.html" %}
{% block content %}
<div class="main-content pb55">
<div class="container-fluid">
<div class="pos-box bgw mtb15">
<div class="position f14 c9 pull-left">
<a class="plr10 c4" href="/">{{data['lan']['H1']}}</a>/<span class="plr10 c4">{{data['lan']['H2']}}</span>
</div>
<div class="search pull-right">
<form target="hid" onsubmit='ftp.get_list(1,$("#SearchValue").prop("value"))'>
<input type="text" id="SearchValue" class="ser-text pull-left" placeholder="{{data['lan']['SEARCH']}}" />
<button type="button" class="ser-sub pull-left" onclick='ftp.get_list(1,$("#SearchValue").prop("value"))'></button>
</form>
<iframe name='hid' id="hid" style="display:none"></iframe>
</div>
</div>
<div class="safe bgw mtb15 pd15">
<div class="info-title-tips">
<p><span class="glyphicon glyphicon-alert" style="color: #f39c12; margin-right: 10px;"></span>{{data['lan']['PS']}} ftp://{{session['address']}}:{{session['port']}}</p>
</div>
<button onclick="ftp.add_user()" class="btn btn-success btn-sm" type="button">{{data['lan']['BTN1']}}</button>
<button onclick="ftp.set_port()" class="btn btn-default btn-sm" type="button" style="margin-left:5px">{{data['lan']['BTN2']}}</button>
<span style="float:right">
<button batch="true" style="float: right;display: none;margin-left:10px;" onclick="ftp.batch_ftp('del');" class="btn btn-default btn-sm">{{data['lan']['BTN3']}}</button>
</span>
<div class="divtable mtb10">
<div class="tablescroll">
<table id="ftpData" class="table table-hover" style="min-width: 900px;border: 0 none;">
</table>
</div>
<div class="dataTables_paginate paging_bootstrap page">
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block scripts %}
<script type="text/javascript">
var ftp = {
get_list:function(page,search){
if(page==undefined) page=1;
bt.ftp.get_list(page,search,function(rdata){
$('.dataTables_paginate').html(rdata.page);
var _tab = bt.render({
table:'#ftpData',
columns:[
{ field:'id',type:'checkbox',width:30},
{ field: 'name', title: lan.ftp.add_user,width:'20%'},
{ field: 'password',width:'15%', title: lan.ftp.add_pass,templet : function(item){
var _html = '<span class="password" data-pw="'+item.password+'">**********</span>';
_html += '<span onclick="bt.pub.show_hide_pass(this)" class="glyphicon glyphicon-eye-open cursor pw-ico" style="margin-left:10px"></span>';
_html += '<span class="ico-copy cursor btcopy" style="margin-left:10px" title="'+lan.ftp.copy+'" data-pw="'+item.password+'" onclick="bt.pub.copy_pass(\''+item.password+'\')"></span>';
return _html;
}},
{ field: 'status', title: lan.ftp.status,templet:function(item){
var _status = '<a href="javascript:;" title="'+lan.ftp.ftp_user+'"';
if(item.status=='1'){
_status+=' onclick="ftp.stop_user('+item.id+',\''+item.name+'\') " >';
_status+='<span style="color:#5CB85C">'+lan.ftp.start+' </span><span style="color:#5CB85C" class="glyphicon glyphicon-play"></span>';
}
else{
_status+=' onclick="ftp.start_user('+item.id+',\''+item.name+'\')"';
_status+='<span style="color:red">'+lan.ftp.stop+' </span><span style="color:red" class="glyphicon glyphicon-pause"></span>';
}
return _status;
},sort:function(){
ftp.get_list();
}},
{ field: 'path', title: lan.ftp.add_path,templet:function(item){
var _path = bt.format_path(item.path);
return '<a class="btlink" title="'+lan.ftp.open_path+'" href="javascript:openPath(\''+_path+'\');">'+_path+'</a>';
}},
{ field: 'ps', title: lan.ftp.add_ps,templet : function(item){
return "<span class='c9 input-edit' onclick=\"bt.pub.set_data_by_key('ftps','ps',this)\">"+item.ps+ "</span>";
}},
{ field: 'opt',width:130, title: lan.ftp.operate,align:'right',templet:function(item){
var option = "<a href=\"javascript:;\" class=\"btlink\" onclick=\"ftp.set_password("+item.id+",'"+item.name+"','"+item.password+"')\" title="+lan.ftp.change_pass+">"+lan.ftp.edit_pass+"</a> | ";
option += "<a href=\"javascript:;\" class=\"btlink\" onclick=\"ftp.del("+item.id+",'"+item.name+"')\" title="+lan.ftp.del_ftp_title+">"+lan.ftp.del+"</a>";
return option;
}},
],
data:rdata.data
})
})
},
batch_ftp:function(type,arr,result){
if(arr == undefined){
arr = [];
result = {count:0,error_list:[]};
$('input[type="checkbox"].check:checked').each(function(){
var _val = $(this).val();
if(!isNaN(_val)) arr.push($(this).parents('tr').data('item'));
})
bt.show_confirm(lan.ftp.del_all,"<a style='color:red;'>"+lan.get('del_all_ftp',[arr.length])+"</a>",function(){
bt.closeAll();
ftp.batch_ftp(type,arr,result);
});
return;
}
var item = arr[0];
switch(type){
case 'del':
if(arr.length<1){
ftp.get_list();
bt.msg({msg:lan.get('del_all_ftp_ok',[result.count]),icon:1,time:5000});
return;
}
bt.ftp.del(item.id,item.name,function(rdata){
if(rdata.status){
result.count+=1;
}else{
result.error_list.push({name:item.item,err_msg:rdata.msg});
}
arr.splice(0,1)
ftp.batch_ftp(type,arr,result);
})
break;
}
},
del:function(id,ftp_username){
bt.show_confirm(lan.public.del+"["+ftp_username+"]",lan.get('confirm_del',[ftp_username]),function(){
bt.ftp.del(id,ftp_username,function(rdata){
if(rdata.status) ftp.get_list();
bt.msg(rdata);
})
})
},
add_user:function(){
bt.ftp.add(function(rdata){
if(rdata.status) ftp.get_list();
})
},
set_password:function(id,name,password){
var bs = bt.ftp.set_password(function(rdata){
if(rdata.status) ftp.get_list();
})
$('.id'+bs).val(id);
$('.ftp_username'+bs).val(name);
$('.new_password'+bs).val(password);
},
set_port:function(){
var bs = bt.ftp.set_port(function(rdata){
if(rdata.status) ftp.get_list();
})
$('.port'+bs).val('{{session["port"]}}');
},
stop_user:function(id,username){
bt.confirm({msg:lan.ftp.stop_confirm.replace('{1}',username),title:lan.ftp.stop_title},function(index){
bt.ftp.set_status(id,username,0,function(rdata){
if(rdata.status) ftp.get_list();
})
})
},
start_user:function(id,username){
bt.ftp.set_status(id,username,1,function(rdata){
if(rdata.status) ftp.get_list();
})
}
}
bt.set_cookie('sites_path',"{{session['config']['sites_path']}}");
{% if not data['isSetup'] %}
layer.msg('{{data["lan"]["JS1"]}}<a href="/soft" style="color:#20a53a; float: right;">{{data["lan"]["JS2"]}}</a>',{icon:7,time:0,shade: [0.3, '#000']});
$(".layui-layer-shade").css("margin-left", "200px");
{% else %}
ftp.get_list();
{% endif %}
</script>
{% endblock %}