275 Zeilen
10 KiB
JavaScript
275 Zeilen
10 KiB
JavaScript
|
|
// Ignore console on platforms where it is not available
|
|
if (typeof (window.console) == "undefined") {
|
|
console = {};
|
|
console.log = console.warn = console.error = function (a) {
|
|
};
|
|
}
|
|
|
|
function showMessage(Msg, Level) {
|
|
var msgClass = "";
|
|
switch (Level) {
|
|
case 'info':
|
|
msgClass = "info";
|
|
break;
|
|
case 'warning':
|
|
msgClass = "warning";
|
|
break;
|
|
case 'error':
|
|
msgClass = "error";
|
|
break;
|
|
case 'success':
|
|
msgClass = "success";
|
|
break;
|
|
default:
|
|
msgClass = "info";
|
|
}
|
|
if ($("#pimmsg").length == 0) {
|
|
$("body").append('<div id="pimmsg" class="' + msgClass + '">' + Msg + '</div>');
|
|
} else {
|
|
$("#pimmsg").attr('class', msgClass).html(Msg);
|
|
}
|
|
|
|
$("#pimmsg").plainModal(
|
|
'open',
|
|
{
|
|
duration: 500,
|
|
offset: {
|
|
left: 20,
|
|
top: 10
|
|
},
|
|
overlay: {
|
|
fillColor: '#fff',
|
|
opacity: 0.5
|
|
}
|
|
});
|
|
|
|
setTimeout(function () {
|
|
$("#pimmsg").plainModal('close');
|
|
}, 3000);
|
|
}
|
|
|
|
function togglePluginInfo(tableId) {
|
|
var collapseButton = 'images/close_all.gif';
|
|
var expandButton = 'images/open_all.gif';
|
|
var curDiv = document.getElementById(tableId);
|
|
var curButton = document.getElementById(tableId + '_img');
|
|
|
|
if (curDiv.style.display == "table-row" || curDiv.style.display == "" || curDiv.style.display == "block") {
|
|
curDiv.style.display = "none";
|
|
curButton.src = expandButton;
|
|
} else if (curDiv.style.display == "none") {
|
|
if (ie == 7) {
|
|
$('#' + tableId).css('display', 'block');
|
|
} else {
|
|
curDiv.style.display = "table-row";
|
|
}
|
|
curButton.src = collapseButton;
|
|
}
|
|
}
|
|
|
|
// Read a page's GET URL variables and return them as an associative array.
|
|
function getUrlVars() {
|
|
var vars = [], hash;
|
|
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
|
|
for (var i = 0; i < hashes.length; i++) {
|
|
hash = hashes[i].split('=');
|
|
if (hash[0] == "contenido" || hash[0] == "plugin_action" || hash[0] == "plugin_id" || hash[0] == "delete_sql") {
|
|
continue;
|
|
}
|
|
vars.push(hash[0]);
|
|
vars[hash[0]] = hash[1];
|
|
}
|
|
console.log(vars);
|
|
return vars;
|
|
}
|
|
|
|
|
|
$(function () {
|
|
|
|
if ($("ul#pim_messages").length) {
|
|
var tmp = $("ul#pim_messages li").html();
|
|
var message = tmp.split(':');
|
|
showMessage(message[1], message[0]);
|
|
$("ul#pim_messages").remove();
|
|
}
|
|
|
|
$(document)
|
|
.ajaxStart(function () {
|
|
$('body').plainOverlay('show');
|
|
})
|
|
.ajaxStop(function () {
|
|
$('body').plainOverlay('hide');
|
|
});
|
|
|
|
// add custom event before start to ui sortable
|
|
var oldMouseStart = $.ui.sortable.prototype._mouseStart;
|
|
$.ui.sortable.prototype._mouseStart = function (event, overrideHandle, noActivation) {
|
|
this._trigger("CustomBeforeStart", event, this._uiHash());
|
|
oldMouseStart.apply(this, [event, overrideHandle, noActivation]);
|
|
};
|
|
|
|
$("#pimPluginsExtracted").sortable({
|
|
connectWith: "#pimPluginsInstalled",
|
|
cursor: "move",
|
|
opacity: 0.5,
|
|
placeholder: "ui-state-highlight",
|
|
forceHelperSize: true,
|
|
forcePlaceholderSize: true,
|
|
CustomBeforeStart: function (event, ui) {
|
|
console.log(ui.item);
|
|
if (ui.item.find("div.pimInfo").is(":visible")) {
|
|
togglePluginInfo(ui.item.attr('id').replace("_", "-"));
|
|
}
|
|
}
|
|
});
|
|
$("#pimPluginsInstalled").sortable({
|
|
placeholder: "ui-state-highlight",
|
|
axis: "y",
|
|
containment: "parent",
|
|
forcePlaceholderSize: true,
|
|
CustomBeforeStart: function (event, ui) {
|
|
console.log(ui.item);
|
|
if (ui.item.find("div.pimInfo").is(":visible")) {
|
|
togglePluginInfo(ui.item.attr('id').replace("_", "-"));
|
|
}
|
|
},
|
|
update: function (event, ui) {
|
|
console.log({plugins: $("#pimPluginsInstalled").sortable("serialize")});
|
|
$.post("ajaxmain.php", {
|
|
plugins: $("#pimPluginsInstalled").sortable("serialize"),
|
|
ajax: 'plugin_request',
|
|
plugin: 'pluginmanager',
|
|
plugin_ajax_action: 'pim_save_sort',
|
|
contenido: cSessionId
|
|
});
|
|
},
|
|
receive: function (event, ui) {
|
|
console.log(ui.item);
|
|
$.ajax({
|
|
type: "POST",
|
|
url: "ajaxmain.php",
|
|
data: {
|
|
plugin_folder: ui.item.data('plugin-foldername'),
|
|
new_position: ui.item.index(),
|
|
ajax: 'plugin_request',
|
|
plugin: 'pluginmanager',
|
|
plugin_ajax_action: 'pim_install',
|
|
contenido: cSessionId
|
|
},
|
|
beforeSend: function (xhr, obj) {
|
|
//alert("Before");
|
|
},
|
|
success: function (data, textStatus, xhr) {
|
|
console.log(data);
|
|
var answer = data.split(":");
|
|
console.log(answer);
|
|
if (answer[0] == "Ok") {
|
|
$.ajax({
|
|
type: "POST",
|
|
url: "ajaxmain.php",
|
|
data: {
|
|
ajax: 'plugin_request',
|
|
plugin: 'pluginmanager',
|
|
plugin_ajax_action: 'pim_get_info_installed',
|
|
plugin_id: answer[1],
|
|
contenido: cSessionId
|
|
}
|
|
}).done(function (data) {
|
|
console.log(data);
|
|
$(ui.item).replaceWith(data);
|
|
});
|
|
showMessage(answer[2], 'info');
|
|
} else if (answer[0] == "Error") {
|
|
console.log("Remove New List Item.");
|
|
ui.sender.sortable("cancel"); // send back entry to sender :)
|
|
showMessage(answer[2], 'error');
|
|
} else {
|
|
//window.location.replace("index.php"); // redirect to index if answer not correct or not set
|
|
}
|
|
$("span#plugin_count").html($("#pimPluginsInstalled").children().length);
|
|
},
|
|
error: function (xhr, textStatus, errorThrown) {
|
|
showMessage(textStatus, 'error');
|
|
console.log('a' + textStatus);
|
|
}
|
|
});
|
|
return true;
|
|
}
|
|
});
|
|
$("#pimPluginsInstalled li, #pimPluginsExtracted li").disableSelection();
|
|
// actions for buttons in plugin info
|
|
var labelID;
|
|
$('label.pimButLabel').click(function (e) {
|
|
if ($(e.target).is('input')) {
|
|
return;
|
|
}
|
|
labelID = $(this).attr('for');
|
|
$('#' + labelID).trigger('click');
|
|
});
|
|
$("ul#pimPluginsInstalled").on("click", "input.pimImgBut", function () {
|
|
var pluginID = $(this).attr('id');
|
|
var thisInput = $(this);
|
|
switch ($(this).attr('name')) {
|
|
case "toggle_active":
|
|
$('body').plainOverlay('show');
|
|
$.ajax({
|
|
type: "POST",
|
|
url: "ajaxmain.php",
|
|
data: {
|
|
ajax: 'plugin_request',
|
|
plugin: 'pluginmanager',
|
|
plugin_ajax_action: 'toggle_active',
|
|
plugin_id: pluginID.split('-')[3],
|
|
contenido: cSessionId
|
|
},
|
|
success: function (data, textStatus, xhr) {
|
|
console.log(data);
|
|
var aData = data.split(":");
|
|
console.log(aData);
|
|
if (aData[0] == "Ok") {
|
|
if (aData[1] == '1') {
|
|
thisInput.attr('src', 'images/online.gif');
|
|
} else {
|
|
thisInput.attr('src', 'images/offline.gif');
|
|
}
|
|
$("label[for=" + pluginID + "]").html(aData[2]);
|
|
}
|
|
}
|
|
});
|
|
break;
|
|
case "uninstall_plugin":
|
|
$('body').plainOverlay('show');
|
|
var hiddenFields = [];
|
|
hiddenFields.push("plugin_id");
|
|
hiddenFields["plugin_id"] = pluginID.split('-')[3];
|
|
hiddenFields.push("plugin_action");
|
|
hiddenFields["plugin_action"] = "uninstall_plugin";
|
|
/*
|
|
hiddenFields.push("contenido");
|
|
hiddenFields["contenido"] = cSessionId; */
|
|
hiddenFields.push("delete_sql");
|
|
console.log($(this).parent().children("label:eq(1)").children("input"));
|
|
if ($(this).parent().children("label:eq(1)").children("input").prop('checked') == true) {
|
|
hiddenFields["delete_sql"] = "delete";
|
|
} else {
|
|
hiddenFields["delete_sql"] = "hold";
|
|
}
|
|
$("#pim_uninstall").remove();
|
|
var form = document.createElement('form');
|
|
form.id = "pim_uninstall";
|
|
form.method = 'post';
|
|
$.each(hiddenFields, function (index, name) {
|
|
var input = document.createElement('input');
|
|
input.type = 'hidden';
|
|
input.name = name;
|
|
input.value = hiddenFields[name];
|
|
form.appendChild(input);
|
|
});
|
|
form.action = window.location.protocol + '//' + window.location.hostname + window.location.pathname + window.location.search;
|
|
document.body.appendChild(form);
|
|
form.submit();
|
|
break;
|
|
}
|
|
});
|
|
}); |