ordersprinter/webapp/index.html

229 lines
7.1 KiB
HTML
Raw Normal View History

2020-11-19 22:44:19 +01:00
<html>
<head>
<head>
2020-11-19 22:47:44 +01:00
<title>OrderSprinter Startseite</title>
2020-11-19 22:44:19 +01:00
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
2020-11-19 22:48:24 +01:00
<meta name="author" content="Stefan Pichel">
2020-11-19 22:44:19 +01:00
<link rel="stylesheet" type="text/css" href="css/bestformat.css">
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
<link rel="stylesheet" href="php/3rdparty/jquery.mobile-1.4.0.min.css" type="text/css" />
<script src="php/3rdparty/jquery-2.0.3.min.js"></script>
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
<script src="utilities.js"></script>
</head>
<body>
<script>
2020-11-19 22:47:44 +01:00
var I_TIMEDIFF_NO_ADMIN = ["Zeit am Server und am Endgerät unterscheiden sich. Bitte als Admin einloggen und abgleichen!",
"Time of server and end device differ. Please log in as admin and synchronize times!",
"Tiempo en el servidor y su maquina no son iguales. Log in como administrador y corregir el tiempo!"];
2020-11-19 22:44:19 +01:00
function fillUserList(userinfo) {
var text = '<div class="ui-field-contain">';
text += '<select name="userlistselection" id="userlistselection" data-theme="f">';
$.each(userinfo, function (i, aUser) {
var username = aUser.username;
2020-11-19 22:47:44 +01:00
var userid = aUser.id;
text += '<option value=' + userid + '>' + username + '</option>';
2020-11-19 22:44:19 +01:00
});
text += '</select>';
$("#userlist").html(text);
$("#loginmask").trigger("create");
}
function askAndFillUserList() {
doAjax("GET","php/contenthandler.php?module=admin&command=getUserList",null,fillUserList,"no user data received");
}
function showLoggedInView(jsonContent) {
if (jsonContent == "YES") {
// no login mask!
$("#loginmask").hide();
$("#logoutarea").show();
} else {
// user needs to log in!
$("#loginmask").show();
$("#logoutarea").hide();
}
}
function isUserAlreadyLoggedIn() {
doAjax("POST","php/contenthandler.php?module=admin&command=isUserAlreadyLoggedIn",null,showLoggedInView,"login status unclear");
}
function goToView(lastPageOfUser) {
window.location.href = lastPageOfUser;
}
2020-11-19 22:47:44 +01:00
function tryAuthenticate(userid,password) {
var date = new Date();
2020-11-19 22:44:19 +01:00
var data = {
2020-11-19 22:47:44 +01:00
userid: userid,
password: password,
day: date.getDay(),
month: date.getMonth(),
year: date.getFullYear(),
minute: date.getMinutes(),
hour: date.getHours(),
time: parseInt(date.getTime() / 1000)
2020-11-19 22:44:19 +01:00
};
doAjax("POST", "php/contenthandler.php?module=admin&command=tryAuthenticate", data, displayLoginOrLogoutMask, "Loginstatus" );
}
function displayLoginOrLogoutMask(jsonContent) {
2020-11-19 22:47:44 +01:00
var status = jsonContent.status;
if (status == "YES") {
if (jsonContent.timediff == 1) {
var lang = jsonContent.lang;
if (jsonContent.isadmin == 1) {
setTimeout(function(){document.location.href = "time.html"},250);
return;
} else {
alert(I_TIMEDIFF_NO_ADMIN[lang]);
}
}
2020-11-19 22:44:19 +01:00
// no login mask!
$("#loginmask").hide();
$("#logoutarea").show();
2020-11-19 22:47:44 +01:00
// if there is a login message, show it in an alert
if (jsonContent.loginmessage != "") {
alert (jsonContent.loginmessage);
}
2020-11-19 22:44:19 +01:00
// forward to valid page!
doAjax("GET","php/contenthandler.php?module=admin&command=getViewAfterLogin",null,goToView,"Einstiegsseite nicht bekommen");
} else {
2020-11-19 22:47:44 +01:00
alert("Falsches Passwort?");
2020-11-19 22:44:19 +01:00
// user needs to log in!
$("#logoutarea").hide();
$("#invalidusercredentials").popup( "open", {transition: 'flip'} );
}
}
function doLogout() {
doAjax("POST", "php/contenthandler.php?module=admin&command=logout", null, showLoginMask, "Logoutproblem");
}
function showLoginMask(jsonContent) {
if (jsonContent == "OK") {
// no login mask!
$("#loginmask").show();
$("#logoutarea").hide();
initializeMainMenu("#modulemenu");
}
}
function binding() {
$("#loginbutton").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
2020-11-19 22:47:44 +01:00
var userid = $("#userlistselection").find(":selected").val();
2020-11-19 22:44:19 +01:00
var password = $("#passwordfield").val();
2020-11-19 22:47:44 +01:00
tryAuthenticate(userid,password);
2020-11-19 22:44:19 +01:00
});
$("#logoutbutton").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
doLogout();
});
}
2020-11-19 22:47:44 +01:00
function startInstallationOrUseIt() {
doAjax("GET", "php/contenthandler.php?module=admin&command=isInstalled", null, handleResultOfInstallCheck, "PHP-Problem");
}
function handleResultOfInstallCheck(is_installed) {
if (is_installed == "Yes") {
useInstallation();
} else {
setTimeout(function(){document.location.href = "install.html"},500);
}
}
function useInstallation() {
2020-11-19 22:44:19 +01:00
initializeMainMenu("#modulemenu");
hideMenu();
askAndFillUserList();
isUserAlreadyLoggedIn();
binding();
2020-11-19 22:47:44 +01:00
}
$(document).on("pageinit", "#index-page", function () {
startInstallationOrUseIt();
2020-11-19 22:44:19 +01:00
});
</script>
<div data-role="page" id="index-page">
<div data-role="panel" id="modulepanel" data-position="right" data-display="overlay">
<ul data-role="listview" id="modulemenu" data-divider-theme="a" data-inset="true">
<li data-role="list-divider" data-theme="b" data-role="heading">Module</li>
</ul>
</div><!-- /panel -->
<div data-role="header" data-theme="b" data-position="fixed" id="theheader">
2020-11-19 22:47:44 +01:00
<h1>OrderSprinter</h1>
2020-11-19 22:44:19 +01:00
<div data-type="horizontal" style="top:0px;position:absolute;float:right;z-index:10;display:inline;" align="right" class="ui-btn-right">
<a href="#" data-role="button" data-icon="arrow-d" data-ajax="false" id="menuswitch">Module</a>
</div>
</div>
<div data-role="content">
<div data-role="collapsible" data-content-theme="c" data-collapsed="false" data-theme="e" id="loginmask">
<H2>Logindaten</H2>
<form method="post">
<table border=0>
<tr><td>Username: <td id="userlist"><tr>
<tr><td>Passwort: <td><input type="password" name="password" id="passwordfield"/><tr />
<tr><td colspan=2 align=center><input type="submit" value="Anmelden" id="loginbutton" data-theme="d"/></tr>
</table>
</form>
</div> <!-- Login-Maske -->
<div data-role="collapsible" data-content-theme="c" data-collapsed="false" data-theme="e" id="logoutarea">
<H2>Abmelden</H2>
<form method="post">
<input type="submit" value="Abmelden" id="logoutbutton" data-theme="d"/>
</form>
</div>
</div>
<div data-role="footer" data-theme="b" id="thefooterr">
<div class="ui-grid-a">
<div class="ui-block-a userinfo" id="loggedinuser"></div>
<div class="ui-block-b grid_right" id="versioninfo"></div>
</div><!-- /grid-a -->
</div> <!-- footer -->
</div>
<div data-role="popup" id="invalidusercredentials" name="invalidusercredentials" data-overlay-theme="a" style="max-width:70%;" class="ui-corner-all">
<div data-role="header" class="ui-corner-top">
<h1>Ungültiges Passwort</h1>
</div>
<a href="#" data-rel="back" data-role="button" data-theme="a" data-icon="delete" data-iconpos="notext" class="ui-btn-right"></a>
<div data-role="content" class="ui-corner-bottom ui-content">
<p>Bitte prüfen Sie, ob Sie den richtigen Benutzer ausgewählt und das Passwort korrekt eingegeben haben.</p>
</div>
</div> <!-- popup for failed password change -->
</div>
</body>
</html>