diff --git a/class/core/plugin_api.py b/class/core/plugin_api.py index 8291bff43..21358cbc0 100755 --- a/class/core/plugin_api.py +++ b/class/core/plugin_api.py @@ -157,7 +157,7 @@ class plugin_api: return plugins_info - def makeList(self, data, sType): + def makeList(self, data, sType='0'): plugins_info = [] if (data['pid'] == sType): @@ -168,7 +168,6 @@ class plugin_api: else: pg = self.getPluginInfo(data) plugins_info.append(pg) - pass return plugins_info if sType == '0': @@ -200,8 +199,7 @@ class plugin_api: for index in range(len(tmp_data)): plugins_info.append(tmp_data[index]) except Exception, e: - print e - # pass + pass return plugins_info def getPluginList(self, sType, sPage=1, sPageSize=15): @@ -222,7 +220,28 @@ class plugin_api: public.writeFile(self.__index, '[]') indexList = json.loads(public.readFile(self.__index)) - return indexList + + plist = [] + app = [] + for i in indexList: + info = i.split('-') + if not info[0] in app: + app.append(info[0]) + path = self.__plugin_dir + '/' + info[0] + if os.path.isdir(path): + json_file = path + '/info.json' + if os.path.exists(json_file): + try: + data = json.loads(public.readFile(json_file)) + tmp_data = self.makeList(data) + for index in range(len(tmp_data)): + if tmp_data[index]['versions'] == info[1] or info[1] in tmp_data[index]['versions']: + tmp_data[index]['display'] = True + plist.append(tmp_data[index]) + continue + except Exception, e: + pass + return plist def addIndex(self, name, version): if not os.path.exists(self.__index): diff --git a/static/js/index.js b/static/js/index.js index 41b8d75cd..3dc5ea997 100755 --- a/static/js/index.js +++ b/static/js/index.js @@ -689,96 +689,3 @@ function showDanger(num, port) { }); $(".showDanger td").css("padding", "8px") } - - -//首页软件列表 -function indexSoft() { - var loadT = layer.msg('正在获取列表...', { icon: 16, time: 0, shade: [0.3, '#000'] }); - $.post('/plugins/get_plugin_list', 'display=1', function(rdata) { - layer.close(loadT); - var con = ''; - for (var i = 0; i < rdata['data'].length - 1; i++) { - var len = rdata.data[i].versions.length; - var version_info = ''; - for (var j = 0; j < len; j++) { - if (rdata.data[i].versions[j].status) continue; - version_info += rdata.data[i].versions[j].version + '|'; - } - if (version_info != '') { - version_info = version_info.substring(0, version_info.length - 1); - } - if (rdata.data[i].display) { - var isDisplay = false; - if (rdata.data[i].name != 'php') { - for (var n = 0; n < len; n++) { - if (rdata.data[i].versions[n].status == true) { - isDisplay = true; - var version = rdata.data[i].versions[n].version; - if (rdata.data[i].versions[n].run == true) { - state = '' - } else { - state = '' - } - } - } - if (isDisplay) { - var clickName = 'SoftMan'; - if (rdata.data[i].tip == 'lib') { - clickName = 'PluginMan'; - version_info = rdata.data[i].title; - } - - con += '
\ - \ -
\ -
\ -
' + rdata.data[i].title + ' ' + version + state + '
\ -
\ -
' - } - } else { - for (var n = 0; n < len; n++) { - if (rdata.data[i].versions[n].status == true) { - var version = rdata.data[i].versions[n].version; - if (rdata.data[i].versions[n].run == true) { - state = '' - } else { - state = '' - } - } - if (rdata.data[i].versions[n].display == true) { - con += '
\ - \ -
\ -
\ -
' + rdata.data[i].title + ' ' + rdata.data[i].versions[n].version + state + '
\ -
\ -
' - } - } - } - } - } - $("#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); - } - $("#indexsoft").dragsort({ dragSelector: ".spanmove", dragBetween: true, dragEnd: saveOrder, placeHolderTemplate: "
" }); - - function saveOrder() { - var data = $("#indexsoft > div").map(function() { return $(this).attr("data-id"); }).get(); - var ssort = data.join("|"); - $("input[name=list1SortOrder]").val(ssort); - $.post("/plugin?action=savePluginSort", 'ssort=' + ssort, function(rdata) {}); - }; - }); -} \ No newline at end of file diff --git a/static/js/soft.js b/static/js/soft.js index cad46c3fe..081f52322 100755 --- a/static/js/soft.js +++ b/static/js/soft.js @@ -10,7 +10,7 @@ function resetPluginWinWidth(width){ } //软件管理窗口 -function softMan(name, version) { +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); @@ -147,8 +147,8 @@ function GetSList(isdisplay) { var mupdate = '';//(plugin.versions[n] == plugin.updates[n]) '' : '更新 | '; // if (plugin.versions[n] == '') mupdate = ''; - handle = mupdate + '' + lan.soft.setup + ' | 卸载'; - titleClick = 'onclick="softMan(\'' + plugin.name + '\',\'' + version_info + '\')" style="cursor:pointer"'; + handle = mupdate + '' + lan.soft.setup + ' | 卸载'; + titleClick = 'onclick="softMain(\'' + plugin.name + '\',\'' + version_info + '\')" style="cursor:pointer"'; // } softPath = ''; @@ -202,12 +202,6 @@ function GetSList(isdisplay) { },'json'); } -//刷新状态 -function FPStatus() { - $.get("/auth?action=flush_pay_status", function(res) { - layer.msg(res.msg, { icon: res.status ? "1" : "2" }) - }) -} //更新 function softUpdate(name, version, update) { var msg = "
  • 建议您在服务器负载闲时进行软件更新.
  • "; @@ -324,6 +318,77 @@ function flush_cache() { } +//首页软件列表 +function indexSoft() { + var loadT = layer.msg('正在获取列表...', { icon: 16, time: 0, shade: [0.3, '#000'] }); + $.get('/plugins/index_list', function(rdata) { + layer.close(loadT); + 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); + } + + console.log(version_info, plugin); + + + if (plugin.status == true) { + state = '' + } else { + state = '' + } + + var name = plugin.title + ' ' + plugin.versions + ' '; + if (plugin.coexist){ + name = plugin.title + ' '; + } + + //(\'' + plugin.name + '\',\'' + version_info + '\')" + if (plugin.display == true) { + con += '
    \ + \ +
    \ +
    \ +
    ' + name + state + '
    \ +
    \ +
    ' + } + } + $("#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); + } + $("#indexsoft").dragsort({ dragSelector: ".spanmove", dragBetween: true, dragEnd: saveOrder, placeHolderTemplate: "
    " }); + + function saveOrder() { + var data = $("#indexsoft > div").map(function() { return $(this).attr("data-id"); }).get(); + var ssort = data.join("|"); + $("input[name=list1SortOrder]").val(ssort); + $.post("/plugin?action=savePluginSort", 'ssort=' + ssort, function(rdata) {}); + }; + },'json'); +} + // $(function() { // if (window.document.location.pathname == '/soft/') { // setInterval(function() { GetSList(true); }, 5000);