OrderSprinter 2.0.4

This commit is contained in:
Geno 2020-11-19 23:15:01 +01:00
parent 074b379084
commit 04d606a604
42 changed files with 468 additions and 151 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=2.0.3" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css?v=2.0.3" />
<link rel="stylesheet" href="css/gueststyle.css?v=2.0.4" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css?v=2.0.4" />
<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">2.0.3&nbsp;&nbsp;</div>
<div class="ui-block-b grid_right" id="versioninfo">2.0.4&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=2.0.3">';
echo '<link rel="stylesheet" type="text/css" href="css/gueststyle.css?v=2.0.4">';
echo "</head>";
echo "<body><div class=surround>";
echo "<span class=headerline>Installation OrderSprinter-Gastsystem 2.0.3</span><br><br>";
echo "<span class=headerline>Installation OrderSprinter-Gastsystem 2.0.4</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>";

View File

@ -2,7 +2,7 @@
error_reporting(E_ERROR);
// Database to use: 'mysql' or 'file'
defined('DB') || define ( 'DB','mysql' );
defined('DB') || define ( 'DB','file' );
// Datenbank-Zugangsdaten
defined('MYSQL_HOST') || define ( 'MYSQL_HOST','localhost' );

View File

@ -1,5 +1,12 @@
Hinweise zum Inhalt dieses Verzeichnisses:
Es befinden sich in diesem Verzeichnis zwei Skripte:
1. Installer für Ubuntu
2. backup-Skript für Linux-Systeme
Backup-Skript:
==============
Mit dem Backup-Skript "backup-db-linux.sh" ist es möglich, auf einem Linux-System
- ein Backup der Datenbank
@ -34,3 +41,15 @@ Um z.B. jeden Morgen um 4 Uhr eine Datensicherung zu starten, legt man den Cronj
In der Datei /etc/crontab ans Ende folgenden Eintrag und anschließend eine Zeile freilassen:
0 4 * * * root /usr/local/bin/backup-db-linux.sh > /dev/null 2>&1
Ubuntu-Installer:
=================
Der Ubuntu-Installer installiert OrderSprinter auf einem Ubuntu-System. Dabei kann der Benutzer wählen, ob er neben der Kernapplikation auch Beispieldaten (Raumplan, Benutzer, Speisekarte),
den Java-Printserver und den TSEConnector zum Anbinden einer lokalen TSE installieren möchte. Zusätzlich erlaubt das Skript die Konfiguration eines nächtlichen Backups auf einen
angeschlossenen USB-Stick.
Da der Installer viele Einstellungen am System vornimmt, kann es eine bestehende Konfigurationen überschreiben bzw. es kann auch zu Datenverlust kommen. Die Ausführung dieses Skripts wird
also auf einem System ohne schützenswerte Bestandsdaten empfohlen.
Siehe die Kommentare am Anfang der Skript-Datei

245
scripts/ubuntuinstaller.sh Executable file
View File

@ -0,0 +1,245 @@
#!/bin/bash
# Mit diesem Skript lässt sich auf einem Ubuntu-System eine OrderSprinter-System bestehend aus Kernapplikation,
# Javaprinter, TSEConnector (Simulationsmodus) sowie nächtlichem Backup auf einem angeschlossenen USB-Stick
# einrichten.
# Das Skript sollte auf einem frischen Ubuntu-System ausgeführt werden, da es bestehende Daten und Konfigurationen
# ändert.
# Da in diesem Skript feste Zugangsdaten verwendet werden (die in der aktuellen Version nicht im Skript geändert
# werden dürfen!), sollte man das System (nach der Installation) vor einem produktiven Betrieb anpassen:
# 1. Fernzugriffscode (im javaprinter.bat und in der Konfiguration)
# 2. DB-Zugangsdaten in der MySQL-DB und in der config.json und config1.json
# 3. Benutzerzugangspasswörter der Benuter innerhalb der Applikation
# Allgemeine Zugangsdaten zur Datenbank. Diese Werte können frei geändert werden. Allerdings darf das Passwort keine
# Zeichen enthalten, die in der URL als Argumenttrenner verwendet werden (?,&). Die Passwörter werden dem Intaller
# im Klartext übergeben und landen in der Regel im Log des Webservers.
dbadminpassword="anadminpass_1"
db="ordersprinter"
dbuser="os_"
dbuserpassword="dbpass"
tabprefix="os_"
remoteaccesscode="please_change"
# OrderSprinter-Version
version="2_0_4"
# Warnhinweis an den Anwender mit der Möglichkeit des Abbruchs
echo "Dieses Skript ist für die Ausführung auf einem frisch aufgesetzten"
echo "Ubuntu-System geschrieben worden."
echo "Man kann es auch auf einem bereits in Benutzung befindlichen Ubuntu-"
echo "System verwenden, allerdings kann es dabei zu Datenverlust kommen:"
echo ""
echo "Das Installationsskript löscht möglicherweise bereits vorhandene Daten"
echo "im Dokumentenverzeichnis des Webservers. Außerdem werden Daten in"
echo "verschiedene Verzeichnisse geschrieben (z.B. /usr/local/bin) und"
echo "Konfigurationsdateien abgeändert (z.B. php.ini), und Services"
echo "angelegt."
echo "Es wird eine Datenbank angelegt und eine möglicherweise bereits"
echo "DB-Konfiguration sowie eine Datenbank mit Namen '$db'"
echo "überschrieben!"
echo ""
echo "Es können andere als die vordefinierten Zugangsdaten zur Datenbank"
echo "verwendet werden. Dazu sind die Werte für die Variablen in diesem "
echo "Skript anzupassen (dbadminpassword,db,dbuser,dbusertpassword,"
echo "tabprefix)."
echo ""
echo "Das Skript muss als root ausgeführt werden!"
echo ""
if [[ $EUID -ne 0 ]]; then
echo "Das Skript wurde nicht mit root-Rechten gestartet. Die Ausführung muss abgebrochen werden."
exit 1
fi
read -p "Skript wirklich ausführen (j/n)?" runscript
case "$runscript" in
j|J ) runscript=1;;
* ) runscript=0;;
esac
echo "Das Skript kann alleine stehend aufgerufen werden und die Version ${version} downloaden"
echo "und installieren. Andererseite kann man auch die neueste Version der OrderSprinter-Suite"
echo "downloaden, in ein Verzeichnis entpacken und das dortige Skript ausführen."
read -p "Wird das Skript im Verzeichnis des entpackten Download der OrderSprinter-Suite aufgerufen (j/n)?" calllocation
case "$calllocation" in
j|J ) calllocation=1;;
* ) calllocation=0;;
esac
if [[ $runscript -eq 0 ]]
then
echo "Skriptausführung abgebrochen"
exit
fi
# Frage wegen Installationsumfang
insertsamplecontent=0
read -p "Beispieldaten einfügen (Benutzer, Raumplan usw.) (j/n)?" samplecontent
case "$samplecontent" in
j|J ) insertsamplecontent=1;;
* ) insertsamplecontent=0;;
esac
# Frage Benutzer, ob das TSE-Modul installiert werden soll
install_tse=0
read -p "TSEConnector einrichten (j/n)?" choice
case "$choice" in
j|J ) install_tse=1;;
* ) install_tse=0;;
esac
# Frage Benutzer, ob regelmäßiges Backup azf einen angeschlossenen USB-Stick stattfinden soll
autobackup=0
read -p "Regelmäßiges nächtliches Backup um 4 Uhr auf angeschlossenen USB-Stick (j/n)?" dobackup
case "$dobackup" in
j|J ) autobackup=1;;
* ) autobackup=0;;
esac
# Calculate availabe RAM that can be assigned to PHP process
ramsize=$(eval "free -t | grep -oP '\d+' | sed '1!d'")
avail=$((ramsize/1000-500))M
echo "Assigning $avail of memory for PHP processes"
# Download der OrderSprinter-Applikation und Entpacken in ein temporäres Verzeichnis
echo "Download der OrderSprinter-Suite ($version)"
rm -r /tmp/ordersprinter 2> /dev/null
mkdir /tmp/ordersprinter
if [[ $calllocation -eq 0 ]]
then
wget -O /tmp/ordersprinter/os.zip 2>>/dev/null "https://www.ordersprinter.de/ordersprinter-${version}.zip?edition=ubuntu"
cd /tmp/ordersprinter
echo "Entpacken der OrderSprinter-Suite"
unzip -q os.zip
else
scriptpath="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
cp -R ${scriptpath}/../* /tmp/ordersprinter
fi
# Installation der Umgebung
echo "Update der Umgebung. Dies wird eine Zeitlang dauern..."
echo "Paketlisten neu einlesen und aktualisieren..."
apt-get -y update
echo "Neuen Versionen von Paketen installieren, falls Aktualisierungen vorhanden sind..."
apt-get -y upgrade
echo "Installation von Webserver und Datenbank..."
apt-get -qq -y install unzip apache2 libapache2-mod-php php mariadb-server php-mysql php-gd php-curl php-zip php-xml default-jre
mysqladmin -u root password $dbadminpassword
# Konfigurationswerte
echo "Anpassen einiger Konfigurationswerte"
sed -i -e "s/memory_limit.*/memory_limit = $avail/" /etc/php/7.4/apache2/php.ini
sed -i -e "s/max_execution_time.*/max_execution_time = 600/" /etc/php/7.4/apache2/php.ini
sed -i -e "s/post_max_size.*/post_max_size = 10000M/" /etc/php/7.4/apache2/php.ini
sed -i -e "s/upload_max_filesize.*/upload_max_filesize = 10000M/" /etc/php/7.4/apache2/php.ini
service apache2 reload
sleep 3s
echo "Create database"
mysql -uroot -p$dbadminpassword -e "DROP DATABASE IF EXISTS $db";
mysql -uroot -p$dbadminpassword -e "CREATE DATABASE $db DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci";
mysql -uroot -p$dbadminpassword -e "DROP USER IF EXISTS $dbuser@localhost";
mysql -uroot -p$dbadminpassword -e "CREATE USER $dbuser@localhost IDENTIFIED BY '$dbuserpassword'";
mysql -uroot -p$dbadminpassword -e "GRANT ALL ON $db.* TO $dbuser@localhost";
echo "Copy files to webserver doc directory"
rm -r /var/www/html/index.html
cp -R /tmp/ordersprinter/webapp/* /var/www/html/
chown -R www-data:www-data /var/www/html
chmod -R u+w /var/www/html
cd /var/www/html/php
echo "Konfiguration des Datenbankzugangs"
sed -i -e "s/defined('MYSQL_USER').*/defined('MYSQL_USER') || define ('MYSQL_USER', '$dbuser');/" config.php
sed -i -e "s/defined('MYSQL_PASSWORD').*/defined('MYSQL_PASSWORD') || define ('MYSQL_PASSWORD', '$dbuserpassword');/" config.php
sed -i -e "s/defined('MYSQL_DB').*/defined('MYSQL_DB') || define ('MYSQL_DB', '$db');/" config.php
sed -i -e "s/defined('TAB_PREFIX').*/defined('TAB_PREFIX') || define ('TAB_PREFIX', '$tabprefix');/" config.php
echo "Default-Installation der Kernapplikation"
wget -O /tmp/loginstall.txt 2>>/dev/null "http://localhost/install/installer.php?command=defaultinstall&db=${db}&dbuser=${dbuser}&dbpass=${dbuserpassword}&prefix=${tabprefix}"
if [[ $insertsamplecontent -eq 1 ]]
then
echo "Beispieldaten einfügen"
wget -O /tmp/logsamplecontent.txt 2>>/dev/null "http://localhost/install/installer.php?command=defaultinsertsamplecontent&db=${db}&dbuser=${dbuser}&dbpass=${dbuserpassword}&prefix=${tabprefix}"
fi
echo "Löschen des Installationsverzeichnisses"
rm -r /var/www/html/install
echo "Druckserver einrichten"
cp -R /tmp/ordersprinter/printserver/javaprinter /usr/local/bin
echo "#!/bin/sh" > /usr/local/bin/javaprinter.bat
echo "/usr/bin/java -jar /usr/local/bin/javaprinter/javaprinter.jar -configfile=/usr/local/bin/javaprinter/config.json &" >> /usr/local/bin/javaprinter.bat
chmod +x /usr/local/bin/javaprinter.bat
printf "[Unit]\n" > /etc/systemd/system/javaprinter.service
printf "Description=OrderSprinter-Javaprinter\n\n" >> /etc/systemd/system/javaprinter.service
printf "[Service]\n" >> /etc/systemd/system/javaprinter.service
printf "Type=forking\n" >> /etc/systemd/system/javaprinter.service
printf "ExecStart=/usr/local/bin/javaprinter.bat\n\n" >> /etc/systemd/system/javaprinter.service
printf "[Install]\n" >> /etc/systemd/system/javaprinter.service
printf "WantedBy=multi-user.target\n" >> /etc/systemd/system/javaprinter.service
systemctl enable javaprinter.service
systemctl start javaprinter
if [[ $install_tse -eq 1 ]]
then
# TSE
echo "TSE Setup"
cp -R /tmp/ordersprinter/tseconnector /usr/local/bin
echo "#!/bin/sh" > /usr/local/bin/tseconnector.bat
echo "/usr/bin/java -Djava.library.path=/usr/local/bin/tseconnector/swissbit/nativelibs/linux64 -jar /usr/local/bin/tseconnector/swissbit/tseconnector.jar pass=123 port=8000 supplier=swissbit mountpount=/mnt/SWISSBIT mode=simulate &" >> /usr/local/bin/tseconnector.bat
chmod +x /usr/local/bin/tseconnector.bat
printf "[Unit]\n" > /etc/systemd/system/tseconnector.service
printf "Description=OrderSprinter-TSEConnector\n\n" >> /etc/systemd/system/tseconnector.service
printf "[Service]\n" >> /etc/systemd/system/tseconnector.service
printf "Type=forking\n" >> /etc/systemd/system/tseconnector.service
printf "ExecStart=/usr/local/bin/tseconnector.bat\n\n" >> /etc/systemd/system/tseconnector.service
printf "[Install]\n" >> /etc/systemd/system/tseconnector.service
printf "WantedBy=multi-user.target\n" >> /etc/systemd/system/tseconnector.service
systemctl enable tseconnector.service
systemctl start tseconnector
# Lasst und nun den TSEConnector aktivieren:
mysql -uroot -p$dbadminpassword -e "UPDATE ${db}.${tabprefix}config SET setting='1' WHERE name='usetse'";
# In Deutschland gibt es eine Bonausgabepflicht:
mysql -uroot -p$dbadminpassword -e "UPDATE ${db}.${tabprefix}config SET setting='1' WHERE name='forceprint'";
fi
if [[ $autobackup -eq 1 ]]
then
echo "Nächtliches Backup einrichten"
cp /tmp/ordersprinter/scripts/backup-db-linux.sh /usr/local/bin/
sed -i -e "s/Benutzer/$dbuser/" /usr/local/bin/backup-db-linux.sh
sed -i -e "s/DasPasswort/$dbuserpassword/" /usr/local/bin/backup-db-linux.sh
sed -i -e "s/123/$remoteaccesscode/" /usr/local/bin/backup-db-linux.sh
sed -i -e "s/localhost\/ordersprinter/localhost/" /usr/local/bin/backup-db-linux.sh
mysql -uroot -p$dbadminpassword -e "UPDATE ${db}.${tabprefix}config SET setting='$remoteaccesscode' WHERE name='remoteaccesscode'";
# Passe die Crontab an, damit der Job jede Nacht um 4 Uhr läuft
cp /etc/crontab /tmp/crontab
# Entferne einen Eintrag von einem möglicherweise vorherigen Scriptlauf
sed -i -e "/.*backup-db-linux.*/d" /tmp/crontab
# Lösche letzte Zeile (sollte ein Hash sein)
sed '$d' /tmp/crontab > /tmp/crontab_without_last_line; mv /tmp/crontab_without_last_line /tmp/crontab
# Füge neuen Eintrag hinzu (nächtliche Sicherung um 4 Uhr)
echo "0 4 * * * root /usr/local/bin/backup-db-linux.sh > /dev/null 2>&1" >> /tmp/crontab
echo "#" >> /tmp/crontab
cp /tmp/crontab /etc/crontab
fi
printf "\n\nInstallation abgeschlossen:\n===========================\n"
printf "Der Druckserver ist eingerichtet und startet automatisch. Je nach Drucker und Anbindung kann\n"
printf "eine weitere Konfiguration erforderlich sein.\n"
printf "Aufruf der OrderSprinter-Applikation im Browser über http://localhost bzw. http://${HOSTNAME}\n"
printf "Der TSEConnector befindet sich im Simulationsmodus. Für einen Normalbetrieb muss die\n"
printf "Befehlszeile in /usr/local/bin/tseconnector.bat abgeändert werden (mode=normal).\n"
printf "Alle eingerichteten Benutzer haben das Passwort 123, ebenso ist der Kassenbon-Stornocode 123.\n"

View File

@ -85,7 +85,7 @@ class Installer {
}
Database::dropTables($pdo);
Database::createEmptyTables($pdo, $prefix);
Database::setVersion($pdo,$prefix,"2.0.3");
Database::setVersion($pdo,$prefix,"2.0.4");
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=2.0.3">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=2.0.4">
<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=2.0.3"></script>
<script src="kitchenbar.js?v=2.0.3"></script>
<script src="utilities.js?v=2.0.4"></script>
<script src="kitchenbar.js?v=2.0.4"></script>
<style>
#tableWithEntriesToCook,#tableWithCookedEntries,#headertableToCook

File diff suppressed because one or more lines are too long

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=2.0.3">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=2.0.4">
<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=2.0.3"></script>
<script src="elements/customers.js?v=2.0.3"></script>
<script src="utilities.js?v=2.0.4"></script>
<script src="elements/customers.js?v=2.0.4"></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=2.0.3">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=2.0.4">
<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=2.0.3"></script>
<script src="utilities.js?v=2.0.4"></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=2.0.3",'_blank');
window.open("php/contenthandler.php?module=roomtables&command=tableqrcodes&v=2.0.4",'_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=2.0.3">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=2.0.4">
<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=2.0.3"></script>
<script src="utilities.js?v=2.0.4"></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=2.0.3">
<link rel="stylesheet" type="text/css" href="css/numfield.css?v=2.0.3">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=2.0.4">
<link rel="stylesheet" type="text/css" href="css/numfield.css?v=2.0.4">
<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=2.0.3"></script>
<script src="utilities.js?v=2.0.4"></script>
</head>
<body>

View File

@ -10,8 +10,8 @@
<meta name="author" content="Stefan Pichel">
<link rel="manifest" href="manifest.webmanifest">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=2.0.3">
<link rel="stylesheet" type="text/css" href="css/numfield.css?v=2.0.3">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=2.0.4">
<link rel="stylesheet" type="text/css" href="css/numfield.css?v=2.0.4">
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle-brightenergy.min.css" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
@ -19,7 +19,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=2.0.3"></script>
<script src="utilities.js?v=2.0.4"></script>
</head>
<body>
@ -30,6 +30,7 @@ var I_TIMEDIFF_NO_ADMIN = ["Zeit am Server und am Endgerät unterscheiden sich.
"Tiempo en el servidor y su maquina no son iguales. Log in como administrador y corregir el tiempo!"];
var companyInfo = "";
var mode = "notset";
function fillUserList(userinfo) {
var text = '<div class="ui-field-contain">';
@ -43,8 +44,14 @@ function fillUserList(userinfo) {
$("#userlist").html(text);
$("#passwordfield").val("");
// set preselection of view
createViewSelBox(userinfo.defaultview);
var modePreset = userinfo.defaultview;
if (mode == "desktop") {
modePreset = 1;
} else if (mode == "mobil") {
modePreset = 0;
}
createViewSelBox(modePreset);
}
function createViewSelBox(preselection) {
@ -106,7 +113,7 @@ function displayLoginOrLogoutMask(jsonContent) {
if (jsonContent.timediff == 1) {
var lang = jsonContent.lang;
if (jsonContent.isadmin == 1) {
setTimeout(function(){document.location.href = "time.html"},250);
setTimeout(function(){document.location.href = "time.html";},250);
return;
} else {
alert(I_TIMEDIFF_NO_ADMIN[lang]);
@ -133,7 +140,7 @@ function displayLoginOrLogoutMask(jsonContent) {
// user needs to log in!
$("#passwordfield").val("");
$("#logoutarea").hide();
setTimeout(function(){document.location.href = "index.html?v=2.0.3"},250);
setTimeout(function(){document.location.href = "index.html?v=2.0.4";},250);
}
}
@ -180,7 +187,7 @@ function binding() {
e.preventDefault();
var val=$(this).html();
var classes = $(this).attr("class")
var classes = $(this).attr("class");
if (classes == "numnav") {
if (val == "1") {
showNumPanel();
@ -233,7 +240,7 @@ function handleResultOfInstallCheck(is_installed) {
if (is_installed == "Yes") {
useInstallation();
} else {
setTimeout(function(){document.location.href = "install.html?v=2.0.3"},500);
setTimeout(function(){document.location.href = "install.html?v=2.0.4";},500);
}
}
@ -259,6 +266,15 @@ function handleCompanyInfo(answer) {
function useInstallation() {
var urlsuffix = urlsuffix = location.search;
if (urlsuffix.indexOf('m=') >= 0) {
var getParameterMode = getUrlGetParameter(urlsuffix,"m=");
if (getParameterMode == "desktop") {
mode = "desktop";
} else if (getParameterMode == "mobil") {
mode = "mobil";
}
}
if (urlsuffix.indexOf('a=') >= 0) {
var authInfo = getUrlGetParameter(urlsuffix,"a=");
var parts = authInfo.split("_");
@ -296,11 +312,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=2.0.3&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=2.0.4&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=2.0.3&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=2.0.4&style=always" style="max-height:150px;"/></div>
<div class="loginarea">
<form method="post">

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="author" content="Stefan Pichel">
<title>Setup</title>
<link rel="stylesheet" type="text/css" href="css/installstyle.css?v=2.0.3">
<link rel="stylesheet" type="text/css" href="css/installstyle.css?v=2.0.4">
<script src="php/3rdparty/jquery-2.0.3.min.js"></script>
<script src="utilities.js"></script>
@ -970,7 +970,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" class="updatebtn">Update -> 2.0.3</button>
<button id="updatebtn" class="updatebtn">Update -> 2.0.4</button>
<span id="updateinprogresstxt" style="display:none;"><img id="installprogressindicator" src="php/3rdparty/images/ajax-loader.gif" alt="Progress indication" /> Update... bitte warten.</span>
</td>
<td>&nbsp;</td>

View File

@ -325,23 +325,39 @@ echo json_encode(array("status" => "ERROR","msg" => "ERROR"));
$configWriter = new ConfigWriter();
$configWriter->getConfigVals();
} else if ($command == 'defaultinstall') {
DbUtils::overrulePrefix("os_");
DbUtils::overruleDbName("ordersprinter");
$tabprefix = "os_";
if (isset($_GET['prefix'])) {
$tabprefix = $_GET['prefix'];
}
$db = "ordersprinter";
if (isset($_GET['db'])) {
$db = $_GET['db'];
}
$dbuser = "os";
if (isset($_GET['dbuser'])) {
$dbuser = $_GET['dbuser'];
}
$dbpass = "dbpass";
if (isset($_GET['dbpass'])) {
$dbpass = $_GET['dbpass'];
}
DbUtils::overrulePrefix($tabprefix);
DbUtils::overruleDbName($db);
$admin = new InstallAdmin();
$pdo = $admin->openDbAndReturnPdo("localhost","ordersprinter","os","dbpass");
$pdo = $admin->openDbAndReturnPdo("localhost",$db,$dbuser,$dbpass);
$admin->setPdo($pdo);
$admin->setPrefix("os_");
$admin->setPrefix($tabprefix);
$admin->setTimeZone("Europe/Berlin");
DbUtils::overruleTimeZone($_POST['timezone']);
DbUtils::overrulePrefix($_POST['prefix']);
DbUtils::overrulePrefix($tabprefix);
set_time_limit(60*10);
$basedb = new Basedb();
$basedb->createAndIntializeTables($pdo,",",0,"Euro","Europe/Berlin");
$updResult = Version::runUpdateProcess($pdo, "os_", "ordersprinter",null,false);
$updResult = Version::runUpdateProcess($pdo, $tabprefix, $db,null,false);
if ($updResult["status"] != "OK") {
echo json_encode("Fehler beim Update: " . $updResult["msg"]);
return;
@ -366,7 +382,7 @@ $basedb->changeInitialConfig($pdo,$restaurantmode,$dsfinvk_name,$dsfinvk_street,
$admin->signLastBillId();
$roleid = Roles::insertAdminRole($pdo);
$admin->insertUser("admin", "123", $roleid, 0, 1);
$admin->writeConfigFile("localhost","ordersprinter","os","dbpass","os_");
$admin->writeConfigFile("localhost",$db,$dbuser,$dbpass,$tabprefix);
if(session_id() == '') {
session_start();
@ -451,12 +467,29 @@ catch (PDOException $e) {
echo json_encode("ERROR: $e");
}
} else if ($command == 'defaultinsertsamplecontent') {
$tabprefix = "os_";
if (isset($_GET['prefix'])) {
$tabprefix = $_GET['prefix'];
}
$db = "ordersprinter";
if (isset($_GET['db'])) {
$db = $_GET['db'];
}
$dbuser = "os";
if (isset($_GET['dbuser'])) {
$dbuser = $_GET['dbuser'];
}
$dbpass = "dbpass";
if (isset($_GET['dbpass'])) {
$dbpass = $_GET['dbpass'];
}
try {
DbUtils::overrulePrefix("os_");
DbUtils::overrulePrefix($tabprefix);
$admin = new InstallAdmin();
$pdo = $admin->openDbAndReturnPdo("localhost","ordersprinter","os","dbpass");
$pdo = $admin->openDbAndReturnPdo("localhost",$db,$dbuser,$dbpass);
$admin->setPdo($pdo);
$admin->setPrefix("os_");
$admin->setPrefix($tabprefix);
$admin->setTimeZone("Europe/Berlin");
$admin->insertSample(3,0,"123",0,"Europe/Berlin");
@ -480,7 +513,7 @@ return;
}
set_time_limit(60*30);
$installerVersion = "2.0.3";
$installerVersion = "2.0.4";
$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=2.0.3">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=2.0.4">
<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=2.0.3"></script>
<script src="kitchenbar.js?v=2.0.3"></script>
<script src="utilities.js?v=2.0.4"></script>
<script src="kitchenbar.js?v=2.0.4"></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=2.0.3">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=2.0.4">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
@ -14,12 +14,12 @@
<script src="php/3rdparty/jquery-1.11.3.min.js"></script>
<!-- <script src="https://code.jquery.com/jquery-1.11.3.js"></script> -->
<script src="php/3rdparty/jquery.mobile-1.4.5.min.js"></script>
<script src="utilities.js?v=2.0.3"></script>
<script src="elements/tablemap.js?v=2.0.3"></script>
<script src="elements/roommap.js?v=2.0.3"></script>
<script src="elements/groundplan.js?v=2.0.3"></script>
<script src="elements/tse.js?v=2.0.3"></script>
<script src="elements/closing.js?v=2.0.3"></script>
<script src="utilities.js?v=2.0.4"></script>
<script src="elements/tablemap.js?v=2.0.4"></script>
<script src="elements/roommap.js?v=2.0.4"></script>
<script src="elements/groundplan.js?v=2.0.4"></script>
<script src="elements/tse.js?v=2.0.4"></script>
<script src="elements/closing.js?v=2.0.4"></script>
<link href="php/3rdparty/hayageek_uploadfile.css" rel="stylesheet">
<script src="php/3rdparty/hayageek_jquery_uploadfile.js"></script>
@ -1701,7 +1701,7 @@ function initRestoreFileUpload() {
} else {
alert("Import war erfolgreich.");
setTimeout(function(){
document.location.href = "index.html?v=2.0.3";
document.location.href = "index.html?v=2.0.4";
},250);
}
},
@ -2097,37 +2097,37 @@ function bindConfig() {
$("#samplerectemplate").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
doAjax("GET","php/contenthandler.php?module=admin&command=getrectemplate&v=2.0.3",null,handleGetRecTemplate,null);
doAjax("GET","php/contenthandler.php?module=admin&command=getrectemplate&v=2.0.4",null,handleGetRecTemplate,null);
});
$("#sampleclstemplate").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
doAjax("GET","php/contenthandler.php?module=admin&command=getclstemplate&v=2.0.3",null,handleGetClsTemplate,null);
doAjax("GET","php/contenthandler.php?module=admin&command=getclstemplate&v=2.0.4",null,handleGetClsTemplate,null);
});
$("#samplecashtemplate").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
doAjax("GET","php/contenthandler.php?module=admin&command=getcashtemplate&v=2.0.3",null,handleGetCashTemplate,null);
doAjax("GET","php/contenthandler.php?module=admin&command=getcashtemplate&v=2.0.4",null,handleGetCashTemplate,null);
});
$("#samplefoodworktemplate").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
doAjax("GET","php/contenthandler.php?module=admin&command=getfoodworktemplate&v=2.0.3",null,handleGetFoodTemplate,null);
doAjax("GET","php/contenthandler.php?module=admin&command=getfoodworktemplate&v=2.0.4",null,handleGetFoodTemplate,null);
});
$("#sampledrinkworktemplate").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
doAjax("GET","php/contenthandler.php?module=admin&command=getdrinkworktemplate&v=2.0.3",null,handleGetDrinkTemplate,null);
doAjax("GET","php/contenthandler.php?module=admin&command=getdrinkworktemplate&v=2.0.4",null,handleGetDrinkTemplate,null);
});
$("#samplecanceltemplate").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
doAjax("GET","php/contenthandler.php?module=admin&command=getcanceltemplate&v=2.0.3",null,handleGetCancelTemplate,null);
doAjax("GET","php/contenthandler.php?module=admin&command=getcanceltemplate&v=2.0.4",null,handleGetCancelTemplate,null);
});
$("#samplepickuptemplate").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
doAjax("GET","php/contenthandler.php?module=admin&command=getpickuptemplate&v=2.0.3",null,handleGetPickupTemplate,null);
doAjax("GET","php/contenthandler.php?module=admin&command=getpickuptemplate&v=2.0.4",null,handleGetPickupTemplate,null);
});
$("#changeConfig").off("click").on("click", function (e) {
@ -2255,38 +2255,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=2.0.3";
window.location.href = "php/contenthandler.php?module=admin&command=backup&type=configuration&v=2.0.4";
});
$("#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=2.0.3";
window.location.href = "php/contenthandler.php?module=admin&command=backup&type=all&v=2.0.4";
});
$("#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=2.0.3";
window.location.href = "php/contenthandler.php?module=admin&command=backup&type=alllogs&v=2.0.4";
});
$("#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=2.0.3",null,handleFtpResult,null);
doAjax("GET","php/contenthandler.php?module=admin&command=ftpbackup&type=all&v=2.0.4",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=2.0.3",'_blank');
window.open("php/contenthandler.php?module=admin&command=backup&type=debugdata&v=2.0.4",'_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=2.0.3";
window.location.href = "php/contenthandler.php?module=admin&command=backup&type=confandguests&v=2.0.4";
});
$("#golive").off("click").on("click", function (e) {
@ -2484,7 +2484,7 @@ function updateOneSingleFile() {
setTimeout(function(){
$("#sliderarea").hide();
var millis=getMillis();
document.location.href = "install.html?v=2.0.3&mode=onlyupdate&n=" + millis;
document.location.href = "install.html?v=2.0.4&mode=onlyupdate&n=" + millis;
},250);
}
}

File diff suppressed because one or more lines are too long

View File

@ -1553,7 +1553,7 @@ class Admin {
$view = "preferences.html";
}
echo json_encode($view . "?v=2.0.3");
echo json_encode($view . "?v=2.0.4");
}
}
@ -1768,31 +1768,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=2.0.3"); }
if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waitertxt[$lang], "link" => "waiter.html?v=2.0.4"); }
} else {
if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waiterdesktxt[$lang], "link" => "waiterdesktop.php?v=2.0.3"); }
if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waiterdesktxt[$lang], "link" => "waiterdesktop.php?v=2.0.4"); }
}
if ($_SESSION['right_kitchen']) { $mainMenu[] = array("name" => $kitchentxt[$lang], "link" => "kitchen.html?v=2.0.3"); }
if ($_SESSION['right_bar']) { $mainMenu[] = array("name" => "Bar", "link" => "bar.html?v=2.0.3"); }
if ($_SESSION['right_supply']) { $mainMenu[] = array("name" => $supplytxt[$lang], "link" => "supplydesk.html?v=2.0.3"); }
if ($_SESSION['right_kitchen']) { $mainMenu[] = array("name" => $kitchentxt[$lang], "link" => "kitchen.html?v=2.0.4"); }
if ($_SESSION['right_bar']) { $mainMenu[] = array("name" => "Bar", "link" => "bar.html?v=2.0.4"); }
if ($_SESSION['right_supply']) { $mainMenu[] = array("name" => $supplytxt[$lang], "link" => "supplydesk.html?v=2.0.4"); }
if ($_SESSION['modus'] == 0) {
if ($_SESSION['right_paydesk']) { $mainMenu[] = array("name" => $paydesktxt[$lang], "link" => "paydesk.html?v=2.0.3"); }
if ($_SESSION['right_paydesk']) { $mainMenu[] = array("name" => $paydesktxt[$lang], "link" => "paydesk.html?v=2.0.4"); }
}
if ($_SESSION['right_statistics']) { $mainMenu[] = array("name" => $stattxt[$lang], "link" => "reports.html?v=2.0.3"); }
if ($_SESSION['right_bill']) { $mainMenu[] = array("name" => $bontxt[$lang], "link" => "bill.html?v=2.0.3"); }
if ($_SESSION['right_products']) { $mainMenu[] = array("name" => $prodtxt[$lang], "link" => "products.html?v=2.0.3"); }
if ($_SESSION['right_reservation']) { $mainMenu[] = array("name" => $restxt[$lang], "link" => "reservation.html?v=2.0.3"); }
if ($_SESSION['right_tasks'] || $_SESSION['right_tasksmanagement']) { $mainMenu[] = array("name" => $taskstxt[$lang], "link" => "tasks.html?v=2.0.3"); }
if ($_SESSION['right_rating']) { $mainMenu[] = array("name" => $ratingtxt[$lang], "link" => "rating.html?v=2.0.3"); }
if ($_SESSION['right_customers']) { $mainMenu[] = array("name" => $customerstxt[$lang], "link" => "customers.html?v=2.0.3"); }
if ($_SESSION['right_pickups']) { $mainMenu[] = array("name" => $pickupstxt[$lang], "link" => "pickups.html?v=2.0.3"); }
if ($_SESSION['right_dash']) { $mainMenu[] = array("name" => $dashtxt[$lang], "link" => "dash.php?v=2.0.3"); }
if ($_SESSION['right_manager'] || $_SESSION['is_admin'] || $_SESSION['right_closing']) { $mainMenu[] = array("name" => $admintxt[$lang], "link" => "manager.html?v=2.0.3"); }
$mainMenu[] = array("name" => $settingtxt[$lang], "link" => "preferences.html?v=2.0.3");
if ($_SESSION['right_timetracking'] || $_SESSION['right_timemanager']) { $mainMenu[] = array("name" => $timetrackingtxt[$lang], "link" => "timetracking.html?v=2.0.3"); }
if ($_SESSION['right_statistics']) { $mainMenu[] = array("name" => $stattxt[$lang], "link" => "reports.html?v=2.0.4"); }
if ($_SESSION['right_bill']) { $mainMenu[] = array("name" => $bontxt[$lang], "link" => "bill.html?v=2.0.4"); }
if ($_SESSION['right_products']) { $mainMenu[] = array("name" => $prodtxt[$lang], "link" => "products.html?v=2.0.4"); }
if ($_SESSION['right_reservation']) { $mainMenu[] = array("name" => $restxt[$lang], "link" => "reservation.html?v=2.0.4"); }
if ($_SESSION['right_tasks'] || $_SESSION['right_tasksmanagement']) { $mainMenu[] = array("name" => $taskstxt[$lang], "link" => "tasks.html?v=2.0.4"); }
if ($_SESSION['right_rating']) { $mainMenu[] = array("name" => $ratingtxt[$lang], "link" => "rating.html?v=2.0.4"); }
if ($_SESSION['right_customers']) { $mainMenu[] = array("name" => $customerstxt[$lang], "link" => "customers.html?v=2.0.4"); }
if ($_SESSION['right_pickups']) { $mainMenu[] = array("name" => $pickupstxt[$lang], "link" => "pickups.html?v=2.0.4"); }
if ($_SESSION['right_dash']) { $mainMenu[] = array("name" => $dashtxt[$lang], "link" => "dash.php?v=2.0.4"); }
if ($_SESSION['right_manager'] || $_SESSION['is_admin'] || $_SESSION['right_closing']) { $mainMenu[] = array("name" => $admintxt[$lang], "link" => "manager.html?v=2.0.4"); }
$mainMenu[] = array("name" => $settingtxt[$lang], "link" => "preferences.html?v=2.0.4");
if ($_SESSION['right_timetracking'] || $_SESSION['right_timemanager']) { $mainMenu[] = array("name" => $timetrackingtxt[$lang], "link" => "timetracking.html?v=2.0.4"); }
$mainMenu[] = array("name" => "Hilfe", "link" => "help.php?v=2.0.3");
$mainMenu[] = array("name" => "Feedback", "link" => "feedback.html?v=2.0.3");
$mainMenu[] = array("name" => "Hilfe", "link" => "help.php?v=2.0.4");
$mainMenu[] = array("name" => "Feedback", "link" => "feedback.html?v=2.0.4");
}
$mainMenu[] = array("name" => $logout[$lang], "link" => "logout.php");

View File

@ -892,7 +892,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=2.0.3">';
$txt .= '<link rel="stylesheet" type="text/css" href="../css/guestreport.css?v=2.0.4">';
$txt .= "</head>";
return $txt;
}

View File

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

View File

@ -1668,7 +1668,7 @@ class QueueContent {
}
public static function signRemovalOfQueueItem($pdo,$queueid) {
$sql = "SELECT (IF(unit=0,ROUND(unitamount),unitamount)) as unitamount,unit,productname,(0-price) as price FROM %queue% WHERE id=?";
$sql = "SELECT (IF(unit=0,ROUND(0-unitamount),0-unitamount)) as unitamount,unit,productname,price FROM %queue% WHERE id=?";
$result = CommonUtils::fetchSqlAll($pdo, $sql, array($queueid));
$amount = $result[0]["unitamount"];
$unit = $result[0]["unitamount"];

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=2.0.3">';
$txt .= '<link rel="stylesheet" type="text/css" href="../css/bestformat.css?v=2.0.4">';
$txt .= "</head>";
$txt .= "<body>";
$txt .= "<h1>Reservierungsübersicht für $day.$month.$year</h1><p>";

View File

@ -638,7 +638,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=2.0.3">';
$txt .= '<link rel="stylesheet" type="text/css" href="../css/bestformat.css?v=2.0.4">';
$txt .= "</head>";
$txt .= "<body>";
$txt .= "<h1>Tisch QR-Codes für die Gastbestellung</h1><p>";

View File

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

View File

@ -1556,6 +1556,9 @@ class Version {
return array(false,$e);
}
}
public static function upd_2003_2004($pdo, $prefix, $dbname) {
return array(true);
}
public static $updateOrder = array(
"1.3.0" => array("upd_1300_1301","1.3.1"),
@ -1652,7 +1655,8 @@ class Version {
"1.6.10" => array("upd_1610_2000","2.0.0"),
"2.0.0" => array("upd_2000_2001","2.0.1"),
"2.0.1" => array("upd_2001_2002","2.0.2"),
"2.0.2" => array("upd_2002_2003","2.0.3")
"2.0.2" => array("upd_2002_2003","2.0.3"),
"2.0.3" => array("upd_2003_2004","2.0.4")
);
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=2.0.3">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=2.0.4">
<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=2.0.3"></script>
<script src="utilities.js?v=2.0.4"></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=2.0.3">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=2.0.4">
<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=2.0.3"></script>
<script src="utilities.js?v=2.0.4"></script>
<link href="php/3rdparty/hayageek_uploadfile.css" rel="stylesheet">
<script src="php/3rdparty/hayageek_jquery_uploadfile.js"></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=2.0.3">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=2.0.4">
<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=2.0.3"></script>
<script src="elements/product.js?v=2.0.3"></script>
<script src="elements/extra.js?v=2.0.3"></script>
<script src="utilities.js?v=2.0.4"></script>
<script src="elements/product.js?v=2.0.4"></script>
<script src="elements/extra.js?v=2.0.4"></script>
<link href="php/3rdparty/hayageek_uploadfile.css" rel="stylesheet">
<script src="php/3rdparty/hayageek_jquery_uploadfile.js"></script>
</head>

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=2.0.3">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=2.0.4">
<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=2.0.3"></script>
<script src="utilities.js?v=2.0.4"></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=2.0.3">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=2.0.4">
<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=2.0.3"></script>
<script src="utilities.js?v=2.0.4"></script>
</head>
<body>

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=2.0.3">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=2.0.4">
<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=2.0.3"></script>
<script src="utilities.js?v=2.0.4"></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=2.0.3">
<link rel="stylesheet" type="text/css" href="css/osdatepicker.css?v=2.0.3">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=2.0.4">
<link rel="stylesheet" type="text/css" href="css/osdatepicker.css?v=2.0.4">
<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=2.0.3"></script>
<script src="elements/osdatepicker.js?v=2.0.3"></script>
<script src="elements/reservation.js?v=2.0.4"></script>
<script src="elements/osdatepicker.js?v=2.0.4"></script>
<script src="utilities.js?v=2.0.3"></script>
<script src="utilities.js?v=2.0.4"></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=2.0.3&date=" + dateStr;},500);
setTimeout(function(){document.location.href = "reservation.html?v=2.0.4&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=2.0.3"></script>
<script src="utilities.js?v=2.0.4"></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=2.0.3";
var nextpage = "paydesk.html?version=2.0.4";
var lang;
@ -84,10 +84,10 @@ function setLanguage(language) {
if (nextPage == "p") {
$("#nextpagebtntxt").html(SUM_TO_PAYMENT[lang]);
nextpage = "paydesk.html?t=" + tableid + "&version=2.0.3";
nextpage = "paydesk.html?t=" + tableid + "&version=2.0.4";
} else {
$("#nextpagebtntxt").html(SUM_TO_ORDER[lang]);
nextpage = "waiter.html?version=2.0.3";
nextpage = "waiter.html?version=2.0.4";
}
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=2.0.3">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=2.0.4">
<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=2.0.3"></script>
<script src="utilities.js?v=2.0.4"></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=2.0.3">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=2.0.4">
<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=2.0.3"></script>
<script src="utilities.js?v=2.0.4"></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=2.0.3">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=2.0.4">
<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=2.0.3"></script>
<script src="utilities.js?v=2.0.4"></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

File diff suppressed because one or more lines are too long