//重置插件弹出框宽度 function resetPluginWinWidth(width){ $("div[id^='layui-layer'][class*='layui-layer-page']").width(width); } //软件管理窗口 function softMain(name, version) { var loadT = layer.msg("正在处理,请稍后...", { icon: 16, time: 0, shade: [0.3, '#000'] }); $.get('/plugins/setting?name='+name, function(rdata) { layer.close(loadT); layer.open({ type: 1, area: '640px', title: name + '-' + version + "管理", closeBtn: 2, shift: 0, content: rdata }); $(".bt-w-menu p").click(function() { $(this).addClass("bgw").siblings().removeClass("bgw"); }); //version to $(".plugin_version").attr('version',version).hide(); }); } //插件设置菜单 function pluginMan(name, title) { loadT = layer.msg(lan.soft.menu_temp, { icon: 16, time: 0, shade: [0.3, '#000'] }); $.get('/plugins/setting?name=' + name, function(rhtml) { layer.close(loadT); if (rhtml.status === false) { if (name == "phpguard") { layer.msg(lan.soft.menu_phpsafe, { icon: 1 }) } else { layer.msg(rhtml.msg, { icon: 2 }); } return; } layer.open({ type: 1, shift: 5, offset: '20%', closeBtn: 2, area: '700px', title: '' + title, content: rhtml }); rcode = rhtml.split('', ''); setTimeout(function() { if (!!(window.attachEvent && !window.opera)) { execScript(rcode); } else { window.eval(rcode); } }, 200) }); } //取软件列表 function getSList(isdisplay) { if (isdisplay !== true) { var loadT = layer.msg(lan.soft.get_list, { icon: 16, time: 0, shade: [0.3, '#000'] }) } if (!isdisplay || isdisplay === true) isdisplay = getCookie('p' + getCookie('softType')); if (isdisplay == true || isdisplay == 'true') isdisplay = 1; var search = $("#SearchValue").val(); if (search != '') { search = '&search=' + search; } var type = ''; var istype = getCookie('softType'); if (istype == 'undefined' || istype == 'null' || !istype) { istype = '0'; } type = '&type=' + istype; var page = ''; if (isdisplay) { page = '&p=' + isdisplay; setCookie('p' + getCookie('softType'), isdisplay); } var condition = (search + type + page).slice(1); $.get('/plugins/list?' + condition, '', function(rdata) { layer.close(loadT); var tBody = ''; var sBody = ''; var pBody = ''; for (var i = 0; i < rdata.type.length; i++) { var c = ''; if (istype == rdata.type[i].type) { c = 'class="on"'; } tBody += '' + rdata.type[i].title + ''; } $(".softtype").html(tBody); $("#softPage").html(rdata.list); $("#softPage .Pcount").css({ "position": "absolute", "left": "0" }) $(".task").text(rdata.data[rdata.length - 1]); for (var i = 0; i < rdata.data.length; i++) { var plugin = rdata.data[i]; var len = plugin.versions.length; var version_info = ''; var version = ''; var softPath = ''; var titleClick = ''; var state = ''; var indexshow = ''; var checked = ''; checked = plugin.display ? 'checked' : ''; if (typeof plugin.versions == "string"){ version_info += plugin.versions + '|'; } else { for (var j = 0; j < len; j++) { version_info += plugin.versions[j] + '|'; } } if (version_info != '') { version_info = version_info.substring(0, version_info.length - 1); } var handle = '安装'; if (plugin.setup == true) { var mupdate = '';//(plugin.versions[n] == plugin.updates[n]) '' : '更新 | '; // if (plugin.versions[n] == '') mupdate = ''; handle = mupdate + '设置 | 卸载'; titleClick = 'onclick="softMain(\'' + plugin.name + '\',\'' + version_info + '\')" style="cursor:pointer"'; softPath = ''; if (plugin.coexist){ indexshow = '
'; } else { indexshow = '
'; } if (plugin.status == true) { state = '' } else { state = '' } } var isTask = plugin.task; if (plugin.task == '-2') { handle = '正在卸载...'; } else if (plugin.task == '-1') { handle = '正在安装...'; } else if (isTask == '0') { handle = '等待中...'; } var plugin_title = plugin.title; if (plugin.setup && !plugin.coexist){ plugin_title = plugin.title + ' ' + plugin.setup_version; } sBody += '' + '' + plugin_title + '' + '' + plugin.ps + '' + '' + softPath + '' + '' + state + '' + '' + indexshow + '' + '' + handle + '' + ''; // sBody += '' + // '' + plugin_title + '' + // '' + plugin.ps + '' + // '' + softPath + '' + // '' + state + '' + // '' + indexshow + '' + // '' + handle + '' + // ''; } sBody += pBody; $("#softList").html(sBody); $(".menu-sub span").click(function() { setCookie('softType', $(this).attr('typeid')); $(this).addClass("on").siblings().removeClass("on"); getSList(); }); loadImage(); },'json'); } function addVersion(name, ver, type, obj, title) { var option = ''; var titlename = name; if (ver.indexOf('|') >= 0){ var veropt = ver.split("|"); var SelectVersion = ''; for (var i = 0; i < veropt.length; i++) { SelectVersion += ''; } option = ""; } else { option = '' + name + ' ' + ver + ''; } layer.open({ type: 1, title: titlename + "软件安装", area: '350px', closeBtn: 2, shadeClose: true, content: "
\
安装版本:" + option + "
\
\ \ \
\
" }); $('.fangshi input').click(function() { $(this).attr('checked', 'checked').parent().siblings().find("input").removeAttr('checked'); }); $("#bi-btn").click(function() { var info = $("#SelectVersion").val().toLowerCase(); if (info == ''){ info = $("#SelectVersion").text().toLowerCase(); } var name = info.split(" ")[0]; var version = info.split(" ")[1]; var type = $('.fangshi input').prop("checked") ? '1' : '0'; var data = "name=" + name + "&version=" + version + "&type=" + type; var loadT = layer.msg(lan.soft.add_install, { icon: 16, time: 0, shade: [0.3, '#000'] }); $.post("/plugins/install", data, function(rdata) { layer.closeAll(); layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 }); getSList(); }); }); InstallTips(); fly("bi-btn"); } //卸载软件 function uninstallVersion(name, version, title) { layer.confirm(msgTpl('您真的要卸载[{1}-{2}]吗?', [title, version]), { icon: 3, closeBtn: 2 }, function() { var data = 'name=' + name + '&version=' + version; var loadT = layer.msg(lan.public.the, { icon: 16, time: 0, shade: [0.3, '#000'] }); $.post('/plugins/uninstall', data, function(rdata) { layer.close(loadT) getSList(); layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 }); },'json'); }); } //首页显示 function toIndexDisplay(name, version, coexist) { var status = $("#index_" + name).prop("checked") ? "0" : "1"; if (coexist == "true") { var verinfo = version.replace(/\./, ""); status = $("#index_" + name + verinfo).prop("checked") ? "0" : "1"; } var data = "name=" + name + "&status=" + status + "&version=" + version; $.post("/plugins/set_index", data, function(rdata) { if (rdata.status) { layer.msg(rdata.msg, { icon: 1 }) } },'json'); } function indexListHtml(callback){ var loadT = layer.msg('正在获取列表...', { icon: 16, time: 0, shade: [0.3, '#000'] }); $.get('/plugins/index_list', function(rdata) { layer.close(loadT); $("#indexsoft").html(''); var con = ''; for (var i = 0; i < rdata.length; i++) { var plugin = rdata[i]; var len = plugin.versions.length; var version_info = ''; if (typeof plugin.versions == "string"){ version_info += plugin.versions + '|'; } else { for (var j = 0; j < len; j++) { version_info += plugin.versions[j] + '|'; } } if (version_info != '') { version_info = version_info.substring(0, version_info.length - 1); } if (plugin.status == true) { state = '' } else { state = '' } var name = plugin.title + ' ' + plugin.setup_version + ' '; var data_id = plugin.name + '-' + plugin.setup_version; if (plugin.coexist){ name = plugin.title + ' '; data_id = plugin.name + '-' + plugin.versions; } // con += '
\ // \ //
\ //
\ //
' + name + state + '
\ //
\ //
'; con += '
\ \
\
\
' + name + state + '
\
\
'; // loadImage(); } $("#indexsoft").html(con); //软件位置移动 var softboxlen = $("#indexsoft > div").length; var softboxsum = 12; var softboxcon = ''; var softboxn = softboxlen; if (softboxlen <= softboxsum) { for (var i = 0; i < softboxsum - softboxlen; i++) { // softboxn += 1000; softboxcon += '
'; } $("#indexsoft").append(softboxcon); } if (typeof callback=='function'){ callback(); } },'json'); } //首页软件列表 function indexSoft() { indexListHtml(function(){ $("#indexsoft").dragsort({ dragSelector: ".spanmove", dragBetween: true, dragEnd: saveOrder, placeHolderTemplate: "
" }); }); function saveOrder() { var data = $("#indexsoft > div").map(function() { return $(this).attr("data-id"); }).get(); tmp = []; for(i in data){ console.log(data[i]); if (data[i] != ''){ tmp.push($.trim(data[i])); } } var ssort = tmp.join("|"); $("input[name=list1SortOrder]").val(ssort); $.post("/plugins/index_sort", 'ssort=' + ssort, function(rdata) { if (!rdata.status){ showMsg('设置失败:'+ rdata.msg, function(){ indexListHtml(); }, { icon: 16, time: 0, shade: [0.3, '#000'] }); } },'json'); }; } $(function() { if (window.document.location.pathname == '/soft/') { setInterval(function() { getSList(); }, 10000); } });