2020-11-19 22:47:44 +01:00
|
|
|
function initializeMainMenu(menuid) {
|
|
|
|
$.ajax({ type: "GET",
|
|
|
|
dataType: "json",
|
|
|
|
url: "php/contenthandler.php?module=admin&command=getJsonMenuItemsAndVersion",
|
|
|
|
async: false,
|
|
|
|
success : function(moduleEntries)
|
|
|
|
{
|
|
|
|
$("#versioninfo").html(moduleEntries.version + " ");
|
|
|
|
if (moduleEntries.loggedin == 1) {
|
|
|
|
$("#loggedinuser").html(" " + moduleEntries.user);
|
2020-11-19 23:02:16 +01:00
|
|
|
var li='<li data-role="list-divider" data-theme="b" data-role="heading">Hauptmenü</li>';
|
|
|
|
$.each(moduleEntries.menu, function (i, module) {
|
2020-11-19 22:47:44 +01:00
|
|
|
var name = module.name;
|
|
|
|
var link = module.link;
|
|
|
|
if ((name != "Abmelden") && (name != "Log out") && (name != "Adios")) {
|
|
|
|
li += '<li data-theme="e"><a href="' + link + '" target="_top" class="modulebutton">' + name + '</a></li>';
|
|
|
|
} else {
|
|
|
|
li += '<li data-theme="e"><a href="' + link + '" target="_top">' + name + '</a></li>';
|
|
|
|
}
|
|
|
|
});
|
|
|
|
$(menuid).empty().append(li).promise().done(function () {
|
|
|
|
$(menuid).listview("refresh");
|
|
|
|
});
|
|
|
|
$("#menuswitch").show();
|
|
|
|
} else {
|
|
|
|
$("#menuswitch").hide();
|
|
|
|
}
|
|
|
|
},
|
2020-11-19 23:02:08 +01:00
|
|
|
error: function( text ) {
|
|
|
|
alert( "Kommunikationsproblem zum Server bei Modulabfrage!" );
|
|
|
|
}
|
2020-11-19 22:47:44 +01:00
|
|
|
});
|
|
|
|
|
|
|
|
$(".modulebutton").off("click").on("click", function (e) {
|
|
|
|
var view = $(this).attr("href");
|
|
|
|
doAjax("POST","php/contenthandler.php?module=admin&command=setLastModuleOfUser",
|
|
|
|
{ view: view}, null, "Problem Benutzerdatenpflege");
|
|
|
|
});
|
2020-11-19 22:59:57 +01:00
|
|
|
|
|
|
|
intervalGetPrinterStatus(5);
|
2020-11-19 23:03:51 +01:00
|
|
|
intervalCheckConnection(2);
|
2020-11-19 22:59:57 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
function intervalGetPrinterStatus(seconds) {
|
2020-11-19 23:00:18 +01:00
|
|
|
doAjax("GET","php/contenthandler.php?module=admin&command=isPrinterServerActive",null,setPrinterStatus,null,true);
|
2020-11-19 22:59:57 +01:00
|
|
|
var fetchTimer = setInterval(function() {
|
|
|
|
doAjax("GET","php/contenthandler.php?module=admin&command=isPrinterServerActive",null,setPrinterStatus,null,true);
|
|
|
|
}, seconds * 1000);
|
|
|
|
}
|
|
|
|
|
|
|
|
function setPrinterStatus(answer) {
|
|
|
|
if (answer.status === "OK") {
|
|
|
|
if (answer.msg === 0) {
|
2020-11-19 23:11:33 +01:00
|
|
|
$(".printerstatus").show();
|
|
|
|
} else {
|
|
|
|
$(".printerstatus").hide();
|
|
|
|
}
|
|
|
|
if (answer.tasksforme === 1) {
|
|
|
|
$(".tasksstatus").show();
|
|
|
|
} else {
|
|
|
|
$(".tasksstatus").hide();
|
|
|
|
}
|
|
|
|
return;
|
2020-11-19 22:59:57 +01:00
|
|
|
}
|
|
|
|
$(".printerstatus").hide();
|
2020-11-19 22:47:44 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
function hideMenu() {
|
|
|
|
$( "#modulepanel" ).panel( "close" );
|
|
|
|
$("#menuswitch").off("click").on("click", function (e) {
|
|
|
|
$("#menuswitch").trigger("mouseout");
|
|
|
|
e.stopImmediatePropagation();
|
|
|
|
e.preventDefault();
|
|
|
|
$( "#modulepanel" ).panel( "open" );;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
// to make IE happy...
|
|
|
|
function refreshList(selector) {
|
|
|
|
if ( $(selector).hasClass('ui-listview')) {
|
|
|
|
$(selector).listview('refresh');
|
|
|
|
} else {
|
|
|
|
$(selector).trigger('create');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-11-19 23:03:51 +01:00
|
|
|
function doAjax(getOrPost, url, data, functionToCallIfSuccess, errorMsg, doAsync) {
|
|
|
|
if (typeof doAsync === 'undefined') {
|
|
|
|
doAsync = false;
|
|
|
|
}
|
|
|
|
$.ajax({type: getOrPost,
|
|
|
|
url: url,
|
|
|
|
dataType: "json",
|
|
|
|
data: data,
|
|
|
|
async: doAsync,
|
|
|
|
success: function (jsonContent)
|
|
|
|
{
|
|
|
|
if (functionToCallIfSuccess != null) {
|
|
|
|
functionToCallIfSuccess(jsonContent);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
error: function (xhr, status, error) {
|
|
|
|
|
|
|
|
if (url != "php/debug.php") {
|
|
|
|
var debugData = {
|
|
|
|
cmd: url,
|
|
|
|
fct: functionToCallIfSuccess.name,
|
|
|
|
xhr: xhr.responseText,
|
|
|
|
errormsg: errorMsg,
|
|
|
|
status: status
|
|
|
|
};
|
|
|
|
|
|
|
|
var n = getMillis();
|
|
|
|
|
|
|
|
if (errorMsg != null) {
|
|
|
|
if ($(".connectionstatus").is(":visible")) {
|
|
|
|
alert("Kommunikation zum Server ist unterbrochen!");
|
|
|
|
} else {
|
|
|
|
var errorMsgTxt = errorMsg + error + " (" + url + ")";
|
|
|
|
alert("Kommunikationsfehler zum Server: " + errorMsgTxt);
|
|
|
|
doAjax("POST", "php/debug.php?n=" + n, debugData, null, true);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2020-11-19 22:47:44 +01:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2020-11-19 23:03:51 +01:00
|
|
|
function doAjaxAsync(getOrPost, url, data, functionToCallIfSuccess) {
|
|
|
|
$.ajax({type: getOrPost,
|
|
|
|
url: url,
|
|
|
|
dataType: "json",
|
|
|
|
data: data,
|
|
|
|
async: true,
|
|
|
|
success: function (jsonContent)
|
|
|
|
{
|
|
|
|
if (functionToCallIfSuccess != null) {
|
|
|
|
functionToCallIfSuccess(jsonContent);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
error: function (xhr, status, error) {
|
|
|
|
if (url != "php/debug.php") {
|
|
|
|
var debugData = {
|
|
|
|
cmd: url,
|
|
|
|
fct: functionToCallIfSuccess.name,
|
|
|
|
xhr: xhr.responseText,
|
|
|
|
errormsg: errorMsg,
|
|
|
|
status: status
|
|
|
|
};
|
|
|
|
|
|
|
|
var n = getMillis();
|
|
|
|
|
|
|
|
if (errorMsg != null) {
|
|
|
|
if ($(".connectionstatus").is(":visible")) {
|
|
|
|
alert("Kommunikation zum Server ist unterbrochen!");
|
|
|
|
} else {
|
|
|
|
var errorMsgTxt = errorMsg + error + " (" + url + ")";
|
|
|
|
alert("Kommunikationsfehler zum Server: " + errorMsgTxt);
|
|
|
|
doAjax("POST", "php/debug.php?n=" + n, debugData, null, true);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2020-11-19 22:48:24 +01:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2020-11-19 22:47:44 +01:00
|
|
|
function doAjaxTransmitData(getOrPost,url,data,functionToCallIfSuccess,errorMsg,dataToTransmit) {
|
|
|
|
$.ajax({ type: getOrPost,
|
|
|
|
url: url,
|
|
|
|
dataType: "json",
|
|
|
|
data: data,
|
|
|
|
async: false,
|
|
|
|
success : function(jsonContent)
|
|
|
|
{
|
|
|
|
if (functionToCallIfSuccess != null) {
|
|
|
|
functionToCallIfSuccess(jsonContent,dataToTransmit);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
error: function(xhr,status,error ) {
|
|
|
|
if (errorMsg != null) {
|
|
|
|
var errorMsgTxt = errorMsg + ", Status: " + status + ", Error:" + error + ", Msg: " + xhr.responseText + " (" + url + ")";
|
|
|
|
alert( "Kommunikationsfehler zum Server: " + errorMsgTxt);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
function doAjaxSuppressError(getOrPost,url,data,functionToCallIfSuccess,errorMsg) {
|
|
|
|
$.ajax({ type: getOrPost,
|
|
|
|
url: url,
|
|
|
|
dataType: "json",
|
|
|
|
data: data,
|
|
|
|
async: false,
|
|
|
|
success : function(jsonContent)
|
|
|
|
{
|
|
|
|
if (functionToCallIfSuccess != null) {
|
|
|
|
functionToCallIfSuccess(jsonContent);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
error: function( text ) {
|
|
|
|
functionToCallIfSuccess("ERROR");
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
function doAjaxNonJsonNonCall(getOrPost,url,data) {
|
|
|
|
$.ajax({ type: getOrPost,
|
|
|
|
data : data,
|
|
|
|
url: url,
|
|
|
|
async: false,
|
|
|
|
error: function( text ) {
|
|
|
|
alert( "Kommunikationsproblem zum Server" );
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
function toHtml(text) {
|
|
|
|
if (typeof text === 'string') {
|
|
|
|
return (text.replace(/"/g, '"').replace(/</g, "<").replace(/>/g, ">"));
|
|
|
|
} else {
|
|
|
|
return text;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function createExtraParagraph(extras) {
|
|
|
|
if ((extras == null) || (extras == "")) {
|
|
|
|
return "";
|
|
|
|
}
|
|
|
|
var extratxt = "";
|
|
|
|
for (var j=0;j<extras.length;j++) {
|
|
|
|
extratxt += "<p>+ " + toHtml(extras[j]) + "</p>";
|
|
|
|
}
|
|
|
|
return extratxt;
|
|
|
|
}
|
|
|
|
|
|
|
|
function checkForLogIn() {
|
|
|
|
doAjax("GET","php/contenthandler.php?module=admin&command=isUserAlreadyLoggedIn",null,handleTestForLoggedIn,null);
|
|
|
|
}
|
|
|
|
function handleTestForLoggedIn(answer) {
|
|
|
|
if (answer != "YES") {
|
|
|
|
setTimeout(function(){document.location.href = "index.html"},250);
|
|
|
|
}
|
2020-11-19 22:59:47 +01:00
|
|
|
}
|
|
|
|
function isInt(value) {
|
|
|
|
if(Math.floor(value) == value && $.isNumeric(value)) {
|
|
|
|
return true;
|
|
|
|
} else {
|
|
|
|
return false;
|
|
|
|
}
|
2020-11-19 23:02:33 +01:00
|
|
|
}
|
|
|
|
|
2020-11-19 23:02:49 +01:00
|
|
|
function isFloat(n){
|
|
|
|
return Number(n) === n && n % 1 !== 0;
|
|
|
|
}
|
|
|
|
|
2020-11-19 23:02:33 +01:00
|
|
|
function getMillis() {
|
|
|
|
var d = new Date();
|
|
|
|
var n = d.getTime();
|
|
|
|
return n;
|
2020-11-19 23:03:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
function intervalCheckConnection(seconds) {
|
|
|
|
checkConnection();
|
|
|
|
var fetchTimer = setInterval(function() {
|
|
|
|
checkConnection();
|
|
|
|
}, seconds * 1000);
|
|
|
|
}
|
|
|
|
|
|
|
|
function checkConnection() {
|
|
|
|
var img = new Image();
|
|
|
|
img.onerror = function () {
|
|
|
|
$(".connectionstatus").show();
|
|
|
|
}
|
|
|
|
img.onload = function () {
|
|
|
|
$(".connectionstatus").hide();
|
|
|
|
}
|
|
|
|
img.src = "img/gray.png?t=" + (+new Date);
|
2020-11-19 23:11:33 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
function createLabelWithTextField(labelid,displayedName,defaultText) {
|
|
|
|
var text = '<div class="ui-field-contain">';
|
|
|
|
text += '<label for="' + labelid + '">' + displayedName + '</label>';
|
|
|
|
text += '<input type="text" id="' + labelid + '" value="" data-mini="true" placeholder="' + defaultText + '" style="background-color:white;color:black;" />';
|
|
|
|
text += '</div>';
|
|
|
|
return text;
|
|
|
|
}
|
|
|
|
function createLabelWithTextFieldWithValue(labelid,displayedName,content) {
|
|
|
|
var text = '<div class="ui-field-contain">';
|
|
|
|
text += '<label for="' + labelid + '">' + displayedName + '</label>';
|
|
|
|
text += '<input type="text" id="' + labelid + '" data-mini="true" value="' + content + '" style="background-color:white;color:black;" />';
|
|
|
|
text += '</div>';
|
|
|
|
return text;
|
|
|
|
}
|
|
|
|
|
|
|
|
function createLabelWithTextArea(labelid,displayedName) {
|
|
|
|
var text = '<div class="ui-field-contain">';
|
|
|
|
text += '<label for="' + labelid + '">' + displayedName + '</label>';
|
|
|
|
text += '<textarea id="' + labelid + '" name="' + labelid + '" cols="40" rows="8" style="background-color:white;color:black;"></textarea>';
|
|
|
|
text += '</div>';
|
|
|
|
return text;
|
|
|
|
}
|
|
|
|
function createLabelWithTextAreaWithValue(labelid,displayedName,content) {
|
|
|
|
var text = '<div class="ui-field-contain">';
|
|
|
|
text += '<label for="' + labelid + '">' + displayedName + '</label>';
|
|
|
|
text += '<textarea id="' + labelid + '" name="' + labelid + '" cols="40" rows="8" style="background-color:white;color:black;">';
|
|
|
|
text += content;
|
|
|
|
text += '</textarea>';
|
|
|
|
text += '</div>';
|
|
|
|
return text;
|
|
|
|
}
|
|
|
|
function createLabelWithOption(prefix,id,aLabel,displayedName,allValues,theValue) {
|
|
|
|
var labelid = id;
|
|
|
|
if ((prefix != "") || (aLabel != "")) {
|
|
|
|
labelid = prefix + aLabel + "_" + id;
|
|
|
|
}
|
|
|
|
var text = '<div class="ui-field-contain">';
|
|
|
|
text += '<label for="' + labelid + '">' + displayedName + '</label>';
|
|
|
|
|
|
|
|
text += '<select name="' + labelid + '" id="' + labelid + '" data-theme="f">';
|
|
|
|
for (var i=0;i<allValues.length;i++) {
|
|
|
|
var aValue = allValues[i];
|
|
|
|
if (aValue.id == theValue) {
|
|
|
|
text += '<option value="' + aValue.id + '" selected>' + aValue.text + '</option>';
|
|
|
|
} else {
|
|
|
|
text += '<option value="' + aValue.id + '" >' + aValue.text + '</option>';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
text += '</select></div>';
|
|
|
|
|
|
|
|
return text;
|
2020-11-19 22:47:44 +01:00
|
|
|
}
|