/** * 取回数据库列表 * @param {Number} page 页码 */ function getData(page,search) { search = $("#SearchValue").prop("value"); order = getCookie('order'); if(order){ order = '&order=' + order; }else{ order = ''; } var sUrl = '/data?action=getData'; var sUrlData='tojs=getData&table=databases&limit=15&p='+page+'&search='+search + order; var loadT = layer.load(); $.post(sUrl, sUrlData,function(data) { layer.close(loadT); //构造数据列表 var Body = ''; if(data.data == ""){ Body=""+lan.database.empty+""; $("#DataPage").hide() } else{ $("#DataPage").show(); for (var i = 0; i < data.data.length; i++) { if(data.data[i].backup_count==0){ var isback = ""+lan.database.backup_empty+"" }else{ var isback = ""+lan.database.backup_ok+"" } Body += "\ " + data.data[i].name + "\ " + data.data[i].username + "\ **********\ "+isback+" | "+lan.database.input+"\ " + data.data[i].ps + "\ \ "+lan.database.admin+" | \ "+lan.database.auth+" | \ "+lan.database.edit_pass+" | \ "+lan.public.del+"\ " } } //输出数据列表 $("#DataBody").html(Body); //输出分页 $("#DataPage").html(data.page); $("#DataPage .Pcount").css("position","static"); //备注 $(".btlinkbed").click(function(){ var dataid = $(this).attr("data-id"); var databak = $(this).text(); $(this).hide().after(""); $(".baktext").focus(); }); showHidePwd(); }); } /** *添加数据库 * @param {Number} sign 操作标识 * @param {String} name 数据库名 * @param {String} type 数据库类型 * @param {Boolean} adduser 是否添加新用户 * @param {String} bak 备注 */ function DataAdd(sign){ if(sign==0){ var index = layer.open({ type: 1, skin: 'demo-class', area: '480px', title: lan.database.add_title, closeBtn: 2, shift: 5, shadeClose: false, content: "
\
\ "+lan.database.add_name+"
\ \ \
\
\
\ 用户名
\ "+lan.database.add_pass+"
\
\
\ "+lan.database.add_auth+"\
\ \ \
\
\ \
\ \ \
\
" }); $("#dataAccess").change(function(){ var access = $(this).val(); if(access == 'ip'){ $("input[name=address]").show().val(''); }else{ $("input[name=address]").hide(); } }); $("#db_name").change(function(){ $("input[name='db_user']").val($(this).val()); }); }else{ var loadT=layer.load({shade:true,shadeClose:false}); var access = $("#dataAccess").val(); if(access != 'ip') $("input[name=address]").val(access); var data = $("#DataAdd").serialize(); $.post('/database?action=AddDatabase',data,function(rdata){ if(rdata.status){ getData(1); layer.closeAll(); layer.msg(rdata.msg,{icon:1}); }else{ layer.closeAll(); layer.msg(rdata.msg,{icon:2}); } }); } } /** *设置数据库密码 * @param {Number} sign 操作标识 * @param {String} passwd 数据库新密码 */ function DataSetuppwd(sign, passwd) { if (sign == 0) { $.post('/data?action=getKey','table=config&key=mysql_root&id=1',function(rdata){ var mypasswd=rdata; var index = layer.open({ type: 1, skin: 'demo-class', area: '500px', title: lan.database.edit_pass_title, closeBtn: 2, shift: 5, shadeClose: false, content: "
\
\ "+lan.database.edit_root+":
\
\
\ \ \
\
" }); RandomStrPwd(16); $("#MyPassword").focus().keyup(function(e){ if(e.keyCode == 13) $("#PostPwBtn").click(); }); }); } else { var loadT=layer.msg(lan.public.the,{icon:16,time:0}); var newPassword = $("#MyPassword").val(); var data = 'password='+encodeURIComponent(newPassword); $.post('/database?action=SetupPassword',data,function(rdata){ if(rdata.status){ getData(1); layer.closeAll(); layer.msg(rdata.msg,{icon:1}); setTimeout(function(){window.location.reload();},3000); }else{ layer.close(loadT); layer.msg(rdata.msg,{icon:2}); } }); } } /** * 重置数据库密码 * @param {Number} sign 操作标识 * @param {String} passwd 数据库密码 */ function DataRespwd(sign,id,username){ if(sign==0){ layer.open({ type:1, skin:'demo-class', area:'450px', title:lan.database.edit_pass_title, closeBtn:2, shift:5, shadeClose:false, content:"
\
\ \ "+lan.database.user+":
\
\
\ "+lan.database.edit_pass_new+":
\
\
\ \ \
\
" }); return; } layer.confirm(lan.database.edit_pass_confirm,{title:lan.database.edit_pass_title,icon:3,closeBtn:2},function(index){ if(index>0){ var loadT=layer.load({shade:true,shadeClose:false}); var data = 'username='+encodeURIComponent($("#DataRespwd input[name='username']").val()) + '&password=' + encodeURIComponent($("#DataRespwd input[name='password']").val()) + '&id=' + $("#DataRespwd input[name='id']").val(); $.post('/database?action=ResDatabasePassword',data,function(rdata){ getData(1); layer.closeAll(); layer.msg(rdata.msg,{icon:rdata.status?1:2}); }); } }); } /** *数据库管理详细信息 * @param {Number} id 数据库编号 * @param {String} dataname 数据库名称 */ function DataDetails(id,dataname,page){ if(page == undefined){ page = '1'; } var loadT = layer.msg(lan.public.the_get,{icon:16,time:0}); $.post('/data?action=getFind','table=databases&id='+id,function(rdata){ $.post('/data?action=getData','table=backup&search='+id+'&limit=5&p=1&type=1&tojs=DataDetails&p='+page,function(frdata){ layer.close(loadT); var ftpdown = ''; var body=''; var port; frdata.page = frdata.page.replace(/'/g,'"').replace(/DataDetails\(/g,"DataDetails(" + id + ",0,"); for(var i=0;i"+lan.public.download+""; }else{ var ftpdown = ""+lan.database.backup_re+" | "+lan.public.download+""; } body += ""+frdata.data[i].name+"\ "+(ToSize(frdata.data[i].size))+"\ "+frdata.data[i].addtime+"\ \ "+ftpdown+" | "+lan.public.del+"\ \ " } if(dataname == 0){ var sBody = "\ \ "+body+"\
"+lan.database.backup_name+""+lan.database.backup_size+""+lan.database.backup_time+""+lan.public.action+"
" $("#DataBackupList").html(sBody); $(".page").html(frdata.page); return; } layer.closeAll(); layer.open({ type: 1, skin: 'demo-class', area: '700px', title: lan.database.backup_title, closeBtn: 2, shift: 5, shadeClose: false, content:"
\ \
\
\ \ "+body+"\
"+lan.database.backup_name+""+lan.database.backup_size+""+lan.database.backup_time+""+lan.public.action+"
"+frdata.page+"
" }); }); }); } //恢复数据库备份 function RecoveryData(fileName,dataName){ layer.confirm(lan.database.input_confirm,{title:lan.database.input_title,icon:3,closeBtn:2},function(index){ var loadT =layer.msg(lan.database.input_the, {icon:16,time:0,shade: [0.3, '#000']}); $.post('/database?action=InputSql','file='+fileName+'&name='+dataName,function(rdata){ layer.close(loadT); layer.msg(rdata.msg,{icon:rdata.status?1:2}); }); }); } /** *设置数据库备份 * @param {Number} id 数据库编号 * @param {String} dataname 数据库名称 */ function DataBackup(id,dataname){ var loadT =layer.msg(lan.database.backup_the, {icon:16,time:0,shade: [0.3, '#000']}); $.post('/database?action=ToBackup', "id="+id, function(rdata) { layer.closeAll(); layer.msg(rdata.msg,{icon:rdata.status?1:2}); DataDetails(id,dataname); }); } /** *删除数据库备份 * @param {Number} id 数据库编号 * @param {String} dataname 数据库名称 */ function DataBackupDelete(typeid,id,dataname){ layer.confirm(lan.database.backup_del_confirm,{title:lan.database.backup_del_title,icon:3,closeBtn:2},function(index){ var loadT=layer.load({shade:true,shadeClose:false}); $.post('/database?action=DelBackup','id='+id,function(frdata){ layer.closeAll(); layer.msg(frdata.msg,{icon:frdata.status?1:2}); DataDetails(typeid,dataname); }); }); } /** *删除数据库 * @param {Number} id 数据编号 */ function DataDelete(id,name){ SafeMessage(lan.get('del',[name]),lan.get('confirm_del',[name]),function(){ deleteDatabase(id,name); }); } //删除操作 function deleteDatabase(id,name){ var loadT = layer.msg(lan.get('del_all_task_the',[name]),{icon:16,time:0,shade: [0.3, '#000']}); $.post('/database?action=DeleteDatabase','id='+id+'&name='+name,function(frdata){ getData(1); layer.close(loadT); layer.msg(frdata.msg,{icon:frdata.status?1:2}); }); } //批量删除 function allDeleteDatabase(){ var checkList = $("input[name=id]"); var dataList = new Array(); for(var i=0;i"+lan.get('del_all_database',[dataList.length])+"",function(){ layer.closeAll(); syncDelete(dataList,0,''); }); } //模拟同步开始批量删除数据库 function syncDelete(dataList,successCount,errorMsg){ if(dataList.length < 1) { layer.msg(lan.get('del_all_database_ok',[successCount]),{icon:1}); return; } var loadT = layer.msg(lan.get('del_all_task_the',[dataList[0].name]),{icon:16,time:0,shade: [0.3, '#000']}); $.ajax({ type:'POST', url:'/database?action=DeleteDatabase', data:'id='+dataList[0].id+'&name='+dataList[0].name, async: true, success:function(frdata){ layer.close(loadT); if(frdata.status){ successCount++; $("input[title='"+dataList[0].name+"']").parents("tr").remove(); }else{ if(!errorMsg){ errorMsg = '

'+lan.database.del_all_err+'

'; } errorMsg += '
  • '+dataList[0].name+' -> '+frdata.msg+'
  • ' } dataList.splice(0,1); syncDelete(dataList,successCount,errorMsg); } }); } /** * 选中项操作 */ function goSet(num){ //取选中对象 var el = document.getElementsByTagName('input'); var len = el.length; var data=''; var a = ''; var count = 0; //构造POST数据 for(var i=0;i5 || extLastName.length < 2){ return "file"; } for(var i=0; i" + fmp[0] + "\ " + ((fmp[2].length > 11)?fmp[2]:getLocalTime(fmp[2])) + "\ " + (ToSize(fmp[1])) + "\ \ "+lan.database.input+"\ \ "; } layer.open({ type: 1, skin: 'demo-class', area: '600px', title: lan.database.input_title_file, closeBtn: 2, shift: 5, shadeClose: false, content: '
    ' +'' +'
    ' +'' +'' +'' +'' +'' +'' +'' +'' +'' +''+Body+'' +'
    '+lan.files.file_name+''+lan.files.file_etime+''+lan.files.file_size+''+lan.public.action+'
    ' +'
    ' +'
      ' +'
    • '+lan.database.input_ps1+'
    • ' +'
    • '+lan.database.input_ps2+'
    • ' +'
    • '+lan.database.input_ps3+'
    • ' +'
    ' +'
    ' }); }); } //上传文件 function UploadFiles1(name){ var path = getCookie('backup_path') + "/database/"; var index = layer.open({ type:1, closeBtn: 2, title:lan.files.up_title+' --- '+lan.database.input_up_type+'', area: ['500px','500px'], shadeClose:false, content:'
    \ \ \ \ \ \ '+lan.files.up_coding+':\ \ \ \
      ' }); $("#filesClose").click(function(){ layer.close(index); InputDatabase(name); }); UploadStart(true); } //设置访问权限 function SetDatabaseAccess(dataName,action){ if(action == 1){ var access = $("#dataAccess").val(); if(access == 'ip') access = $("input[name=address]").val(); layer.msg(lan.public.the,{icon:16,time:0,shade: [0.3, '#000']}); $.post('/database?action=SetDatabaseAccess','name='+dataName+'&access='+access,function(rdata){ layer.closeAll(); layer.msg(rdata.msg,{icon:rdata.status?1:2}); }); return; } $.post('/database?action=GetDatabaseAccess','name='+dataName,function(rdata){ if(rdata == null){ layer.msg(lan.database.auth_err,{icon:2}); return; } layer.open({ type: 1, skin: 'demo-class', area: '480px', title: lan.database.auth_title+'['+dataName+']', closeBtn: 2, shift: 5, shadeClose: false, content: "
      \
      \ "+lan.database.auth_name+"\
      \ \ \
      \
      \
      \ \ \
      \
      " }); $("#dataAccess").change(function(){ var access = $(this).val(); if(access == 'ip'){ $("input[name=address]").show().val(''); }else{ $("input[name=address]").hide(); } }); }); } //同步到数据库 function SyncToDatabases(type){ //取选中对象 var el = document.getElementsByTagName('input'); var len = el.length; var data=[]; //构造POST数据 for(var i=0;i