diff --git a/gastsystem/index.php b/gastsystem/index.php index 871a5e1..08c224b 100644 --- a/gastsystem/index.php +++ b/gastsystem/index.php @@ -9,8 +9,8 @@ - - + + @@ -105,7 +105,7 @@
  OrderSprinter
-
1.4.16  
+
1.4.17  
diff --git a/gastsystem/install.php b/gastsystem/install.php index eb0e95e..ad9de09 100644 --- a/gastsystem/install.php +++ b/gastsystem/install.php @@ -90,10 +90,10 @@ if (isset($_POST['code'])) { } else { echo ""; echo "Installation Gastsystem"; - echo ''; + echo ''; echo ""; echo "
"; - echo "Installation OrderSprinter-Gastsystem 1.4.16

"; + echo "Installation OrderSprinter-Gastsystem 1.4.17

"; echo "
"; echo "
"; echo "
"; diff --git a/javaprinter/javaprinter.jar b/javaprinter/javaprinter.jar index 2ae70e2..fa05eb5 100644 Binary files a/javaprinter/javaprinter.jar and b/javaprinter/javaprinter.jar differ diff --git a/printserver/OrderSprinterPrintserver.exe b/printserver/OrderSprinterPrintserver.exe index 7f545ac..a89c1de 100644 Binary files a/printserver/OrderSprinterPrintserver.exe and b/printserver/OrderSprinterPrintserver.exe differ diff --git a/scripts/Liesmich.txt b/scripts/Liesmich.txt index 3fe5a9b..44af2dc 100644 --- a/scripts/Liesmich.txt +++ b/scripts/Liesmich.txt @@ -18,9 +18,13 @@ Es werden immer die letzten maximal drei Backups gespeichert bzw. aufbewahrt. Im Skript müssen am Anfang einige Variablen angepasst werden: - der Gerätenamen des Sticks -- die Zugangsparameter der Datenbank (lassen sich aus der config.php) entnehmen, wenn nicht mehr bekannt. +- die Zugangsparameter der Datenbank (lassen sich aus der config.php) entnehmen, wenn nicht mehr bekannt. Die Angabe ist nur erforderlich, wenn mysqldump statt das OrderSprinter-internen Backup verwendet werden soll. - die Server-Baseadresse - der Remoteaccess-Code, wie er zuvor in der Verwaltungsansicht eingestellt werden muss +- das Format json oder zip: Wurde in der OrderSprinter-Konfiguration ein tmp-Verzeichnis festgelegt, so werden komprimierte Backups erzeugt (zip), anderenfalls ist json einzutragen. + +Im Skript ist standardmäßig die OrderSprinter-interne Backuperstellung aktiviert (Zeile, die mit "wget" beginnt). Alternativ kann auch das MySQL-Dump verwendet werden, dazu ist die mit wget +beginnende Zeile einzukommentieren und die Kommentierung der Zeile, die mit "mysqldump" beginnt, zu entfernen. Es wird empfohlen, die Ausführung des Skripts über einen cron-Job regelmäßig und automatisisiert zu starten: diff --git a/scripts/backup-db-linux.sh b/scripts/backup-db-linux.sh index 2d3c318..57b6713 100755 --- a/scripts/backup-db-linux.sh +++ b/scripts/backup-db-linux.sh @@ -8,6 +8,7 @@ user="Benutzer" password="DasPasswort" serverbase="http://localhost/ordersprinter" remoteaccesscode="123" +format="json" if grep -qs "$mount" /proc/mounts; then echo "Der USB-Stick ist bereits eingehaengt" @@ -18,11 +19,11 @@ else echo "Der USB-Stick konnte eingehaengt werden." # Halte die letzten 3 Sicherungen der DB vor: - if [ -f /mnt/db-dump-1.json ] - then mv /mnt/db-dump-1.json /mnt/db-dump-2.json + if [ -f /mnt/db-dump-1.$format ] + then mv /mnt/db-dump-1.$format /mnt/db-dump-2.$format fi - if [ -f /mnt/db-dump.json ] - then mv /mnt/db-dump.json /mnt/db-dump-1.json + if [ -f /mnt/db-dump.$format ] + then mv /mnt/db-dump.$format /mnt/db-dump-1.$format fi # Halte die letzten 3 Sicherungen des Kassenbuchs vor @@ -39,7 +40,7 @@ else # vom OrderSprinter eingelesen werden kann). # # - wget --post-data "remoteaccesscode=$remoteaccesscode" -O /mnt/db-dump.json 2>>/dev/null "$serverbase/php/contenthandler.php?module=admin&command=autobackup" + wget --post-data "remoteaccesscode=$remoteaccesscode" -O /mnt/db-dump.$format 2>>/dev/null "$serverbase/php/contenthandler.php?module=admin&command=autobackup" # # # Sicherung der Datenbank direkt über mysqldump: diff --git a/spider/install/installer.php b/spider/install/installer.php index cf13dc9..65d6022 100644 --- a/spider/install/installer.php +++ b/spider/install/installer.php @@ -85,7 +85,7 @@ class Installer { } Database::dropTables($pdo); Database::createEmptyTables($pdo, $prefix); - Database::setVersion($pdo,$prefix,"1.4.16"); + Database::setVersion($pdo,$prefix,"1.4.17"); Database::setAccessPassword($pdo,$prefix,$adminpass); Database::setRefreshRate($pdo,$prefix,"5"); // default: 5 times per hour return array("status" => "OK","msg" => "Installation successful"); diff --git a/webapp/OrderSprinterPrintserver.exe b/webapp/OrderSprinterPrintserver.exe index 7f545ac..a89c1de 100644 Binary files a/webapp/OrderSprinterPrintserver.exe and b/webapp/OrderSprinterPrintserver.exe differ diff --git a/webapp/bar.html b/webapp/bar.html index 838cc20..772cfb2 100644 --- a/webapp/bar.html +++ b/webapp/bar.html @@ -5,7 +5,7 @@ - + diff --git a/webapp/bill.html b/webapp/bill.html index 7d0f0af..da729fd 100644 --- a/webapp/bill.html +++ b/webapp/bill.html @@ -5,7 +5,7 @@ - + @@ -25,7 +25,7 @@ +var P_DESCR=["Beschreibung","Description","Descripción"];var P_PRICE=["Preis","Price","Precio"];var P_TOTAL=["Total","Total","Total"];var P_ID=["Id:","Id:","Id:"];var P_ROOMSEL=["Raumauswahl","Room selection","Selección de espacio"];var P_PAYDESK_ACTIONS=["Kassenaktionen","Paydesk actions","Acciones de caja"];var P_BAR_INPUT=["Bareinlage","Input money","Insertar dinero"];var P_BAR_GET=["Barentnahme","Take money","Sacar dinero"];var P_BAR_SUM=["Einnahmen","Revenue","Cobro"];var P_TITLE=["Kasse","Paydesk","Caja"];var P_TABLE=["Tisch","Table","Mesa"];var P_TABLE_SEL=["Tischauswahl","Select table","Qué mesa?"];var P_NOT_PAID=["Ausstehend für ","Not paid for ","Impagado para "];var P_ALL=["Alles","All","Todo"];var P_CONTENT_RECEIPT=["Inhalt Kassenbon","Content of receipt","Contenido del tique"];var P_ONLY_PAY=["Nur Zahlung","Only pay","Solo pagar"];var P_PAY_PRINT=["Bondruck","Pay+Print","Pagar+Imprimir"];var P_CHANGE_CALC=["Wechselgeldrechner:","Change Calculator:","Calculadora de Cambio:"];var P_CHOOSE_PAYWAY=["Auswahl der Zahlungsart:","Selection of method of payment:","Selección del modo de pago:"];var P_CANCEL=["Abbrechen","Cancel","Cancelar"];var P_CASHTAKEOUT=["Barentnahme aus der Kasse","Cash take-out","Sacar dinero"];var P_CASHTAKIN=["Bareinlage in die Kasse","Cash insert","Insertar dinero"];var P_AMOUNT=["Betrag:","Amount:","Valor:"];var P_OVERVIEW=["Übersicht Kellnerkasse","Overview waiter purse","Resumen cartera de bolsillo"];var P_PUT_IN=["Einlegen","Insert","Insertar"];var P_TAKE_OUT=["Entnehmen","Take out","Sacar"];var P_OVERV_DETAILS=["Diese Übersicht zeigt die Einnahmen durch den Kellner pro Zahlungsweg seit der letzten Tageslosung sowie als weiteren Wert den Kassenstand unter Berücksichtigung der eigenen Eingaben und Entnahmen.","This overview contains the amount of money of this waiter since the last closing as well as the total amount of money including the own cash insert and take-out actions.","Este resumen contiene todo el dinero del camarero, y también el dinero incluido con acciones de insertar y sacar."];var P_CASH_SUM=["Bewirtungseinnahmen (ohne Ein-/Auslagen):","Cash by payment (without inserts/take-outs):","Cobro (sin tomas/entradas):"];var P_INCLUDE_OWN=["Barbestand inkl. eigener Kassen-Eingaben/Entnahmen:","Cash incl. own cash insert/take-outs:","Cash incl. tomas y entradas proprias:"];var P_NO_ELEM=["Keine Rechnungselemente","No items selected","Ningún producto selecionado"];var P_NO_ELEM_DETAILS=["Es wurden keine abrechenbaren Produkte festgelegt (der Bon ist leer!).","There are no selected items. The receipt is empty!","No hay ningún elemento seleccionado para pagar."];var P_CASHACTION_OK=["Kassenaktion abgeschlossen.","Action completed.","Acción terminado."];var P_NAV=["Navigation","Navigation","Navigación"];var P_ORDER_ACTION=["-> Bestellansicht","-> Order view","-> Vista de Orden"];var P_TO_PAY=["Zu zahlen: ","To pay: ","Pagar total: "];var P_PAY_RETURN=["Zurück: ","Return: ","Torna: "];var P_CALC_PAYBACK=["Berechne","Calculate","Calcular"];var P_HAS_PAID=["Bezahlt: ","Paid: ","Pagado: "];var P_TOGO=["Außer-Haus-Verkauf","Sale with Tax No 2","Venta IVA 2"];var P_TIP=["nur Trinkg.: ","Only tip: ","Solo prop.: "];var P_TOTAL_INCL_TIP=["Zielbetrag:","Target pay:","Quiere pagar:"];var CALC_TIP_TXT=["Angabe extra Trinkg.","Do Tip separate","Propina individual"];var CALC_TOTAL_TXT=["Angabe inkl.Trinkg.","Do Tip incl.","Propina incl."];var P_GUESTS=["Gäste","Guests","Habitaciones"];var showHostTemplate=false;var guests=[];var internalguests=[];var hotelinterface=0;var PAYMENT_HS3=7;var PAYMENT_GUEST=8;var currentPaymentId=7;var showpayment2=1;var showpayment3=1;var showpayment4=1;var showpayment5=1;var showpayment6=1;var showpayment7=1;var showpayment8=1;var forceprint=0;function getGeneralConfigItems(){doAjax("GET","php/contenthandler.php?module=admin&command=getGeneralConfigItems",null,insertGeneralConfigItems,"Fehler Konfigurationsdaten")}function getPayments(a){doAjax("GET","php/contenthandler.php?module=admin&command=getPayments",null,a,"Fehler Zahlungswege")}function insertGeneralConfigItems(b){if(b.status=="OK"){var a=b.msg;decpoint=a.decpoint;$("#info-page").data("decpoint",a.decpoint);currency=a.currency;var d=a.tax;var c=d.replace(".",decpoint);$("#info-page").data("usstGerVal",c);$("#info-page").data("usst",d);d=a.togotax;c=d.replace(".",decpoint);$("#info-page").data("togoTaxGerVal",c);$("#info-page").data("togotax",d);$("#info-page").data("companyinfo",a.companyinfo);$("#info-page").data("payPrintType",a.payprinttype);$("#info-page").data("currency",a.currency);$("#info-page").data("billlanguage",a.billlanguage);$("#info-page").data("userlanguage",a.userlanguage);receiptfontsize=parseInt(a.receiptfontsize);$("#receiptpart").css("font-size",receiptfontsize+"px");paymentconfig=a.paymentconfig;showpayment2=a.showpayment2;showpayment3=a.showpayment3;showpayment4=a.showpayment4;showpayment5=a.showpayment5;showpayment6=a.showpayment6;showpayment7=a.showpayment7;showpayment8=a.showpayment8;forceprint=a.forceprint;$("#curtopay2").html(" "+a.currency);workflowconfig=a.workflowconfig;digigopaysetready=a.digigopaysetready;setLanguage(a.userlanguage)}else{$("#contentpart").hide();setTimeout(function(){document.location.href="index.html"},250)}}function addEntryOrIncreaseCount(a,e){var c=0;var f=false;var d=e.prodid+"-"+e.extras.join("_")+e.price+"-"+e.pricelevelname+"#"+e.tax+"_"+e.togo;for(c=0;cID:"+d+"";f+=' ";f+=""+c+"";f+=" ";if(j!=""){f+="Gast: "+toHtml(j)+"";f+=" "}f+=""+P_NO[b]+""+P_DESCR[b]+""+P_PRICE[b]+""+P_TOTAL[b]+"";return f}function genCreateReceiptFooterNoSum(c,d,b,a){return genCreateReceiptFooter(c,d,b,"","","",a)}function genCreateReceiptFooter(a,e,b,h,d,k,l){var c='style="border: solid black 0px;padding: 3px;text-align:right;vertical-align:bottom;"';var n='style="text-align:center;vertical-align:bottom;"';var g=" ";var m=g;m+=""+P_MWST[e]+"% "+P_MWST[e]+""+P_NETTO[e]+""+P_BRUTTO[e]+"";for(var j=0;j"+h+'"+d+'"+k+""}m+=g;m+="   "+P_SUM[e]+'"+k+"";m+=g;m+="
 
";m+=toHtml(b).replace(/(?:\r\n|\r|\n)/g,"
");m+="
";return m}function generateOneProdLine(i,f,h,a,m,e){var b='style="border: solid black 0px;padding: 3px;text-align:right;vertical-align:bottom;"';var g='style="border: solid black 0px;padding: 3px;text-align:center;vertical-align:bottom;"';var c=(parseFloat(h)).toFixed(2).replace(".",m);if(a!="A"){f+=" ("+a+")"}if(e==1){f="To-Go: "+f}var l=i*h;var k="";var d='style="white-space: nowrap;overflow: hidden;text-overflow:ellipsis;width: 60%;"';var j=l.toFixed(2).replace(".",m);if(i==0){i="";c="";j=""}k+="'+i+""+f;k=k+""+c;k+=""+j+"";return k}function generateProdPartByDbContent(e,d){var c=0;tablecontent="";for(c=0;c=0);var l=(o.toLowerCase().indexOf(f)>=0);if(k||l){h++;g=toHtml(j+" - "+o);if(!c){c=true;e+='"}else{e+='"}}});if(h===1){$("#hotelroomfoundguest").html(g);$("#hotelroomselection").html(e)}else{$("#hotelroomselection").html(e)}if(b){$("#hotelroomselection").selectmenu("refresh")}}function generateCashOverviewOfUser(d){var a="";for(var b=0;b"+(parseFloat(c.value).toFixed(2)).replace(".",decpoint)+"
"}return a};