pull/109/head
midoks 6 years ago
parent 682e91ed23
commit 463c54c3ed
  1. 57
      plugins/mysql/index.py
  2. 10
      plugins/mysql/js/mysql.js
  3. 82
      plugins/php/js/php.js

@ -800,6 +800,61 @@ def setDbAccess():
psdb.where('username=?', (name,)).save('accept', (access,)) psdb.where('username=?', (name,)).save('accept', (access,))
return public.returnJson(True, '设置成功!') return public.returnJson(True, '设置成功!')
def getDbInfo():
args = getArgs()
data = checkArgs(args, ['name'])
if not data[0]:
return data[1]
db_name = args['name']
pdb = pMysqlDb()
# print 'show tables from `%s`' % db_name
table_res = pdb.query('show tables from `%s`' % db_name)
isError = isSqlError(table_res)
if isError != None:
return isError
tables = mapToList(table_res)
ret = {}
if type(tables) == list:
try:
data = mapToList(pdb.query(
"select sum(DATA_LENGTH)+sum(INDEX_LENGTH) from information_schema.tables where table_schema='%s'" % db_name))[0][0]
except:
data = 0
if not data:
data = 0
ret['data_size'] = public.toSize(data)
ret['database'] = db_name
ret3 = []
for i in tables:
if i == 1049:
return public.returnJson(False, '指定数据库不存在!')
table = mapToList(
pdb.query("show table status from `%s` where name = '%s'" % (db_name, i[0])))
if not table:
continue
try:
ret2 = {}
ret2['type'] = table[0][1]
data_size = table[0][6]
ret2['rows_count'] = table[0][4]
ret2['collation'] = table[0][14]
ret2['data_size'] = public.toSize(int(data_size))
ret2['table_name'] = i[0]
ret3.append(ret2)
except:
continue
ret['tables'] = (ret3)
return public.getJson(ret)
if __name__ == "__main__": if __name__ == "__main__":
func = sys.argv[1] func = sys.argv[1]
if func == 'status': if func == 'status':
@ -856,5 +911,7 @@ if __name__ == "__main__":
print getDbAccess() print getDbAccess()
elif func == 'set_db_access': elif func == 'set_db_access':
print setDbAccess() print setDbAccess()
elif func == 'get_db_info':
print getDbInfo()
else: else:
print 'error' print 'error'

@ -861,7 +861,15 @@ function openPhpmyadmin(name,username,password){
setTimeout(function(){ setTimeout(function(){
$("#toPHPMyAdmin").submit(); $("#toPHPMyAdmin").submit();
},200); },200);
}
function repTools(dbname){
console.log(dbname);
myPost('get_db_info', {name:dbname}, function(data){
console.log(data);
var rdata = $.parseJSON(data.data);
console.log(rdata);
});
} }
function dbList(page, search){ function dbList(page, search){
@ -892,7 +900,7 @@ function dbList(page, search){
list += '<td><span class="c9 input-edit" onclick="setDataByKey(\'databases\',\'ps\',this)" style="display: inline-block;">'+rdata.data[i]['ps']+'</span></td>'; list += '<td><span class="c9 input-edit" onclick="setDataByKey(\'databases\',\'ps\',this)" style="display: inline-block;">'+rdata.data[i]['ps']+'</span></td>';
list += '<td style="text-align:right">' + list += '<td style="text-align:right">' +
'<a href="javascript:;" class="btlink" onclick="openPhpmyadmin(\''+rdata.data[i]['name']+'\',\''+rdata.data[i]['username']+'\',\''+rdata.data[i]['password']+'\')" title="数据库管理">管理</a> | ' + '<a href="javascript:;" class="btlink" onclick="openPhpmyadmin(\''+rdata.data[i]['name']+'\',\''+rdata.data[i]['username']+'\',\''+rdata.data[i]['password']+'\')" title="数据库管理">管理</a> | ' +
'<a href="javascript:;" class="btlink" title="MySQL优化修复工具">工具</a> | ' + '<a href="javascript:;" class="btlink" onclick="repTools(\''+rdata.data[i]['name']+'\')" title="MySQL优化修复工具">工具</a> | ' +
'<a href="javascript:;" class="btlink" onclick="setDbAccess(\''+rdata.data[i]['username']+'\')" title="设置数据库权限">权限</a> | ' + '<a href="javascript:;" class="btlink" onclick="setDbAccess(\''+rdata.data[i]['username']+'\')" title="设置数据库权限">权限</a> | ' +
'<a href="javascript:;" class="btlink" onclick="setDbPass('+rdata.data[i]['id']+',\''+ rdata.data[i]['username'] +'\',\'' + rdata.data[i]['password'] + '\')">改密</a> | ' + '<a href="javascript:;" class="btlink" onclick="setDbPass('+rdata.data[i]['id']+',\''+ rdata.data[i]['username'] +'\',\'' + rdata.data[i]['password'] + '\')">改密</a> | ' +
'<a href="javascript:;" class="btlink" onclick="delDb(\''+rdata.data[i]['id']+'\',\''+rdata.data[i]['name']+'\')" title="删除数据库">删除</a>' + '<a href="javascript:;" class="btlink" onclick="delDb(\''+rdata.data[i]['id']+'\',\''+rdata.data[i]['name']+'\')" title="删除数据库">删除</a>' +

@ -449,88 +449,6 @@ function phpLibConfig(version){
} }
//设置PATHINFO
// function setPathInfo(version, type) {
// var loadT = layer.msg(lan.public.the, { icon: 16, time: 0, shade: [0.3, '#000'] });
// $.post('/config?action=setPathInfo', 'version=' + version + '&type=' + type, function(rdata) {
// var pathinfo = (type == 'on') ? true : false;
// var pathinfoOpt = '<a style="color:red;" href="javascript:SetPathInfo(\'' + version + '\',\'off\');">' + lan.public.off + '</a>'
// if (!pathinfo) {
// pathinfoOpt = '<a class="link" href="javascript:SetPathInfo(\'' + version + '\',\'on\');">' + lan.public.on + '</a>'
// }
// var pathinfo1 = '<td>PATH_INFO</td><td>' + lan.soft.php_menu_ext + '</td><td>' + lan.soft.mvc_ps + '</td><td><span class="ico-' + (pathinfo ? 'start' : 'stop') + ' glyphicon glyphicon-' + (pathinfo ? 'ok' : 'remove') + '"></span></td><td style="text-align: right;" width="50">' + pathinfoOpt + '</td>';
// $("#pathInfo").html(pathinfo1);
// $(".bt-w-menu .bgw").attr('onclick', "SetPHPConfig('" + version + "'," + pathinfo + ",1)");
// $(".bt-w-menu .bgw a").attr('href', "javascript:SetPHPConfig('" + version + "'," + pathinfo + ",1);");
// layer.msg(rdata.msg, { icon: 1 });
// });
// }
//PHP扩展配置
// function setPHPConfig(version, pathinfo, go) {
// $.get('/ajax?action=GetPHPConfig&version=' + version, function(rdata) {
// var body = ""
// var opt = ""
// for (var i = 0; i < rdata.libs.length; i++) {
// if (rdata.libs[i].versions.indexOf(version) == -1) continue;
// if (rdata.libs[i]['task'] == '-1' && rdata.libs[i].phpversions.indexOf(version) != -1) {
// opt = '<a style="color:green;" href="javascript:messageBox();">' + lan.soft.the_install + '</a>'
// } else if (rdata.libs[i]['task'] == '0' && rdata.libs[i].phpversions.indexOf(version) != -1) {
// opt = '<a style="color:#C0C0C0;" href="javascript:messageBox();">' + lan.soft.sleep_install + '</a>'
// } else if (rdata.libs[i].status) {
// opt = '<a style="color:red;" href="javascript:UninstallPHPLib(\'' + version + '\',\'' + rdata.libs[i].name + '\',\'' + rdata.libs[i].title + '\',' + pathinfo + ');">' + lan.soft.uninstall + '</a>'
// } else {
// opt = '<a class="btlink" href="javascript:InstallPHPLib(\'' + version + '\',\'' + rdata.libs[i].name + '\',\'' + rdata.libs[i].title + '\',' + pathinfo + ');">' + lan.soft.install + '</a>'
// }
// body += '<tr>' +
// '<td>' + rdata.libs[i].name + '</td>' +
// '<td>' + rdata.libs[i].type + '</td>' +
// '<td>' + rdata.libs[i].msg + '</td>' +
// '<td><span class="ico-' + (rdata.libs[i].status ? 'start' : 'stop') + ' glyphicon glyphicon-' + (rdata.libs[i].status ? 'ok' : 'remove') + '"></span></td>' +
// '<td style="text-align: right;">' + opt + '</td>' +
// '</tr>'
// }
// var pathinfoOpt = '<a style="color:red;" href="javascript:SetPathInfo(\'' + version + '\',\'off\');">' + lan.soft.off + '</a>'
// if (!rdata.pathinfo) {
// pathinfoOpt = '<a class="btlink" href="javascript:SetPathInfo(\'' + version + '\',\'on\');">' + lan.soft.on + '</a>'
// }
// var pathinfo1 = '<tr id="pathInfo"><td>PATH_INFO</td><td>' + lan.soft.php_menu_ext + '</td><td>' + lan.soft.mvc_ps + '</td><td><span class="ico-' + (rdata.pathinfo ? 'start' : 'stop') + ' glyphicon glyphicon-' + (rdata.pathinfo ? 'ok' : 'remove') + '"></span></td><td style="text-align: right;" width="50">' + pathinfoOpt + '</td></tr>';
// var con = '<div class="divtable" id="phpextdiv" style="margin-right:10px;height: 420px; overflow: auto; margin-right: 0px;">' +
// '<table class="table table-hover" width="100%" cellspacing="0" cellpadding="0" border="0">' +
// '<thead>' +
// '<tr>' +
// '<th>' + lan.soft.php_ext_name + '</th>' +
// '<th width="64">' + lan.soft.php_ext_type + '</th>' +
// '<th>' + lan.soft.php_ext_ps + '</th>' +
// '<th width="40">' + lan.soft.php_ext_status + '</th>' +
// '<th style="text-align: right;" width="50">' + lan.public.action + '</th>' +
// '</tr>' +
// '</thead>' +
// '<tbody>' + pathinfo1 + body + '</tbody>' +
// '</table>' +
// '</div>' +
// '<ul class="help-info-text c7 pull-left"><li>请按实际需求安装扩展,不要安装不必要的PHP扩展,这会影响PHP执行效率,甚至出现异常</li><li>Redis扩展只允许在1个PHP版本中使用,安装到其它PHP版本请在[软件管理]重装Redis</li><li>opcache/xcache/apc等脚本缓存扩展,请只安装其中1个,否则可能导致您的站点程序异常</li></ul>';
// var divObj = document.getElementById('phpextdiv');
// var scrollTopNum = 0;
// if (divObj) scrollTopNum = divObj.scrollTop;
// $(".soft-man-con").html(con);
// document.getElementById('phpextdiv').scrollTop = scrollTopNum;
// });
// if (go == undefined) {
// setTimeout(function() {
// if ($(".bgw #phpext").html() != '安装扩展') {
// return;
// }
// SetPHPConfig(version, pathinfo);
// }, 3000);
// }
// }
//安装扩展 //安装扩展
function installPHPLib(version, name, title, pathinfo) { function installPHPLib(version, name, title, pathinfo) {
layer.confirm('您真的要安装{1}吗?'.replace('{1}', name), { icon: 3, closeBtn: 2 }, function() { layer.confirm('您真的要安装{1}吗?'.replace('{1}', name), { icon: 3, closeBtn: 2 }, function() {

Loading…
Cancel
Save