OrderSprinter 1.6.6

This commit is contained in:
Geno 2020-11-19 23:14:10 +01:00
parent b2556cb4f7
commit e947c9726d
49 changed files with 455 additions and 184 deletions

View File

@ -9,8 +9,8 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" href="css/gueststyle.css?v=1.6.5" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css?v=1.6.5" />
<link rel="stylesheet" href="css/gueststyle.css?v=1.6.6" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css?v=1.6.6" />
<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-1.11.3.min.js"></script>
@ -115,7 +115,7 @@
<div data-role="footer" data-theme="b" id="thefooter1">
<div class="ui-grid-a">
<div class="ui-block-a">&nbsp;&nbsp;OrderSprinter</div>
<div class="ui-block-b grid_right" id="versioninfo">1.6.5&nbsp;&nbsp;</div>
<div class="ui-block-b grid_right" id="versioninfo">1.6.6&nbsp;&nbsp;</div>
</div><!-- /grid-a -->
</div>
</div>

View File

@ -114,10 +114,10 @@ if (isset($_POST['code'])) {
} else {
echo "<html>";
echo "<head><title>Installation Gastsystem</title>";
echo '<link rel="stylesheet" type="text/css" href="css/gueststyle.css?v=1.6.5">';
echo '<link rel="stylesheet" type="text/css" href="css/gueststyle.css?v=1.6.6">';
echo "</head>";
echo "<body><div class=surround>";
echo "<span class=headerline>Installation OrderSprinter-Gastsystem 1.6.5</span><br><br>";
echo "<span class=headerline>Installation OrderSprinter-Gastsystem 1.6.6</span><br><br>";
echo "<form action='install.php' method='post'><input class=installfield name=code id=code type=text placeholder='Installationscode' />";
echo "<br><input type=submit value='Installation starten' class=installbtn />";
echo "</form></div></html>";

Binary file not shown.

View File

@ -85,7 +85,7 @@ class Installer {
}
Database::dropTables($pdo);
Database::createEmptyTables($pdo, $prefix);
Database::setVersion($pdo,$prefix,"1.6.5");
Database::setVersion($pdo,$prefix,"1.6.6");
Database::setAccessPassword($pdo,$prefix,$adminpass);
Database::setRefreshRate($pdo,$prefix,"5"); // default: 5 times per hour
return array("status" => "OK","msg" => "Installation successful");

Binary file not shown.

View File

@ -5,7 +5,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.5">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.6">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
@ -13,8 +13,8 @@
<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?v=1.6.5"></script>
<script src="kitchenbar.js?v=1.6.5"></script>
<script src="utilities.js?v=1.6.6"></script>
<script src="kitchenbar.js?v=1.6.6"></script>
<style>
#tableWithEntriesToCook,#tableWithCookedEntries,#headertableToCook

View File

@ -5,7 +5,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.5">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.6">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
@ -21,7 +21,7 @@
<link rel="stylesheet" href="php/3rdparty/jqueryui1-11-4/jquery-ui.min.css" />
<script src="php/3rdparty/jqueryui1-11-4/jquery-ui.min.js"></script>
<script src="php/3rdparty/jqueryui1-11-4/jquery-ui-i18n.min.js"></script>
<script src="utilities.js?v=1.6.5"></script>
<script src="utilities.js?v=1.6.6"></script>
<script src="receiptutils.js"></script>
<script>
@ -236,10 +236,12 @@ function displayBillsWithContent (jsonContent) {
var collapse_elem_id = 'collapse_' + id;
var collapse_elem = '<div data-role="collapsible" data-content-theme="e" id="'+collapse_elem_id+'" data-collapsed="true" data-theme="c" class="billcollapsible">';
var header = '<h3>'+shortdate + ": " + BILL_TABLE[lang] + " &lt;" + tablename + "&gt; " + brutto + ' ' + currency + '</h3>';
var idPart = "(" + id + ") ";
var header = '<h3>' + idPart +shortdate + ": " + BILL_TABLE[lang] + " &lt;" + tablename + "&gt; " + brutto + ' ' + currency;
if (entry.isClosed == 1) {
header = '<h3>'+shortdate + ": " + BILL_TABLE[lang] + " &lt;" + tablename + "&gt; " + brutto + ' ' + currency + ' -' + BILL_CLOSED[lang] + '-</h3>';
header += ' -' + BILL_CLOSED[lang] + '-';
}
header += '</h3>';
var waitTxt = '<p><img src=php/3rdparty/images/ajax-loader.gif /></p>';
txt += collapse_elem + header + waitTxt + "</div>";
}
@ -342,7 +344,7 @@ function getBillWithId(id) {
alert("ERROR - Rechnung mit ID " + id + " konnte nicht gefunden werden");
return;
}
var content = generateHtmlBillFromScratch(lang,id,entry.billcontent,currency,decpoint,companyInfo,hosthtml,entry.billcontent.billoverallinfo.guestinfo);
var content = generateHtmlBillFromScratch(lang,id,entry.billcontent,currency,decpoint,hosthtml,entry.billcontent.billoverallinfo.guestinfo);
var printbuttonid = 'print_' + id;
var cancelbuttonid = 'cancel_' + id;

View File

@ -0,0 +1,25 @@
l;
t:llllllllllllllllllll; f: ; a_ID:rrrrrrrrrrr
;f: ;d:w
g:v; c:v
k:rrr; s: ; m:v; s: ; n:rrrrrr; o:rrrrrrr
f:-
START_PRODUCTS
a:rrr; s: ; c:v; s: ; b:rrrrrr; d:rrrrrrr
END_PRODUCTS
p:rrrrr; q:rrrrrr; r:rrrrrrrr; n:rrrrrrrr
START_TAXES
t:rrrrr; m:rrrrrr; n:rrrrrrrr; b:rrrrrrrr
END_TAXES
f: ; E_Summe:llllllllllllllllllll;
{{Betriebsinfo:v::}}
{{Kassenid:v::Kasse}}
{{UID:v::UID}}
{{Version:v::OrderSprinter-Version}}
{{SN:v::SN}}

View File

@ -7,7 +7,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.5">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.6">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
@ -23,8 +23,8 @@
<link rel="stylesheet" href="php/3rdparty/jqueryui1-11-4/jquery-ui.min.css" />
<script src="php/3rdparty/jqueryui1-11-4/jquery-ui.min.js"></script>
<script src="php/3rdparty/jqueryui1-11-4/jquery-ui-i18n.min.js"></script>
<script src="utilities.js?v=1.6.5"></script>
<script src="elements/customers.js?v=1.6.5"></script>
<script src="utilities.js?v=1.6.6"></script>
<script src="elements/customers.js?v=1.6.6"></script>
</head>
<body>

View File

@ -4,7 +4,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.5">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.6">
<link rel="stylesheet" href="css/ospage.css" />
@ -17,7 +17,7 @@
<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?v=1.6.5"></script>
<script src="utilities.js?v=1.6.6"></script>
<script src="receiptutils.js"></script>
<script src="elements/dash.js"></script>
<script src="php/3rdparty/Chart.bundle.min.js"></script>

View File

@ -163,7 +163,7 @@ function Groundplan() {
$("#createtableqrcodesbtn").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
window.open("php/contenthandler.php?module=roomtables&command=tableqrcodes&v=1.6.5",'_blank');
window.open("php/contenthandler.php?module=roomtables&command=tableqrcodes&v=1.6.6",'_blank');
});
this.bindRoomChanges();

View File

@ -4,7 +4,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.5">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.6">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
@ -12,7 +12,7 @@
<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?v=1.6.5"></script>
<script src="utilities.js?v=1.6.6"></script>
<script src="kitchenbar.js"></script>
<style>

View File

@ -9,8 +9,8 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.5">
<link rel="stylesheet" type="text/css" href="css/numfield.css?v=1.6.5">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.6">
<link rel="stylesheet" type="text/css" href="css/numfield.css?v=1.6.6">
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
@ -18,7 +18,7 @@
<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?v=1.6.5"></script>
<script src="utilities.js?v=1.6.6"></script>
</head>
<body>

View File

@ -9,8 +9,8 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.5">
<link rel="stylesheet" type="text/css" href="css/numfield.css?v=1.6.5">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.6">
<link rel="stylesheet" type="text/css" href="css/numfield.css?v=1.6.6">
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
@ -18,7 +18,7 @@
<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?v=1.6.5"></script>
<script src="utilities.js?v=1.6.6"></script>
</head>
<body>
@ -132,7 +132,7 @@ function displayLoginOrLogoutMask(jsonContent) {
// user needs to log in!
$("#passwordfield").val("");
$("#logoutarea").hide();
setTimeout(function(){document.location.href = "index.html?v=1.6.5"},250);
setTimeout(function(){document.location.href = "index.html?v=1.6.6"},250);
}
}
@ -232,7 +232,7 @@ function handleResultOfInstallCheck(is_installed) {
if (is_installed == "Yes") {
useInstallation();
} else {
setTimeout(function(){document.location.href = "install.html?v=1.6.5"},500);
setTimeout(function(){document.location.href = "install.html?v=1.6.6"},500);
}
}
@ -295,11 +295,11 @@ $(document).on("pageinit", "#index-page", function () {
<div data-role="content">
<p><div id="toplogolocation" style="text-align: center;display:none;"><img src="php/contenthandler.php?module=printqueue&command=getLogoAsPngWithAlphaChannel&v=1.6.5&style=always" style="max-height:150px;"/></div>
<p><div id="toplogolocation" style="text-align: center;display:none;"><img src="php/contenthandler.php?module=printqueue&command=getLogoAsPngWithAlphaChannel&v=1.6.6&style=always" style="max-height:150px;"/></div>
<div data-role="collapsible" data-content-theme="c" data-collapsed="false" data-theme="e" id="loginmask">
<H2>Anmelden</H2>
<p><div id="middlelogolocation" style="text-align: left;padding-left: 80px;padding-right:80px;display:none;"><img src="php/contenthandler.php?module=printqueue&command=getLogoAsPngWithAlphaChannel&v=1.6.5&style=always" style="max-height:150px;"/></div>
<p><div id="middlelogolocation" style="text-align: left;padding-left: 80px;padding-right:80px;display:none;"><img src="php/contenthandler.php?module=printqueue&command=getLogoAsPngWithAlphaChannel&v=1.6.6&style=always" style="max-height:150px;"/></div>
<form method="post">
<table border=0>

View File

@ -915,7 +915,7 @@ El servicio web OrderSprinter no requiere una conexión a Internet. Sin embargo,
<tr id=updateline>
<td>&nbsp;</td>
<td align=center>
<button id="updatebtn">Update -> 1.6.5</button>
<button id="updatebtn">Update -> 1.6.6</button>
<span id="updateinprogresstxt" style="display:none;"><img id="installprogressindicator" src="php/3rdparty/images/ajax-loader.gif" alt="Progress indication" style="display:none;"/> Update... bitte warten.</span>
</td>
<td>&nbsp;</td>

View File

@ -455,7 +455,7 @@ return;
}
set_time_limit(60*30);
$installerVersion = "1.6.5";
$installerVersion = "1.6.6";
$admin = new InstallAdmin();
$pdo = $admin->openDbAndReturnPdo($_POST['host'],$_POST['db'],$_POST['user'],$_POST['password']);

View File

@ -5,7 +5,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.5">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.6">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
@ -13,8 +13,8 @@
<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?v=1.6.5"></script>
<script src="kitchenbar.js?v=1.6.5"></script>
<script src="utilities.js?v=1.6.6"></script>
<script src="kitchenbar.js?v=1.6.6"></script>
<style>
#tableWithEntriesToCook,#tableWithCookedEntries,#headertableToCook

View File

@ -5,7 +5,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.5">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.6">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
@ -13,10 +13,10 @@
<link rel="stylesheet" href="php/3rdparty/jquery.mobile-1.4.0.min.css" type="text/css" />
<script src="php/3rdparty/jquery-1.11.3.min.js"></script>
<script src="php/3rdparty/jquery.mobile-1.4.5.min.js"></script>
<script src="utilities.js?v=1.6.5"></script>
<script src="elements/tablemap.js?v=1.6.5"></script>
<script src="elements/roommap.js?v=1.6.5"></script>
<script src="elements/groundplan.js?v=1.6.5"></script>
<script src="utilities.js?v=1.6.6"></script>
<script src="elements/tablemap.js?v=1.6.6"></script>
<script src="elements/roommap.js?v=1.6.6"></script>
<script src="elements/groundplan.js?v=1.6.6"></script>
<link href="php/3rdparty/hayageek_uploadfile.css" rel="stylesheet">
<script src="php/3rdparty/hayageek_jquery_uploadfile.js"></script>
@ -141,7 +141,7 @@ var MAN_REF = ["Referenz-Bon-ID","Reference Receipt id","Tique referenciado"];
var MAN_CHANGE = ["Speichern","Save Changes","guardar cambios"];
var MAN_CONFIG_CHANGED = ["Konfiguration geändert","Configuration saved","Configuración modificado"];
var MAN_CONFIG_CHANGE_ERROR = ["Falsches Zahlenformat oder Serverproblem","Error","Error"];
var MAN_ERROR_MASTER_DATA_CHANGE = ["Einige der zu ändernden Werte gehören zu den Stammdaten. Eine Änderung ist nach dem nächsten Tagesabschluss erlaubt.","Some of the values to be changed belong to master data. A change is allowed after the next closing.","Algunos de los valores que deben modificarse pertenecen a datos maestros. Se permite un cambio después del cierre del día siguiente."];
var MAN_DATEXPDETTXT = ["Hier können Sie Berichte erstellen lassen, die <ul><li>alle abgerechneten und in Tagesabschlüssen enthaltenen Bonabrechungen im unten auswählbaren Zeitraum beinhaltet.</li><li>alle Stammdaten (Produkte) und deren Änderungen seit der Installation aufführt.</li><li>und vieles mehr</li></ul>",
"In this control field you can create varios reports with e.g.<ul><li>all receipts transactions of the specified period that are part of a closing.</li><li>all product data and their changes in history since the installation.</li><li>and much more</li></ul>",
"En esta parte se puede crear un fichero con <ul><li>todos los tiques en un período que estan ya cerrados.</li><li>todos los productos y sus modificaciones desde la instalación."];
@ -194,6 +194,7 @@ var MAN_RECEIPT_FONTSIZE = ["Schriftgröße Bon (Bildschirm)","Font size receipt
var MAN_EMAIL_DATA = ["Email senden","Send email","Enviar email"];
var MAN_EMAIL_WRONG_FORMAT = ["Keine gültige Email-Adresse angegeben.","No valid email address.","Dirección de email invalida."];
var MAN_EMAIL_EMPTY = ["Keine Email-Adresse angegeben.","No email address given.","No hay ningún dirección de email."];
var MAN_SAMPLE_RECTEMPL_TXT = ["Beispielvorlage","Sample template","Ejemplo"];
var MAN_HOSTTEXT_TXT = ["Vorlage Bewirtungsbeleg","Template hospitality receipt","Recibo de hospitalidad"];
var MAN_EMAIL_SENDER_TXT = ["Email-Absender:","Email sender:","Remitente de email:"];
var MAN_DEFAULT_EMAIL_TO = ["Standard-Email-Empfänger:","Standard email receiver","Destinario estandard de emails"];
@ -295,6 +296,7 @@ var MAN_SMTPPASS = ["SMTP-Passwort","SMTP password","SMTP contraseña"];
var MAN_SMTPSECURE = ["SMTP-Protokoll","SMTP Protocol","SMTP Seguridad"];
var MAN_SMTPPORT = ["SMTP-Port","SMTP Port","SMTP Port"];
var MAN_STARTPRODSEARCH = ["Starte Produktsuche ab # Zeichen","Start product search after # characters","Initiar busqueda de productos después x letras"];
var MAN_SYSTEMID = ["Kassen-ID","System ID","Identificación del sistema"];
var MAN_DISCOUNTNAME1 = ["Bezeichnung Rabatt 1","Name of discount 1","Nombre del descuento 1"];
var MAN_DISCOUNTNAME2 = ["Bezeichnung Rabatt 2","Name of discount 2","Nombre del descuento 2"];
var MAN_DISCOUNTNAME3 = ["Bezeichnung Rabatt 3","Name of discount 3","Nombre del descuento 3"];
@ -541,6 +543,7 @@ var activeusers = [];
var printerqueueexpanded = false;
var generalValuesSettings = [
["systemid",MAN_SYSTEMID[lang],"i",0,""],
["usstval","MwSt","i",2,"Mehrwertsteuer ist kein Zahlenwert"],
["togotaxval","ToGo-MwSt","i",2,"Togo-Mehrwertsteuer ist kein Zahlenwert"],
["taxaustrianormalval","Österreich Steuer 'Normal'","i",2,"Angabe Österreich-Steuersatz 'normal' ist kein Zahlenwert"],
@ -728,6 +731,7 @@ function setLanguage(l) {
$("#readspeisekarte").html(MAN_APPLY[l]);
$("#samplerectemplatetxt").html(MAN_SAMPLE_RECTEMPL_TXT[l]);
$("#hosttexttxt").html(MAN_HOSTTEXT_TXT[l]);
$("#fromemailtxt").html(MAN_EMAIL_SENDER_TXT[l]);
$("#toemailtxt").html(MAN_DEFAULT_EMAIL_TO[l]);
@ -739,6 +743,7 @@ function setLanguage(l) {
$("#guesttimeoutxt").html(MAN_GUEST_TIMEOUT[l]);
$("#startprodsearchtxt").html(MAN_STARTPRODSEARCH[l]);
$("#systemidtxt").html(MAN_SYSTEMID[l]);
$("#discountname1txt").html(MAN_DISCOUNTNAME1[l]);
$("#discountname2txt").html(MAN_DISCOUNTNAME2[l]);
@ -1028,8 +1033,11 @@ function insertGeneralConfigItems(configResult) {
saveValueIntoForm(values.taxaustriaspecial,decpoint,"#taxaustriaspecialval");
version = values.version;
var sn = values.sn;
$("#sn_field").html(sn);
activeusers = values.activeusers;
$("#systemid").val(values.systemid);
$("#companyinfo").val(values.companyinfo);
$("#hosttext").val(values.hosttext);
$("#rectemplate").val(values.rectemplate);
@ -1697,7 +1705,11 @@ function reactOnConfigChange(result) {
getGeneralConfigItems();
alert(MAN_CONFIG_CHANGED[lang]);
} else {
alert(MAN_CONFIG_CHANGE_ERROR[lang] + ": " + result.msg);
if ((result.code != undefined) && (result.code == 35)) {
alert(MAN_ERROR_MASTER_DATA_CHANGE[lang]);
} else {
alert(MAN_CONFIG_CHANGE_ERROR[lang] + ": " + result.msg);
}
}
}
@ -1726,7 +1738,7 @@ function initRestoreFileUpload() {
} else {
alert("Import war erfolgreich.");
setTimeout(function(){
document.location.href = "index.html?v=1.6.5";
document.location.href = "index.html?v=1.6.6";
},250);
}
},
@ -2086,6 +2098,12 @@ function bindConfig() {
$(this).data("changed",true);
});
$("#samplerectemplate").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
doAjax("GET","php/contenthandler.php?module=admin&command=getrectemplate&v=1.6.6",null,handleGetRecTemplate,null);
})
$("#changeConfig").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
@ -2209,38 +2227,38 @@ function binding() {
$("#backup_btn").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
window.location.href = "php/contenthandler.php?module=admin&command=backup&type=configuration&v=1.6.5";
window.location.href = "php/contenthandler.php?module=admin&command=backup&type=configuration&v=1.6.6";
});
$("#backup_btnall").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
window.location.href = "php/contenthandler.php?module=admin&command=backup&type=all&v=1.6.5";
window.location.href = "php/contenthandler.php?module=admin&command=backup&type=all&v=1.6.6";
});
$("#backup_btnalllogs").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
window.location.href = "php/contenthandler.php?module=admin&command=backup&type=alllogs&v=1.6.5";
window.location.href = "php/contenthandler.php?module=admin&command=backup&type=alllogs&v=1.6.6";
});
$("#backup_btnftpall").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
showProgressPopup();
doAjax("GET","php/contenthandler.php?module=admin&command=ftpbackup&type=all&v=1.6.5",null,handleFtpResult,null);
doAjax("GET","php/contenthandler.php?module=admin&command=ftpbackup&type=all&v=1.6.6",null,handleFtpResult,null);
});
$("#backup_debugdata").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
window.open("php/contenthandler.php?module=admin&command=backup&type=debugdata&v=1.6.5",'_blank');
window.open("php/contenthandler.php?module=admin&command=backup&type=debugdata&v=1.6.6",'_blank');
});
$("#backupguests_btn").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
window.location.href = "php/contenthandler.php?module=admin&command=backup&type=confandguests&v=1.6.5";
window.location.href = "php/contenthandler.php?module=admin&command=backup&type=confandguests&v=1.6.6";
});
$("#golive").off("click").on("click", function (e) {
@ -2342,6 +2360,14 @@ function binding() {
bindSelectionsWithActions();
}
function handleGetRecTemplate(answer) {
if (answer.status == "OK") {
$("#rectemplate").val(answer.msg);
$("#rectemplate").data("changed",true);
}
}
function getSpooledPrintJobs() {
doAjax("GET","php/contenthandler.php?module=printqueue&command=getPrintJobOverview",null,insertPrintQueue,null);
}
@ -2413,7 +2439,7 @@ function updateOneSingleFile() {
setTimeout(function(){
$("#sliderarea").hide();
var millis=getMillis();
document.location.href = "install.html?v=1.6.5&mode=onlyupdate&n=" + millis;
document.location.href = "install.html?v=1.6.6&mode=onlyupdate&n=" + millis;
},250);
}
}
@ -2702,6 +2728,8 @@ function confirmMsg (result) {
alert(MAN_PARSE_ERROR_LINE[lang] + ":\n" + result.line + "\n" + MAN_PARSE_ERROR[lang]);
} else if (code == 27) {
alert(MAN_WRONG_NUMBER_FORMAT[lang]);
} else if (code == 35) {
alert(MAN_ERROR_MASTER_DATA_CHANGE[lang]);
} else {
alert (MAN_PARSE_ERROR[lang]);
}
@ -3946,6 +3974,7 @@ $(document).on("pageinit", "#admin-page", function () {
<div data-role="collapsible" data-collapsed="true" data-theme="e" data-content-theme="c" class="noprint" id="configpart" style="display:none;">
<h3><span id="configtxt">Konfiguration</span></h3>
<p />System-SN: <span id="sn_field">?</span>
<form action="#" method="get">
<p><a class="genconflink" href="" onclick="javascript:showconfsection('confgensection'); return false">
@ -3959,6 +3988,10 @@ $(document).on("pageinit", "#admin-page", function () {
<div id="partOfUsebarcode"></div>
<div data-role="fieldcontain">
<label for="systemid"><span id="systemidtxt">Systemid:</span></label>
<input type="text" value="" data-mini="true" placeholder="3" id="systemid" data-theme="c" class="genConfigEl"/>
</div>
<div data-role="fieldcontain">
<label for="companyinfo">Betriebsinfo:</label>
<textarea cols="40" rows="8" name="companyinfo" id="companyinfo" class="genConfigEl" style="background-color:#FFFFFF;color:black;"></textarea>
@ -4251,6 +4284,7 @@ $(document).on("pageinit", "#admin-page", function () {
<div data-role="fieldcontain">
<label for="rectemplate">Kassenbonvorlage:</label>
<textarea cols="40" rows="8" name="rectemplate" id="rectemplate" class="genConfigEl" style="background-color:#FFFFFF;color:black;"></textarea>
<button id="samplerectemplate" data-theme="e"><span id="samplerectemplatetxt">Beispielvorlage</span></button>
<i id=rectemplatehint style="padding-left: 50px;padding-right: 50px;">Hinweis: siehe Anleitung</i>
</div>
<div data-role="fieldcontain">

File diff suppressed because one or more lines are too long

View File

@ -110,7 +110,8 @@ class Admin {
"getdashreports" => array("loggedin" => 1, "isadmin" => 0, "rights" => array("dash")),
"getDailycode" => array("loggedin" => 1, "isadmin" => 0, "rights" => null),
"askforcompanyinfo" => array("loggedin" => 0, "isadmin" => 0, "rights" => null)
"askforcompanyinfo" => array("loggedin" => 0, "isadmin" => 0, "rights" => null),
"getrectemplate" => array("loggedin" => 1, "isadmin" => 0, "rights" => null)
);
@ -401,6 +402,8 @@ class Admin {
self::askforcompanyinfo();
} else if ($command == 'setTurbo') {
$this->setTurbo($_POST["turbo"]);
} else if ($command == 'getrectemplate') {
self::getrectemplate();
}
else {
echo "Command not supported.";
@ -1102,6 +1105,7 @@ class Admin {
if ($userLoggedIn || (!$forHtml)) {
$items = array(
array("systemid",1,false),
array("companyinfo",null,false),
array("hosttext",null,false),
array("rectemplate",null,false),
@ -1245,7 +1249,9 @@ class Admin {
array("guestqrtext",null,false),
array("guestqrsize",null,false),
array("guestqrfontsize",null,false),
array("reservationitem",null,false)
array("reservationitem",null,false),
array("sn",null,false)
);
if (is_null($pdo)) {
@ -1443,7 +1449,7 @@ class Admin {
$view = "preferences.html";
}
echo json_encode($view . "?v=1.6.5");
echo json_encode($view . "?v=1.6.6");
}
}
@ -1552,8 +1558,14 @@ class Admin {
}
private function fillSpeisekarte($speisekarte) {
$pdo = $this->dbutils->openDbAndReturnPdo();
private function fillSpeisekarte($speisekarte) {
$pdo = DbUtils::openDbAndReturnPdoStatic();
if (!CommonUtils::canMasterDataBeChanged($pdo)) {
echo json_encode(array("status" => "ERROR", "code" => ERROR_MASTERDATA, "msg" => "Stammdatenänderungen erfordern einen vorherigen Tagesabschluss"));
return;
}
$pdo->beginTransaction();
$ret = $this->fillSpeisekarteCore($pdo,$speisekarte);
@ -1664,31 +1676,31 @@ class Admin {
if (!self::isOnlyRatingUser($rights, $right_rating, true)) {
if ($_SESSION['modus'] == 0) {
if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waitertxt[$lang], "link" => "waiter.html?v=1.6.5"); }
if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waitertxt[$lang], "link" => "waiter.html?v=1.6.6"); }
} else {
if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waiterdesktxt[$lang], "link" => "waiterdesktop.php?v=1.6.5"); }
if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waiterdesktxt[$lang], "link" => "waiterdesktop.php?v=1.6.6"); }
}
if ($_SESSION['right_kitchen']) { $mainMenu[] = array("name" => $kitchentxt[$lang], "link" => "kitchen.html?v=1.6.5"); }
if ($_SESSION['right_bar']) { $mainMenu[] = array("name" => "Bar", "link" => "bar.html?v=1.6.5"); }
if ($_SESSION['right_supply']) { $mainMenu[] = array("name" => $supplytxt[$lang], "link" => "supplydesk.html?v=1.6.5"); }
if ($_SESSION['right_kitchen']) { $mainMenu[] = array("name" => $kitchentxt[$lang], "link" => "kitchen.html?v=1.6.6"); }
if ($_SESSION['right_bar']) { $mainMenu[] = array("name" => "Bar", "link" => "bar.html?v=1.6.6"); }
if ($_SESSION['right_supply']) { $mainMenu[] = array("name" => $supplytxt[$lang], "link" => "supplydesk.html?v=1.6.6"); }
if ($_SESSION['modus'] == 0) {
if ($_SESSION['right_paydesk']) { $mainMenu[] = array("name" => $paydesktxt[$lang], "link" => "paydesk.html?v=1.6.5"); }
if ($_SESSION['right_paydesk']) { $mainMenu[] = array("name" => $paydesktxt[$lang], "link" => "paydesk.html?v=1.6.6"); }
}
if ($_SESSION['right_statistics']) { $mainMenu[] = array("name" => $stattxt[$lang], "link" => "reports.html?v=1.6.5"); }
if ($_SESSION['right_bill']) { $mainMenu[] = array("name" => $bontxt[$lang], "link" => "bill.html?v=1.6.5"); }
if ($_SESSION['right_products']) { $mainMenu[] = array("name" => $prodtxt[$lang], "link" => "products.html?v=1.6.5"); }
if ($_SESSION['right_reservation']) { $mainMenu[] = array("name" => $restxt[$lang], "link" => "reservation.html?v=1.6.5"); }
if ($_SESSION['right_tasks'] || $_SESSION['right_tasksmanagement']) { $mainMenu[] = array("name" => $taskstxt[$lang], "link" => "tasks.html?v=1.6.5"); }
if ($_SESSION['right_rating']) { $mainMenu[] = array("name" => $ratingtxt[$lang], "link" => "rating.html?v=1.6.5"); }
if ($_SESSION['right_customers']) { $mainMenu[] = array("name" => $customerstxt[$lang], "link" => "customers.html?v=1.6.5"); }
if ($_SESSION['right_pickups']) { $mainMenu[] = array("name" => $pickupstxt[$lang], "link" => "pickups.html?v=1.6.5"); }
if ($_SESSION['right_dash']) { $mainMenu[] = array("name" => $dashtxt[$lang], "link" => "dash.php?v=1.6.5"); }
if ($_SESSION['right_manager'] || $_SESSION['is_admin'] || $_SESSION['right_closing']) { $mainMenu[] = array("name" => $admintxt[$lang], "link" => "manager.html?v=1.6.5"); }
$mainMenu[] = array("name" => $settingtxt[$lang], "link" => "preferences.html?v=1.6.5");
if ($_SESSION['right_timetracking'] || $_SESSION['right_timemanager']) { $mainMenu[] = array("name" => $timetrackingtxt[$lang], "link" => "timetracking.html?v=1.6.5"); }
if ($_SESSION['right_statistics']) { $mainMenu[] = array("name" => $stattxt[$lang], "link" => "reports.html?v=1.6.6"); }
if ($_SESSION['right_bill']) { $mainMenu[] = array("name" => $bontxt[$lang], "link" => "bill.html?v=1.6.6"); }
if ($_SESSION['right_products']) { $mainMenu[] = array("name" => $prodtxt[$lang], "link" => "products.html?v=1.6.6"); }
if ($_SESSION['right_reservation']) { $mainMenu[] = array("name" => $restxt[$lang], "link" => "reservation.html?v=1.6.6"); }
if ($_SESSION['right_tasks'] || $_SESSION['right_tasksmanagement']) { $mainMenu[] = array("name" => $taskstxt[$lang], "link" => "tasks.html?v=1.6.6"); }
if ($_SESSION['right_rating']) { $mainMenu[] = array("name" => $ratingtxt[$lang], "link" => "rating.html?v=1.6.6"); }
if ($_SESSION['right_customers']) { $mainMenu[] = array("name" => $customerstxt[$lang], "link" => "customers.html?v=1.6.6"); }
if ($_SESSION['right_pickups']) { $mainMenu[] = array("name" => $pickupstxt[$lang], "link" => "pickups.html?v=1.6.6"); }
if ($_SESSION['right_dash']) { $mainMenu[] = array("name" => $dashtxt[$lang], "link" => "dash.php?v=1.6.6"); }
if ($_SESSION['right_manager'] || $_SESSION['is_admin'] || $_SESSION['right_closing']) { $mainMenu[] = array("name" => $admintxt[$lang], "link" => "manager.html?v=1.6.6"); }
$mainMenu[] = array("name" => $settingtxt[$lang], "link" => "preferences.html?v=1.6.6");
if ($_SESSION['right_timetracking'] || $_SESSION['right_timemanager']) { $mainMenu[] = array("name" => $timetrackingtxt[$lang], "link" => "timetracking.html?v=1.6.6"); }
$mainMenu[] = array("name" => "Hilfe", "link" => "help.php?v=1.6.5");
$mainMenu[] = array("name" => "Feedback", "link" => "feedback.html?v=1.6.5");
$mainMenu[] = array("name" => "Hilfe", "link" => "help.php?v=1.6.6");
$mainMenu[] = array("name" => "Feedback", "link" => "feedback.html?v=1.6.6");
}
$mainMenu[] = array("name" => $logout[$lang], "link" => "logout.php");
@ -1808,6 +1820,11 @@ class Admin {
}
}
private static function getrectemplate() {
$rectemplate = file_get_contents(__DIR__. '/../customer/rectemplate.txt');
echo json_encode(array("status" => "OK","msg" => $rectemplate));
}
private function getDbStat() {
try {
$pdo = DbUtils::openDbAndReturnPdoStatic();
@ -2162,26 +2179,41 @@ class Admin {
return $aVal;
}
private static function isMasterDataInSetOfChangedValues($valuesToChange,$valueSpecifications) {
foreach ($valuesToChange as $aChangeSet) {
$name = $aChangeSet['name'];
$valSpec = $valueSpecifications[$name];
if (isset($valSpec["ismasterdata"])) {
$isMasterData = $valSpec["ismasterdata"];
if ($isMasterData === 1) {
return true;
}
}
}
return false;
}
function changeConfig($changedValues) {
$pdo = $this->dbutils->openDbAndReturnPdo();
$assoc_vals = array(
"usstval" => array("dbcol" => "tax","checknum" => 1),
"togotaxval" => array("dbcol" => "togotax","checknum" => 1),
$pdo = DbUtils::openDbAndReturnPdoStatic();
$valueSpecifications = array(
"systemid" => array("dbcol" => "systemid","checknum" => 0,"ismasterdata" => 1),
"usstval" => array("dbcol" => "tax","checknum" => 1,"ismasterdata" => 1),
"togotaxval" => array("dbcol" => "togotax","checknum" => 1,"ismasterdata" => 1),
"taxaustrianormalval" => array("dbcol" => "taxaustrianormal","checknum" => 1),
"taxaustriaerm1val" => array("dbcol" => "taxaustriaerm1","checknum" => 1),
"taxaustriaerm2val" => array("dbcol" => "taxaustriaerm2","checknum" => 1),
"taxaustriaspecialval" => array("dbcol" => "taxaustriaspecial","checknum" => 1),
"stornocode" => array("dbcol" => "stornocode","checknum" => 0),
"printpass" => array("dbcol" => "printpass","checknum" => 0),
"companyinfo" => array("dbcol" => "companyinfo","checknum" => 0),
"companyinfo" => array("dbcol" => "companyinfo","checknum" => 0,"ismasterdata" => 1),
"hosttext" => array("dbcol" => "hosttext","checknum" => 0),
"rectemplate" => array("dbcol" => "rectemplate","checknum" => 0),
"rectemplate" => array("dbcol" => "rectemplate","checknum" => 0,"ismasterdata" => 1),
"foodtemplate" => array("dbcol" => "foodtemplate","checknum" => 0),
"drinktemplate" => array("dbcol" => "drinktemplate","checknum" => 0),
"canceltemplate" => array("dbcol" => "canceltemplate","checknum" => 0),
"clostemplate" => array("dbcol" => "clostemplate","checknum" => 0),
"pickuptemplate" => array("dbcol" => "pickuptemplate","checknum" => 0),
"serverUrl" => array("dbcol" => "serverurl","checknum" => 0),
"serverUrl" => array("dbcol" => "serverurl","checknum" => 0,"ismasterdata" => 1),
"guesturl" => array("dbcol" => "guesturl","checknum" => 0),
"guestcode" => array("dbcol" => "guestcode","checknum" => 0),
"dailycode" => array("dbcol" => "dailycode","checknum" => 0),
@ -2202,7 +2234,7 @@ class Admin {
"discount1" => array("dbcol" => "discount1","checknum" => 0),
"discount2" => array("dbcol" => "discount2","checknum" => 0),
"discount3" => array("dbcol" => "discount3","checknum" => 0),
"austria" => array("dbcol" => "austria","checknum" => 0),
"austria" => array("dbcol" => "austria","checknum" => 0,"ismasterdata" => 1),
"digigopaysetready" => array("dbcol" => "digigopaysetready","checknum" => 0),
"waitergopayprint" => array("dbcol" => "waitergopayprint","checknum" => 0),
"oneprodworkrecf" => array("dbcol" => "oneprodworkrecf","checknum" => 0),
@ -2210,19 +2242,19 @@ class Admin {
"digiprintwork" => array("dbcol" => "digiprintwork","checknum" => 0),
"groupworkitemsf" => array("dbcol" => "groupworkitemsf","checknum" => 0),
"groupworkitemsd" => array("dbcol" => "groupworkitemsd","checknum" => 0),
"workflowconfig" => array("dbcol" => "workflowconfig","checknum" => 0),
"workflowconfig" => array("dbcol" => "workflowconfig","checknum" => 0,"ismasterdata" => 1),
"dashslot1" => array("dbcol" => "dashslot1","checknum" => 0),
"dashslot2" => array("dbcol" => "dashslot2","checknum" => 0),
"dashslot3" => array("dbcol" => "dashslot3","checknum" => 0),
"receiptfontsize" => array("dbcol" => "receiptfontsize","checknum" => 0),
"billlanguage" => array("dbcol" => "billlanguage","checknum" => 0),
"hotelinterface" => array("dbcol" => "hotelinterface","checknum" => 0),
"billlanguage" => array("dbcol" => "billlanguage","checknum" => 0,"ismasterdata" => 1),
"hotelinterface" => array("dbcol" => "hotelinterface","checknum" => 0,"ismasterdata" => 1),
"hsinfile" => array("dbcol" => "hsinfile","checknum" => 0),
"hsoutfile" => array("dbcol" => "hsoutfile","checknum" => 0),
"hscurrency" => array("dbcol" => "hscurrency","checknum" => 0),
"reservationnote" => array("dbcol" => "reservationnote","checknum" => 0),
"remoteaccesscode" => array("dbcol" => "remoteaccesscode","checknum" => 0),
"webimpressum" => array("dbcol" => "webimpressum","checknum" => 0),
"webimpressum" => array("dbcol" => "webimpressum","checknum" => 0,"ismasterdata" => 1),
"cancelunpaidcode" => array("dbcol" => "cancelunpaidcode","checknum" => 0),
"cancelguestcode" => array("dbcol" => "cancelguestcode","checknum" => 0),
"printandqueuejobs" => array("dbcol" => "printandqueuejobs","checknum" => 0),
@ -2252,7 +2284,7 @@ class Admin {
"showpayment7" => array("dbcol" => "showpayment7","checknum" => 0),
"showpayment8" => array("dbcol" => "showpayment8","checknum" => 0),
"restaurantmode" => array("dbcol" => "restaurantmode","checknum" => 0),
"restaurantmode" => array("dbcol" => "restaurantmode","checknum" => 0,"ismasterdata" => 1),
"usebarcode" => array("dbcol" => "usebarcode","checknum" => 0),
"defaultview" => array("dbcol" => "defaultview", "checknum" => 0),
"dblog" => array("dbcol" => "dblog","checknum" => 0),
@ -2314,6 +2346,16 @@ class Admin {
"guestqrfontsize" => array("dbcol" => "guestqrfontsize","checknum" => 1),
"reservationitem" => array("dbcol" => "reservationitem","checknum" => 0)
);
$isMasterData = self::isMasterDataInSetOfChangedValues($changedValues, $valueSpecifications);
if ($isMasterData) {
$canMasterDataBeChanged = CommonUtils::canMasterDataBeChanged($pdo);
if (!$canMasterDataBeChanged) {
echo json_encode(array("status" => "ERROR", "code" => ERROR_MASTERDATA, "msg" => "Stammdatenänderungen erfordern einen vorherigen Tagesabschluss"));
return;
}
}
$problem = false;
foreach ($changedValues as $aChangeSet) {
$name = $aChangeSet['name'];
@ -2422,7 +2464,7 @@ class Admin {
}
}
$association = $assoc_vals[$name];
$association = $valueSpecifications[$name];
$dbcol = $association["dbcol"];
$check = $association["checknum"];
@ -2668,9 +2710,9 @@ class Admin {
$pdo = DbUtils::openDbAndReturnPdoStatic();
$this->writeCsvHeader("datenexport-config.csv");
echo("Eintragsid; Datum ; Konfiguration; Wert;Beschreibung\n");
echo("Eintragsid; Datum ; Tagesabschluss; Konfiguration; Wert;Beschreibung\n");
$sql = "SELECT DISTINCT %hist%.id as id,date,";
$sql = "SELECT DISTINCT %hist%.id as id,date,IFNULL(clsid,'-') as clsid,";
$sql .= "%config%.name as configitem,%histconfig%.setting as setting,description ";
$sql .= " FROM %hist%, %histconfig%, %histactions%, %config% ";
$sql .= " WHERE (refid=%histconfig%.id) ";
@ -2679,19 +2721,18 @@ class Admin {
$sql .= " AND (action=%histactions%.id) ";
$sql .= " ORDER BY date,id";
$stmt = $pdo->prepare(DbUtils::substTableAlias($sql));
$stmt->execute();
$result = $stmt->fetchAll();
$result = CommonUtils::fetchSqlAll($pdo, $sql);
foreach($result as $zeile) {
$val1 = $zeile['id'];
$val2 = $zeile['date'];
$val3 = $zeile['configitem'];
$val4 = str_replace("\r\n","<CR>",$zeile['setting']);
$val4 = str_replace("\n","<CR>",$val4);
$val5 = $zeile['description'];
$val3 = $zeile['clsid'];
$val4 = $zeile['configitem'];
$val5 = str_replace("\r\n","<CR>",$zeile['setting']);
$val5 = str_replace("\n","<CR>",$val5);
$val6 = $zeile['description'];
echo "$val1; $val2; \"$val3\"; \"$val4\"; \"$val5\"\n";
echo "$val1; $val2; $val3; \"$val4\"; \"$val5\"; \"$val6\"\n";
}
}
@ -2962,10 +3003,13 @@ class Admin {
$fileName = "backup-" . $version . "_" . $nowtime . "-guests.$extension";
}
$delHistReferencesToClosings = false;
if ($theType == "configuration") {
$tables = $this->getConfigTablesToBackupRestore();
$delHistReferencesToClosings = true;
} else if ($theType == "confandguests") {
$tables = $this->getConfigGuestsTablesToBackupRestore();
$delHistReferencesToClosings = true;
} else if (($theType == "all") || ($theType == "auto")) {
HistFiller::insertSaveHistEntry($pdo);
$tables = $this->getAllTablesToBackupRestore();
@ -2998,7 +3042,9 @@ class Admin {
foreach($result as $row) {
$fieldContent = array();
foreach($fields as $field) {
if (in_array($field,$binaryFields) && (!is_null($row[$field]))) {
if (($table == 'hist') && ($field == "clsid") && $delHistReferencesToClosings) {
$aFieldEntry = null;
} else if (in_array($field,$binaryFields) && (!is_null($row[$field]))) {
$aFieldEntry = base64_encode($row[$field]);
} else {
$aFieldEntry = $row[$field];
@ -3643,6 +3689,7 @@ class Admin {
$billbillref_fk = self::getForeignKeyName($pdo, 'bill', 'bill', MYSQL_DB);
$cuslogbillref_fk = self::getForeignKeyName($pdo, 'customerlog', 'bill', MYSQL_DB);
$cuslogclosingref_fk = self::getForeignKeyName($pdo, 'customerlog', 'closing', MYSQL_DB);
$histclosingref_fk = self::getForeignKeyName($pdo, 'hist', 'closing', MYSQL_DB);
} catch (Exception $ex) {
echo json_encode(array("status" => "ERROR", "code" => ERROR_COMMAND_ERROR, "msg" => ERROR_COMMAND_ERROR_MSG . " - impossible to get foreign keys: $e"));
}
@ -3657,12 +3704,7 @@ class Admin {
self::doSql($pdo, "DELETE FROM %recordsqueue%", null);
self::doSql($pdo, "DELETE FROM %records%", null);
self::doSql($pdo, "DELETE FROM %hist%", null);
self::doSql($pdo, "DELETE FROM %histprod%", null);
self::doSql($pdo, "DELETE FROM %histconfig%", null);
self::doSql($pdo, "DELETE FROM %histuser%", null);
HistFiller::readUserTableAndSendToHist($pdo);
$products = new Products();
@ -3682,6 +3724,12 @@ class Admin {
self::doSql($pdo, "DELETE FROM %ratings%", null);
self::doSql($pdo, "DELETE FROM %closing%", null);
self::doSql($pdo, "UPDATE %hist% set clsid=null", null);
self::doSql($pdo, "DELETE FROM %hist%", null);
self::doSql($pdo, "DELETE FROM %histprod%", null);
self::doSql($pdo, "DELETE FROM %histconfig%", null);
self::doSql($pdo, "DELETE FROM %histuser%", null);
self::doSql($pdo, "SET foreign_key_checks = 1;", null);
$ret = $this->fillSpeisekarteCore($pdo, $menu['msg']);
@ -3711,15 +3759,18 @@ class Admin {
self::doSql($pdo, "ALTER TABLE %bill% DROP id", null);
self::doSql($pdo, "ALTER TABLE %bill% ADD id INT (10) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST", null);
self::doSql($pdo, "ALTER TABLE %bill% ADD CONSTRAINT $billbillref_fk FOREIGN KEY (ref) REFERENCES %bill%(id)", null);
self::doSql($pdo, "ALTER TABLE %hist% DROP foreign key $histclosingref_fk", null);
self::doSql($pdo, "ALTER TABLE %closing% DROP id", null);
self::doSql($pdo, "ALTER TABLE %closing% ADD id INT (10) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST", null);
self::doSql($pdo, "ALTER TABLE %hist% ADD CONSTRAINT $histclosingref_fk FOREIGN KEY (clsid) REFERENCES %closing%(id)", null);
self::doSql($pdo, "ALTER TABLE %customerlog% ADD CONSTRAINT $cuslogbillref_fk FOREIGN KEY (billid) REFERENCES %bill%(id)", null);
self::doSql($pdo, "ALTER TABLE %customerlog% ADD CONSTRAINT $cuslogclosingref_fk FOREIGN KEY (clsid) REFERENCES %closing%(id)", null);
self::doSql($pdo, "ALTER TABLE %billproducts% ADD CONSTRAINT $billprodref_fk FOREIGN KEY (billid) REFERENCES %bill%(id)", null);
self::doSql($pdo, "ALTER TABLE %queue% ADD CONSTRAINT $queuebillref_fk FOREIGN KEY (billid) REFERENCES %bill%(id)", null);
self::doSql($pdo, "ALTER TABLE %bill% ADD CONSTRAINT $billclosingref_fk FOREIGN KEY (closingid) REFERENCES %closing%(id)", null);
self::doSql($pdo, "ALTER TABLE %queue% ADD CONSTRAINT $queueclosingref_fk FOREIGN KEY (clsid) REFERENCES %closing%(id)", null);
$basedb = new Basedb();
$basedb->setPrefix(TAB_PREFIX);
$basedb->setTimeZone(DbUtils::getTimeZone());
@ -3743,6 +3794,8 @@ class Admin {
self::doSql($pdo, "UPDATE %work% SET value='0' WHERE item='indexunclosedqueue'", null);
Workreceipts::resetWorkReceiptId($pdo);
$basedb->createOrUpdateUID($pdo);
echo json_encode(array("status" => "OK"));
} catch(Exception $e) {
echo json_encode(array("status" => "ERROR", "code" => ERROR_COMMAND_ERROR, "msg" => ERROR_COMMAND_ERROR_MSG . " - Error message: $e"));

View File

@ -275,7 +275,7 @@ class Bill {
return $ret;
}
private function createBillOverallInfo($billid,$thetimedate,$tablename,$brutto,$netto,$username,$printer,$host) {
private function createBillOverallInfo($billid,$thetimedate,$tablename,$brutto,$netto,$username,$printer,$host,$masterData) {
$thetimedate_arr = explode ( ' ', $thetimedate );
$thedate = $thetimedate_arr[0];
$datearr = explode ( '-', $thedate );
@ -301,7 +301,12 @@ class Bill {
"table" => $tablename,
"username" => $username,
"printer" => $printer,
"host" => $host
"host" => $host,
"sn" => $masterData["sn"],
"uid" => $masterData["uid"],
"version" => $masterData["version"],
"companyinfo" => $masterData["companyinfo"],
"systemid" => $masterData["systemid"]
);
return $billoverallinfo;
}
@ -394,8 +399,8 @@ class Bill {
if ($printextrasOfReceipt == 1) {
$printExtras = true;
}
$billoverallinfo = $this->createBillOverallInfo($billid,$thetimedate,$tablename,$row->brutto,$row->netto,$row->username,$printer,$host);
$masterData = self::getBillMasterDataAtClosingTime($pdo,$billid);
$billoverallinfo = $this->createBillOverallInfo($billid,$thetimedate,$tablename,$row->brutto,$row->netto,$row->username,$printer,$host,$masterData);
if ($includeGuestInfo) {
if (is_null($row->guestinfo)) {
@ -522,6 +527,33 @@ class Bill {
return $out;
}
private static function getBillMasterDataAtClosingTime($pdo,$billid) {
$sql = "SELECT closingid,billdate FROM %bill% WHERE id=?";
$result = CommonUtils::fetchSqlAll($pdo, $sql, array($billid));
if (count($result) > 0) {
$closingid = $result[0]["closingid"];
$billdate = $result[0]["billdate"];
if (is_null($closingid)) {
$masterData = array(
"sn" => CommonUtils::getConfigValue($pdo, 'sn', '?'),
"systemid" => CommonUtils::getConfigValue($pdo, 'systemid', '?'),
"companyinfo" => CommonUtils::getConfigValue($pdo, 'companyinfo', '?')
);
} else {
$masterData = array(
"sn" => CommonUtils::getConfigValueAtClosingTime($pdo, 'sn', '?',$closingid),
"systemid" => CommonUtils::getConfigValueAtClosingTime($pdo, 'systemid', '?',$closingid),
"companyinfo" => CommonUtils::getConfigValueAtClosingTime($pdo, 'companyinfo', '?',$closingid)
);
}
$masterData["version"] = CommonUtils::getConfigValueAtDateTime($pdo, 'version', '?', $billdate);
$masterData["uid"] = CommonUtils::getConfigValueAtDateTime($pdo, 'uid', '?', $billdate);
return $masterData;
} else {
return array("sn" => "?","uid" => "?","version" => "?","systemid" => "?","companyinfo" => "?");
}
}
private function getCashBill($pdo,$billid,$language,$printer) {
$sql = "SELECT billdate,ROUND(brutto,2) as brutto,ROUND(netto,2) as netto,ROUND(tax,2) as tax,username,userid,reason FROM %bill% B, %user% U WHERE B.id=? AND B.userid=U.id";
$result = CommonUtils::fetchSqlAll($pdo, $sql, array($billid));
@ -530,7 +562,8 @@ class Bill {
$brutto = $r["brutto"];
$netto = $r["netto"];
$billoverallinfo = $this->createBillOverallInfo($billid,$r["billdate"],' ',$brutto,$netto,$r["username"],$printer,0);
$masterData = self::getBillMasterDataAtClosingTime($pdo,$billid);
$billoverallinfo = $this->createBillOverallInfo($billid,$r["billdate"],' ',$brutto,$netto,$r["username"],$printer,0,$masterData);
$billoverallinfo["guestinfo"] = '';
$billtranslations = $this->createBillTranslations($language);

View File

@ -297,6 +297,9 @@ workreceipts::resetWorkReceiptId($pdo);
$sql = "UPDATE %customerlog% SET clsid=? WHERE clsid is null";
CommonUtils::execSql($pdo, $sql, array($newClosingId));
$sql = "UPDATE %hist% SET clsid=? WHERE clsid IS NULL";
CommonUtils::execSql($pdo, $sql, array($newClosingId));
// commit must before email, because there direct access to db happens
$pdo->commit();
@ -937,7 +940,7 @@ if ($fl >= 8) {
$closshowci = CommonUtils::getConfigValue($pdo, 'closshowci', 1);
$closshowpaytaxes = CommonUtils::getConfigValue($pdo, 'closshowpaytaxes', 1);
$closshowprods = CommonUtils::getConfigValue($pdo, 'closshowprods', 1);
$companyinfo = CommonUtils::getConfigValue($pdo, 'companyinfo', '');
$companyinfo = CommonUtils::getConfigValueAtClosingTime($pdo, 'companyinfo', '', $closingid);
$retVal = array("closing" => $closingpart, "overview" => $overview, "details" => $details, "taxessum" => $taxessum,
"companyinfo" => $companyinfo,
"paymenttaxessum" => $paymenttaxes,
@ -945,6 +948,12 @@ $retVal = array("closing" => $closingpart, "overview" => $overview, "details" =>
"closshowpaytaxes" => $closshowpaytaxes,
"closshowprods" => $closshowprods,
);
if ($fl >= 15) {
$retVal["sn"] = CommonUtils::getConfigValueAtClosingTime($pdo, 'sn', "?", $closingid);
$retVal["uid"] = CommonUtils::getConfigValueAtClosingTime($pdo, 'uid', "?", $closingid);
$retVal["version"] = CommonUtils::getConfigValueAtClosingTime($pdo, 'version', "?", $closingid);
$retVal["systemid"] = CommonUtils::getConfigValueAtClosingTime($pdo, 'systemid', "?", $closingid);
}
} else if ($fl >= 3) {
$retVal = array("closing" => $closingpart, "overview" => $overview, "details" => $details, "taxessum" => $taxessum);
} else {

View File

@ -343,7 +343,7 @@ class CommonUtils {
$sql = "SELECT count(id) as countid FROM %config% WHERE name=?";
$stmt = $pdo->prepare(DbUtils::substTableAlias($sql));
$stmt->execute(array($item));
$row =$stmt->fetchObject();
$row = $stmt->fetchObject();
if ($row->countid == 0) {
return $default;
} else {
@ -351,6 +351,36 @@ class CommonUtils {
}
}
public static function getConfigValueAtClosingTime($pdo,$item,$default,$closingid) {
if (is_null($closingid)) {
return self::getConfigValue($pdo, $item, $default);
} else {
$sql1 = "SELECT MAX(H.id) from %hist% H,%histconfig% C,%config% CO WHERE H.refid=C.id AND (H.action=2 OR H.action=6) AND C.configid=CO.id AND CO.name=? AND H.clsid <= ?";
$sql = "SELECT setting FROM %histconfig% HCO,%hist% H WHERE H.refid=HCO.id AND H.id=($sql1)";
$stmt = $pdo->prepare(DbUtils::substTableAlias($sql));
$stmt->execute(array($item,$closingid));
$r = $stmt->fetchAll(PDO::FETCH_ASSOC);
if (count($r) == 0) {
return $default;
} else {
return $r[0]["setting"];
}
}
}
public static function getConfigValueAtDateTime($pdo,$item,$default,$datetime) {
$sql1 = "SELECT MAX(HC.id) as hcid FROM %hist% H, %histconfig% HC, %config% C WHERE date < ? and H.refid=HC.id AND HC.configid=C.id AND (H.action=2 OR H.action=6) AND C.name=?";
$sql = "SELECT setting FROM %histconfig% where id=($sql1)";
$stmt = $pdo->prepare(DbUtils::substTableAlias($sql));
$stmt->execute(array($datetime,$item));
$r = $stmt->fetchAll(PDO::FETCH_ASSOC);
if (count($r) == 0) {
return $default;
} else {
return $r[0]["setting"];
}
}
public static function getExistingConfigValue($pdo,$item) {
$sql = "SELECT setting FROM %config% WHERE name=?";
$stmt = $pdo->prepare(DbUtils::substTableAlias($sql));
@ -477,4 +507,14 @@ class CommonUtils {
return $default;
}
}
public static function canMasterDataBeChanged($pdo) {
$sql = "SELECT COUNT(id) as countid FROM %queue% WHERE clsid is null";
$res = CommonUtils::fetchSqlAll($pdo, $sql);
if (intval($res[0]["countid"]) > 0) {
return false;
} else {
return true;
}
}
}

View File

@ -891,7 +891,7 @@ class Customers {
$txt = "<head>";
$txt .= "<title>" . self::$CUS_OVERVIEW[$lang] . "</title>";
$txt .= '<meta http-equiv="content-type" content="text/html; charset=utf-8">';
$txt .= '<link rel="stylesheet" type="text/css" href="../css/guestreport.css?v=1.6.5">';
$txt .= '<link rel="stylesheet" type="text/css" href="../css/guestreport.css?v=1.6.6">';
$txt .= "</head>";
return $txt;
}

View File

@ -27,7 +27,7 @@ if (isset($_POST["cmd"])) {
if (strlen($status) > 150) {
$status = substr($status, 0,149);
}
$version = "1.6.5";
$version = "1.6.6";
$arr = array("cmd" => $cmd,"fct" => $fct, "xhr" => $xhr,"errormsg" => $errormsg,"status" => $status,"version" => $version,"phpversion" => $phpversion);
} else {

View File

@ -104,4 +104,6 @@ define ( 'ERROR_BILL_CUSTOMER_PAID_MSG', 'Bon wurde schon von einem Gast bezahlt
define ( 'ERROR_CLOSING_TIME_LIMIT', 33);
define ( 'ERROR_BILL_GUEST_ASSIGNED_AND_PAID', '34');
define ( 'ERROR_BILL_GUEST_ASSIGNED_AND_PAID_MSG', 'Rechnung ist als bezahlt deklariert und einem Gast zugewiesen. Bezahlstatus muss in der Gastansicht geändert werden. Gast: ');
define ( 'ERROR_BILL_GUEST_ASSIGNED_AND_PAID_MSG', 'Rechnung ist als bezahlt deklariert und einem Gast zugewiesen. Bezahlstatus muss in der Gastansicht geändert werden. Gast: ');
define ( 'ERROR_MASTERDATA', 35);

View File

@ -322,7 +322,7 @@ class PrintQueue {
if ($row->countid == 1) {
$printInsertSql = "INSERT INTO `%printjobs%` (`id` , `content`,`type`,`printer`) VALUES ( NULL,?,?,?)";
$stmt = $pdo->prepare(DbUtils::substTableAlias($printInsertSql));
$stmt->execute(array($jobId,'" . self::$RECEIPT . "',$printer));
$stmt->execute(array($jobId,self::$RECEIPT,$printer));
}
}
echo json_encode(array("status" => "OK"));
@ -683,12 +683,8 @@ class PrintQueue {
}
}
function getTemplate($pdo,$templatekey) {
$sql = "SELECT setting FROM %config% WHERE name=?";
$stmt = $pdo->prepare(DbUtils::substTableAlias($sql));
$stmt->execute(array($templatekey));
$row =$stmt->fetchObject();
return $row->setting;
function getTemplate($pdo,$templatekey,$closingid) {
return CommonUtils::getConfigValueAtClosingTime($pdo, $templatekey, "", $closingid);
}
function getLastLog ($md5pass) {
@ -712,8 +708,6 @@ class PrintQueue {
$this->saveLastPrintServerAccess($pdo);
$template = $this->getTemplate($pdo, "rectemplate");
if (intval($language) > 2) {
$genInfo = $this->admin->getGeneralConfigItems(false,$pdo);
$language = $genInfo["billlanguage"];
@ -735,6 +729,15 @@ class PrintQueue {
$printJobId = $aBill['id'];
$aBillId = $aBill["content"];
$printer = $aBill["printer"];
$sql = "SELECT closingid FROM %bill% WHERE id=?";
$r = CommonUtils::fetchSqlAll($pdo, $sql, array($aBillId));
if (count($r) > 0) {
$template = $this->getTemplate($pdo, "rectemplate",$r[0]["closingid"]);
} else {
$template = $this->getTemplate($pdo, "rectemplate",null);
}
CommonUtils::log($pdo,"PRINTQUEUE", "getNextReceiptPrintJobs: collect bill with id=$aBillId for printer=$printer");
if (in_array($printer, $printersArr)) {
@ -755,6 +758,13 @@ class PrintQueue {
} else if ($fl >= 1) {
$receiptJob = array("id" => $printJobId,"bill" => $bill->getBillWithId($pdo,$aBillId,$language,$printer), "template" => $template);
}
if ($fl < 15) {
unset($receiptJob["bill"]["billoverallinfo"]["sn"]);
unset($receiptJob["bill"]["billoverallinfo"]["uid"]);
unset($receiptJob["bill"]["billoverallinfo"]["version"]);
unset($receiptJob["bill"]["billoverallinfo"]["companyinfo"]);
unset($receiptJob["bill"]["billoverallinfo"]["systemid"]);
}
$billarray[] = $receiptJob;
}
}
@ -777,7 +787,7 @@ class PrintQueue {
return;
}
$this->saveLastPrintServerAccess($pdo);
$template = $this->getTemplate($pdo, "pickuptemplate");
$template = $this->getTemplate($pdo, "pickuptemplate",null);
if (is_null($printer)) {
$sql = "SELECT id,content,type FROM %printjobs% WHERE type=? AND removed is null ORDER BY id";
@ -853,7 +863,7 @@ class PrintQueue {
if ($theType === 2) {
$templatekey = "drinktemplate";
}
$template = $this->getTemplate($pdo, $templatekey);
$template = $this->getTemplate($pdo, $templatekey,null);
if (is_null($printer)) {
$sql = "SELECT id,content,type FROM %printjobs% WHERE type=? AND removed is null ORDER BY id";
@ -969,7 +979,7 @@ class PrintQueue {
$templatekey = "canceltemplate";
$template = $this->getTemplate($pdo, $templatekey);
$template = $this->getTemplate($pdo, $templatekey,null);
if (is_null($printer)) {
$sql = "SELECT id,content,type FROM %printjobs% WHERE type=? AND removed is null ORDER BY id";

View File

@ -54,6 +54,16 @@ class Products {
}
}
$cmdsForMasterDataChange = array('applySingleProdData', 'createExtra', 'applyExtra', 'delExtra','delproduct', 'reassign', 'applyType', 'delType', 'createProduct','createProdType','changesetofproducts');
if (in_array($command, $cmdsForMasterDataChange)) {
$pdo = DbUtils::openDbAndReturnPdoStatic();
if (!CommonUtils::canMasterDataBeChanged($pdo)) {
echo json_encode(array("status" => "ERROR", "code" => ERROR_MASTERDATA, "msg" => "Stammdatenänderungen erfordern einen vorherigen Tagesabschluss"));
return;
}
$pdo = null;
}
if($command == 'showDbProducts') {
$this->showDbProducts();
} else if ($command == 'getMenu') {

View File

@ -236,7 +236,7 @@ class Reservation {
$txt = "<html><head>";
$txt .= "<title>Reservierungsübersicht</title>";
$txt .= '<meta http-equiv="content-type" content="text/html; charset=utf-8">';
$txt .= '<link rel="stylesheet" type="text/css" href="../css/bestformat.css?v=1.6.5">';
$txt .= '<link rel="stylesheet" type="text/css" href="../css/bestformat.css?v=1.6.6">';
$txt .= "</head>";
$txt .= "<body>";
$txt .= "<h1>Reservierungsübersicht für $day.$month.$year</h1><p>";

View File

@ -598,7 +598,7 @@ class Roomtables {
$txt = "<html><head>";
$txt .= "<title>Tisch QR-Codes für die Gastbestellung</title>";
$txt .= '<meta http-equiv="content-type" content="text/html; charset=utf-8">';
$txt .= '<link rel="stylesheet" type="text/css" href="../css/bestformat.css?v=1.6.5">';
$txt .= '<link rel="stylesheet" type="text/css" href="../css/bestformat.css?v=1.6.6">';
$txt .= "</head>";
$txt .= "<body>";
$txt .= "<h1>Tisch QR-Codes für die Gastbestellung</h1><p>";

View File

@ -1257,4 +1257,19 @@ class Basedb {
}
return $brothers;
}
public function createOrUpdateSN($pdo,$val) {
$hist = new HistFiller();
$hist->updateConfigInHist($pdo,'sn', $val);
}
public function createOrUpdateUID($pdo,$version=null) {
$timestamp = time();
if (is_null($version)) {
$version = CommonUtils::getConfigValue($pdo, 'version', '0.0.0');
}
$r = random_int(1000,9999);
$sn = $version . '-' . $timestamp . '-' . $r;
$hist = new HistFiller();
$hist->updateConfigInHist($pdo,'uid', $sn);
}
}

View File

@ -36,7 +36,7 @@ class OsQrcode {
readfile(__DIR__. '/../../img/oops.png');
return;
} else {
$text = $serverurl . "/nfclogin.php?a=" . $passhash . "_" . $userid . "v=1.6.5";
$text = $serverurl . "/nfclogin.php?a=" . $passhash . "_" . $userid . "v=1.6.6";
QRcode::png($text);
}
}

View File

@ -189,8 +189,8 @@ class PdfExport extends FPDF {
$ref = ($zeile['ref'] == null ? "" : $zeile['ref']);
$userid = $zeile['userid'];
$host = ($zeile['host'] == 1 ? "x" : "-");
if (!CommonUtils::verifyBillByValues(null,$billdate, $brutto_orig, $netto_orig, $userid, $signature, $dbstatus)) {
if (!CommonUtils::verifyBillByValues($pdo,$billdate, $brutto_orig, $netto_orig, $userid, $signature, $dbstatus)) {
echo "Database is inconsistent! Bill $billid ";
if ($zeile['status'] == "c") {
echo '- a cash operation ("Bareinlage/Barauslage"). ';

View File

@ -38,10 +38,7 @@ class Version {
}
public static function getDefaultCustomRecTemplate() {
$rect = "l;\nt:llllllllllllllllllll; f: ; a_ID:rrrrrrrrrrr\n;f: ;d:w\n\ng:v; c:v\n\nk:rrr; s: ; m:v; s: ; n:rrrrrr; o:rrrrrrr\nf:-\n";
$rect .= "START_PRODUCTS\na:rrr; s: ; c:v; s: ; b:rrrrrr; d:rrrrrrr\nEND_PRODUCTS\n\n";
$rect .= "p:rrrrr; q:rrrrrr; r:rrrrrrrr; n:rrrrrrrr\nSTART_TAXES\nt:rrrrr; m:rrrrrr; n:rrrrrrrr; b:rrrrrrrr\nEND_TAXES\n\n";
$rect .= "f: ; E_Summe:llllllllllllllllllll;\n\nj:l;";
$rect = file_get_contents(__DIR__. '/../../customer/rectemplate.txt');
return $rect;
}
@ -121,6 +118,13 @@ class Version {
}
}
private static function addHistClsReference($pdo) {
$sql = "UPDATE %hist% SET clsid=(SELECT(SELECT MIN(id) FROM %closing% WHERE `date` < closingdate) AS clsidval)";
$stmt = $pdo->prepare(DbUtils::substTableAlias($sql));
$stmt->execute();
}
public static function upd_1300_1301($pdo, $prefix, $dbname) {
try {
$basedb = new BaseDb(); $basedb->createCustomerLogTable($pdo);
@ -1340,6 +1344,26 @@ class Version {
}
}
public static function upd_1605_1606($pdo, $prefix, $dbname) {
try {
$basedb = new BaseDb();
$basedb->createOrUpdateUID($pdo,'1.6.6');
$basedb->createOrUpdateSN($pdo,'ORD1');
self::insertOrUpdateConfigItem($pdo, 'systemid', 1);
self::execSql($pdo, "ALTER TABLE %hist% ADD clsid INT(1) NULL DEFAULT NULL AFTER refid");
self::execSql($pdo, "ALTER TABLE %hist% ADD FOREIGN KEY(clsid) REFERENCES %closing% (id)");
$sql = "ALTER TABLE %closing% ADD INDEX dclosing (closingdate)";
$stmt = $pdo->prepare(DbUtils::substTableAlias($sql));
$stmt->execute();
self::addHistClsReference($pdo);
return array(true);
} catch (PDOException $e) {
return array(false,$e);
}
}
public static $updateOrder = array(
"1.3.0" => array("upd_1300_1301","1.3.1"),
"1.3.1" => array("upd_1301_1302","1.3.2"),
@ -1426,7 +1450,8 @@ class Version {
"1.6.1" => array("upd_1601_1602","1.6.2"),
"1.6.2" => array("upd_1602_1603","1.6.3"),
"1.6.3" => array("upd_1603_1604","1.6.4"),
"1.6.4" => array("upd_1604_1605","1.6.5")
"1.6.4" => array("upd_1604_1605","1.6.5"),
"1.6.5" => array("upd_1605_1606","1.6.6")
);
public static function runUpdateProcess($pdo,$prefix, $dbname, $untilVersion,$checkValidVersion) {

View File

@ -5,7 +5,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.5">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.6">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
@ -13,7 +13,7 @@
<script src="php/3rdparty/jquery-1.11.3.min.js"></script>
<script src="php/3rdparty/jquery.mobile-1.4.5.min.js"></script>
<script src="utilities.js?v=1.6.5"></script>
<script src="utilities.js?v=1.6.6"></script>
<link rel="stylesheet" href="php/3rdparty/jqueryui1-11-4/jquery-ui.min.css" />
<script src="php/3rdparty/jqueryui1-11-4/jquery-ui.min.js"></script>

View File

@ -5,7 +5,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.5">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.6">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
@ -13,7 +13,7 @@
<link rel="stylesheet" href="php/3rdparty/jquery.mobile-1.4.0.min.css" type="text/css" />
<script src="php/3rdparty/jquery-1.11.3.min.js"></script>
<script src="php/3rdparty/jquery.mobile-1.4.5.min.js"></script>
<script src="utilities.js?v=1.6.5"></script>
<script src="utilities.js?v=1.6.6"></script>
</head>

View File

@ -7,16 +7,16 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.5">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.6">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<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?v=1.6.5"></script>
<script src="elements/product.js?v=1.6.5"></script>
<script src="elements/extra.js?v=1.6.5"></script>
<script src="utilities.js?v=1.6.6"></script>
<script src="elements/product.js?v=1.6.6"></script>
<script src="elements/extra.js?v=1.6.6"></script>
<link href="php/3rdparty/hayageek_uploadfile.css" rel="stylesheet">
<script src="php/3rdparty/hayageek_jquery_uploadfile.js"></script>
</head>
@ -798,6 +798,10 @@ function setLanguage(language) {
}
function refreshProductAndConfirm(prodData) {
if ((prodData.status != undefined) && (prodData.status != "OK")) {
alert(prodData.msg);
return;
}
alert(PROD_APPLIED[lang]);
refreshProduct(prodData);
}

View File

@ -4,7 +4,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.5">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.6">
<link rel="stylesheet" href="css/ospage.css" />
<link rel="stylesheet" href="css/tablepanel.css" />
@ -15,7 +15,7 @@
<script src="php/3rdparty/jquery-2.2.4.min.js"></script>
<script src="php/3rdparty/jqueryui1-12-0/jquery-ui.min.js"></script>
<script src="utilities.js?v=1.6.5"></script>
<script src="utilities.js?v=1.6.6"></script>
<script>

View File

@ -7,14 +7,14 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.5">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.6">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<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?v=1.6.5"></script>
<script src="utilities.js?v=1.6.6"></script>
</head>
<body>

View File

@ -12,7 +12,7 @@ var P_PRICE = ["Preis","Price","Precio"];
function createReceiptFooterFromDbTaxes(lang, companyInfo,sum,taxes,decPoint) {
function createReceiptFooterFromDbTaxes(lang, companyInfo,sum,taxes,decPoint,sn,uid,version,systemid) {
var priceStyle = 'style="border: solid black 0px;padding: 3px;text-align:right;vertical-align:bottom;"';
var infoStyle = 'style="text-align:center;vertical-align:bottom;"';
@ -37,8 +37,12 @@ function createReceiptFooterFromDbTaxes(lang, companyInfo,sum,taxes,decPoint) {
footer += '<tr><td ' + infoStyle + ' colspan=6><center>&nbsp;<br>';
footer += toHtml(companyInfo).replace(/(?:\r\n|\r|\n)/g, '<br />');
footer += '</center></tr>';
footer += '</center></tr><br>';
footer += "<tr><td colspan=6>Seriennummer: " + toHtml(sn).replace(/(?:\r\n|\r|\n)/g, '<br />') + "</tr>";
footer += "<tr><td colspan=6>Kassen-ID: " + toHtml(systemid).replace(/(?:\r\n|\r|\n)/g, '<br />') + "</tr>";
footer += "<tr><td colspan=6>Bonerstellung mit Version: " + toHtml(version).replace(/(?:\r\n|\r|\n)/g, '<br />') + "</tr>";
return footer;
}
@ -74,10 +78,15 @@ function generateProdPart(decPoint,entryListForReceipt) {
/**
* Generate HTML output on base of db content
*/
function generateHtmlBillFromScratch(lang,billid,billcontent,currency,decPoint,companyInfo,hosthtml,guestinfo) {
function generateHtmlBillFromScratch(lang,billid,billcontent,currency,decPoint,hosthtml,guestinfo) {
var table = '<table id="receiptpart" class="receipttable" border=1 style="table-layout: fixed;">';
var overallinfo = billcontent.billoverallinfo;
var companyInfo = overallinfo.companyinfo;
var sn = overallinfo.sn;
var uid = overallinfo.uid;
var version = overallinfo.version;
var systemid = overallinfo.systemid;
var prods = billcontent.products;
var username = overallinfo.username;
@ -89,7 +98,7 @@ function generateHtmlBillFromScratch(lang,billid,billcontent,currency,decPoint,c
var sum = parseFloat(overallinfo.brutto);
var footer = createReceiptFooterFromDbTaxes(lang, companyInfo,sum,billcontent.taxes,decPoint);
var footer = createReceiptFooterFromDbTaxes(lang, companyInfo,sum,billcontent.taxes,decPoint,sn,uid,version,systemid);
var receipt = table + header + products + footer;
if (overallinfo.host == 1) {

View File

@ -7,14 +7,14 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.5">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.6">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<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?v=1.6.5"></script>
<script src="utilities.js?v=1.6.6"></script>
<script src="elements/rating.js"></script>
</head>

View File

@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.5">
<link rel="stylesheet" type="text/css" href="css/osdatepicker.css?v=1.6.5">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.6">
<link rel="stylesheet" type="text/css" href="css/osdatepicker.css?v=1.6.6">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
@ -14,10 +14,10 @@
<script src="php/3rdparty/jquery-1.11.3.min.js"></script>
<script src="php/3rdparty/jquery.mobile-1.4.5.min.js"></script>
<script src="elements/tablemap.js"></script>
<script src="elements/reservation.js?v=1.6.5"></script>
<script src="elements/osdatepicker.js?v=1.6.5"></script>
<script src="elements/reservation.js?v=1.6.6"></script>
<script src="elements/osdatepicker.js?v=1.6.6"></script>
<script src="utilities.js?v=1.6.5"></script>
<script src="utilities.js?v=1.6.6"></script>
<link rel="stylesheet" href="php/3rdparty/jqueryui1-11-4/jquery-ui.min.css" />
<script src="php/3rdparty/jqueryui1-11-4/jquery-ui.min.js"></script>
@ -627,7 +627,7 @@ function bindCancelButtn() {
var year = date.getFullYear();
var dateStr = year + "-" + month + "-" + day;
setTimeout(function(){document.location.href = "reservation.html?v=1.6.5&date=" + dateStr;},500);
setTimeout(function(){document.location.href = "reservation.html?v=1.6.6&date=" + dateStr;},500);
});
}

View File

@ -14,7 +14,7 @@
<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?v=1.6.5"></script>
<script src="utilities.js?v=1.6.6"></script>
</head>
<body>
@ -30,7 +30,7 @@ var SUM_REASON = ["Grund","Reason","Razón"];
var SUM_CANCEL_ITEM = ["Stornierung","Cancellation","Revocación"];
var SUM_CANCELLATION_OK = ["Die Zahlung wurde in OrderSprinter storniert.","The payment was cancelled in OrderSprinter.","El pago se canceló en OrderSprinter."];
var nextpage = "paydesk.html?version=1.6.5";
var nextpage = "paydesk.html?version=1.6.6";
var lang;
@ -84,10 +84,10 @@ function setLanguage(language) {
if (nextPage == "p") {
$("#nextpagebtntxt").html(SUM_TO_PAYMENT[lang]);
nextpage = "paydesk.html?t=" + tableid + "&version=1.6.5";
nextpage = "paydesk.html?t=" + tableid + "&version=1.6.6";
} else {
$("#nextpagebtntxt").html(SUM_TO_ORDER[lang]);
nextpage = "waiter.html?version=1.6.5";
nextpage = "waiter.html?version=1.6.6";
}
var txt = "<table class='viewtable'>";

View File

@ -5,7 +5,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.5">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.6">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
@ -13,7 +13,7 @@
<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?v=1.6.5"></script>
<script src="utilities.js?v=1.6.6"></script>
<style>
#tableWithPreparedProds,#tableWithDeliveredEntries,#headertableToCook

View File

@ -5,7 +5,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.5">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.6">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
@ -13,7 +13,7 @@
<script src="php/3rdparty/jquery-1.11.3.min.js"></script>
<script src="php/3rdparty/jquery.mobile-1.4.5.min.js"></script>
<script src="utilities.js?v=1.6.5"></script>
<script src="utilities.js?v=1.6.6"></script>
<link rel="stylesheet" href="php/3rdparty/jqueryui1-11-4/jquery-ui.min.css" />
<script src="php/3rdparty/jqueryui1-11-4/jquery-ui.min.js"></script>

View File

@ -5,7 +5,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.5">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.6">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
@ -13,7 +13,7 @@
<script src="php/3rdparty/jquery-1.11.3.min.js"></script>
<script src="php/3rdparty/jquery.mobile-1.4.5.min.js"></script>
<script src="utilities.js?v=1.6.5"></script>
<script src="utilities.js?v=1.6.6"></script>
<link rel="stylesheet" href="php/3rdparty/jqueryui1-11-4/jquery-ui.min.css" />
<script src="php/3rdparty/jqueryui1-11-4/jquery-ui.min.js"></script>

File diff suppressed because one or more lines are too long

View File

@ -4,7 +4,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.5">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.6">
<link rel="stylesheet" href="css/ospage.css" />
<link rel="stylesheet" href="css/tablepanel.css" />
@ -16,7 +16,7 @@
<link rel="stylesheet" href="css/extraspanel.css" />
<link rel="stylesheet" href="css/actpanel.css" />
<link rel="stylesheet" href="css/paypanel.css" />
<link rel="stylesheet" href="css/numfield.css?v=1.6.5" />
<link rel="stylesheet" href="css/numfield.css?v=1.6.6" />
<link rel="stylesheet" href="php/3rdparty/jqueryui1-12-0/jquery-ui.min.css" />
<script src="php/3rdparty/jquery-2.2.4.min.js"></script>