|
|
|
function str2Obj(str){
|
|
|
|
var data = {};
|
|
|
|
kv = str.split('&');
|
|
|
|
for(i in kv){
|
|
|
|
v = kv[i].split('=');
|
|
|
|
data[v[0]] = v[1];
|
|
|
|
}
|
|
|
|
return data;
|
|
|
|
}
|
|
|
|
|
|
|
|
function pmaPost(method,args,callback){
|
|
|
|
|
|
|
|
var _args = null;
|
|
|
|
if (typeof(args) == 'string'){
|
|
|
|
_args = JSON.stringify(str2Obj(args));
|
|
|
|
} else {
|
|
|
|
_args = JSON.stringify(args);
|
|
|
|
}
|
|
|
|
|
|
|
|
var loadT = layer.msg('正在获取...', { icon: 16, time: 0, shade: 0.3 });
|
|
|
|
$.post('/plugins/run', {name:'phpmyadmin', func:method, args:_args}, function(data) {
|
|
|
|
layer.close(loadT);
|
|
|
|
if (!data.status){
|
|
|
|
layer.msg(data.msg,{icon:0,time:2000,shade: [0.3, '#000']});
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
if(typeof(callback) == 'function'){
|
|
|
|
callback(data);
|
|
|
|
}
|
|
|
|
},'json');
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function pmaAsyncPost(method,args){
|
|
|
|
|
|
|
|
var _args = null;
|
|
|
|
if (typeof(args) == 'string'){
|
|
|
|
_args = JSON.stringify(str2Obj(args));
|
|
|
|
} else {
|
|
|
|
_args = JSON.stringify(args);
|
|
|
|
}
|
|
|
|
return syncPost('/plugins/run', {name:'phpmyadmin', func:method, args:_args});
|
|
|
|
}
|
|
|
|
|
|
|
|
function homePage(){
|
|
|
|
pmaPost('get_home_page', '', function(data){
|
|
|
|
var rdata = $.parseJSON(data.data);
|
|
|
|
if (!rdata.status){
|
|
|
|
layer.msg(rdata.msg,{icon:0,time:2000,shade: [0.3, '#000']});
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
var con = '<button class="btn btn-default btn-sm" onclick="window.open(\'' + rdata.data + '\')">主页</button>';
|
|
|
|
$(".soft-man-con").html(con);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
//phpmyadmin切换php版本
|
|
|
|
function phpVer(version) {
|
|
|
|
|
|
|
|
var _version = pmaAsyncPost('get_set_php_ver','')
|
|
|
|
if (_version['data'] != ''){
|
|
|
|
version = _version['data'];
|
|
|
|
}
|
|
|
|
|
|
|
|
$.post('/site/get_php_version', function(data) {
|
|
|
|
var rdata = data['data'];
|
|
|
|
// console.log(rdata);
|
|
|
|
var body = "<div class='ver line'><span class='tname'>PHP版本</span><select id='phpver' class='bt-input-text mr20' name='phpVersion' style='width:110px'>";
|
|
|
|
var optionSelect = '';
|
|
|
|
for (var i = 0; i < rdata.length; i++) {
|
|
|
|
optionSelect = rdata[i].version == version ? 'selected' : '';
|
|
|
|
body += "<option value='" + rdata[i].version + "' " + optionSelect + ">" + rdata[i].name + "</option>"
|
|
|
|
}
|
|
|
|
body += '</select><button class="btn btn-success btn-sm" onclick="phpVerChange(\'phpversion\',\'get\')">保存</button></div>';
|
|
|
|
$(".soft-man-con").html(body);
|
|
|
|
},'json');
|
|
|
|
}
|
|
|
|
|
|
|
|
function phpVerChange(type, msg) {
|
|
|
|
var phpver = $("#phpver").val();
|
|
|
|
pmaPost('set_php_ver', 'phpver='+phpver, function(data){
|
|
|
|
if ( data.data == 'ok' ){
|
|
|
|
layer.msg('设置成功!',{icon:1,time:2000,shade: [0.3, '#000']});
|
|
|
|
} else {
|
|
|
|
layer.msg('设置失败!',{icon:2,time:2000,shade: [0.3, '#000']});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//phpmyadmin安全设置
|
|
|
|
function safeConf() {
|
|
|
|
pmaPost('get_pma_option', {}, function(rdata){
|
|
|
|
var rdata = $.parseJSON(rdata.data);
|
|
|
|
if (!rdata.status){
|
|
|
|
layer.msg(rdata.msg,{icon:2,time:2000,shade: [0.3, '#000']});
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
var cfg = rdata.data;
|
|
|
|
var con = '<div class="ver line">\
|
|
|
|
<span class="tname">访问端口</span>\
|
|
|
|
<input style="width:110px" class="bt-input-text phpmyadmindk mr20" name="Name" id="pmport" value="' + cfg['port'] + '" placeholder="phpmyadmin访问端口" maxlength="5" type="number">\
|
|
|
|
<button class="btn btn-success btn-sm" onclick="setPamPort()">保存</button>\
|
|
|
|
</div>\
|
|
|
|
<div class="ver line">\
|
|
|
|
<span class="tname">访问切换</span>\
|
|
|
|
<select id="access_choose" class="bt-input-text mr20" name="choose" style="width:110px">\
|
|
|
|
<option value="mariadb" '+(cfg['choose']=="mariadb"?"selected='selected'":"")+'>MariaDB</option>\
|
|
|
|
<option value="mysql" '+ (cfg['choose']=="mysql"?"selected='selected'":"")+'>MySQL</option>\
|
|
|
|
<option value="mysql-community" '+ (cfg['choose']=="mysql-community"?"selected='selected'":"")+'>MySQL[Tar]</option>\
|
|
|
|
<option value="mysql-apt" '+ (cfg['choose']=="mysql-apt"?"selected='selected'":"")+'>MySQL[APT]</option>\
|
|
|
|
<option value="mysql-yum" '+ (cfg['choose']=="mysql-yum"?"selected='selected'":"")+'>MySQL[YUM]</option>\
|
|
|
|
</select>\
|
|
|
|
<button class="btn btn-success btn-sm" onclick="setPmaChoose()">保存</button>\
|
|
|
|
</div>\
|
|
|
|
<div class="ver line">\
|
|
|
|
<span class="tname">用户名</span>\
|
|
|
|
<input style="width:110px" class="bt-input-text mr20" name="username" id="pmport" value="' + cfg['username'] + '" placeholder="认证用户名" type="text">\
|
|
|
|
<button class="btn btn-success btn-sm" onclick="setPmaUsername()">保存</button>\
|
|
|
|
</div>\
|
|
|
|
<div class="ver line">\
|
|
|
|
<span class="tname">密码</span>\
|
|
|
|
<input style="width:110px" class="bt-input-text mr20" name="password" id="pmport" value="' + cfg['password'] + '" placeholder="密码" type="text">\
|
|
|
|
<button class="btn btn-success btn-sm" onclick="setPmaPassword()">保存</button>\
|
|
|
|
</div>\
|
|
|
|
<hr/>\
|
|
|
|
<div class="ver line">\
|
|
|
|
<span class="tname">路径名</span>\
|
|
|
|
<input style="width:180px" class="bt-input-text mr20" name="path" id="pmport" value="' + cfg['path'] + '" placeholder="" type="text">\
|
|
|
|
<button class="btn btn-success btn-sm" onclick="setPmaPath()">保存</button>\
|
|
|
|
</div>';
|
|
|
|
$(".soft-man-con").html(con);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function setPmaChoose(){
|
|
|
|
var choose = $("#access_choose").val();
|
|
|
|
pmaPost('set_pma_choose',{'choose':choose}, function(data){
|
|
|
|
var rdata = $.parseJSON(data.data);
|
|
|
|
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 });
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
function setPmaUsername(){
|
|
|
|
var username = $("input[name=username]").val();
|
|
|
|
pmaPost('set_pma_username',{'username':username}, function(data){
|
|
|
|
var rdata = $.parseJSON(data.data);
|
|
|
|
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 });
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
function setPmaPassword(){
|
|
|
|
var password = $("input[name=password]").val();
|
|
|
|
pmaPost('set_pma_password',{'password':password}, function(data){
|
|
|
|
var rdata = $.parseJSON(data.data);
|
|
|
|
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 });
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
function setPmaPath(){
|
|
|
|
var path = $("input[name=path]").val();
|
|
|
|
pmaPost('set_pma_path',{'path':path}, function(data){
|
|
|
|
var rdata = $.parseJSON(data.data);
|
|
|
|
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 });
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
//修改phpmyadmin端口
|
|
|
|
function setPamPort() {
|
|
|
|
var pmport = $("#pmport").val();
|
|
|
|
if (pmport < 80 || pmport > 65535) {
|
|
|
|
layer.msg('端口范围不合法!', { icon: 2 });
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
var data = 'port=' + pmport;
|
|
|
|
|
|
|
|
pmaPost('set_pma_port',data, function(data){
|
|
|
|
var rdata = $.parseJSON(data.data);
|
|
|
|
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 });
|
|
|
|
});
|
|
|
|
}
|