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);