OrderSprinter 1.5.3

This commit is contained in:
Geno 2020-11-19 23:11:36 +01:00
parent 3cb517f30d
commit b5825ea919
35 changed files with 312 additions and 79 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.5.2" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css?v=1.5.2" />
<link rel="stylesheet" href="css/gueststyle.css?v=1.5.3" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css?v=1.5.3" />
<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>
@ -105,7 +105,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.5.2&nbsp;&nbsp;</div>
<div class="ui-block-b grid_right" id="versioninfo">1.5.3&nbsp;&nbsp;</div>
</div><!-- /grid-a -->
</div>
</div>

View File

@ -90,10 +90,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.5.2">';
echo '<link rel="stylesheet" type="text/css" href="css/gueststyle.css?v=1.5.3">';
echo "</head>";
echo "<body><div class=surround>";
echo "<span class=headerline>Installation OrderSprinter-Gastsystem 1.5.2</span><br><br>";
echo "<span class=headerline>Installation OrderSprinter-Gastsystem 1.5.3</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

@ -85,7 +85,7 @@ class Installer {
}
Database::dropTables($pdo);
Database::createEmptyTables($pdo, $prefix);
Database::setVersion($pdo,$prefix,"1.5.2");
Database::setVersion($pdo,$prefix,"1.5.3");
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.5.2">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.3">
<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.5.2"></script>
<script src="kitchenbar.js?v=1.5.2"></script>
<script src="utilities.js?v=1.5.3"></script>
<script src="kitchenbar.js?v=1.5.3"></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.5.2">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.3">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

View File

@ -0,0 +1,47 @@
table.guestreport {
width: 100%;
border:2px solid black;
font-size: 1.0em;
border-collapse: collapse;
font-family: Arial, Helvetica, sans-serif;
color: black;
}
table.guestreport td {
border: 1px solid black;
padding: 10px;
}
table.guestreport td.name {
background-color: #eeeeee;
}
table.guestreport td.header {
font-weight: bold;
background-color: #aaaaaa;
}
table.guestreport td.sum {
font-weight: bold;
font-size: 1.2em;
}
table.guestreport td.sumheader {
background-color: #dddddd;
}
table.guestreport td.sumvalue {
background-color: #ff6347;
}
table.guestreport th.complete {
background:#17370b;
color:rgba(255,255,255,0);
}
.title {
font-family: Arial, Helvetica, sans-serif;
text-align: center;
}
.footer {
font-family: Arial, Helvetica, sans-serif;
font-style: italic;
text-align: right;
padding-right: 20px;
}
.center {
text-align: center;
font-weight: bold;
}

View File

@ -75,6 +75,7 @@ var CUS_DECLAREUNPAY = ["Deklariere unbezahlt","Declare unpaid","Declarar no pag
var CUS_PRINTBILL = ["Drucken","Print","Imprimir"];
var CUS_DECLARE_ALL_PAY = ["Alle als bezahlt deklarieren","Declare all as paid","Declarar todo pagado"];
var CUS_PRINT_ALL = ["Alle Bons drucken","Print all receipts","Imprimir todos los tiquetes"];
var CUS_REPORT = ["Report über alle offenen Rechnungen","Report about all open bills","Resumen de todos las facturas non-pagadas"];
var CUS_FILTER_OPEN_BILLS = ["Filter Gäste mit offenen Rechnungen","Filter on customers with ooen bills","Filtrar clientes con tiquets non-pagados"];
var CUS_LOGBTN = ["Rechnungslog (csv)","Log of payments (csv)","Protocolo de los pagos (csv)"];
var CUS_SEND_EMAIL = ["Email an alle Gruppenmitglieder senden","Send email to all group members","Enviar email a todos los miembros"];
@ -85,6 +86,7 @@ var CUS_YES = ["Ja","Yes","Si"];
var CUS_PLACEHOLDER_HINT = ["Im Text können die Platzhalter {NAME}, {ANREDE}, {GRUSS} verwendet werden.",
"You can use {NAME}, {ANREDE}, {GRUSS} as placeholder for the name, the salutation or the greeting in the text.",
"En el texto se puede usar {NAME}, {ANREDE}, {GRUSS} para sustituir nombre, encabezamiento o abrazo."];
var CUS_GUEST_ACT_ALL = ["Aktionen für alle Gäste","Actions on all guests","Acciones para todos los huespedes"];
var l = 0;
@ -107,6 +109,8 @@ function setLanguage(language) {
$("#customerdatetxt").html(CUS_DATE[l]);
$("#customeropenbillstxt").html(CUS_FILTER_OPEN_BILLS[l]);
$("#customerlog").html(CUS_LOGBTN[l]);
$("#reportbills").html(CUS_REPORT[l]);
$("#guestoverviewdiv").html(CUS_GUEST_ACT_ALL[l]);
}
$(document).on("pageinit", "#info-page", function () {
@ -226,7 +230,12 @@ $(document).on("pageinit", "#info-page", function () {
<div id="customersearchresult"></div>
<div id="logarea">
<button type="submit" data-theme="f" class="" data-icon="check" id="customerlog">Rechnungsprotokoll</button>
<div data-role="collapsible" data-theme="e" data-content-theme="c">
<h3><span id='guestoverviewdiv'>Gast-Aktionen</span></h3>
<p><button type="submit" data-theme="f" class="" data-icon="check" id="customerlog">Rechnungsprotokoll</button>
<p><button type="submit" data-theme="f" class="" data-icon="check" id="reportbills">Report</button>
<p><div id='payalldiv'></div>
</div>
</div>
</div>

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">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.2">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.3">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

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.5.2">
<link rel="stylesheet" type="text/css" href="css/numfield.css?v=1.5.2">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.3">
<link rel="stylesheet" type="text/css" href="css/numfield.css?v=1.5.3">
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
@ -229,7 +229,7 @@ function handleResultOfInstallCheck(is_installed) {
if (is_installed == "Yes") {
useInstallation();
} else {
setTimeout(function(){document.location.href = "install.html?v=1.5.2"},500);
setTimeout(function(){document.location.href = "install.html?v=1.5.3"},500);
}
}

View File

@ -727,7 +727,7 @@ $(document).ready(function() {
<tr id=updateline>
<td>&nbsp;</td>
<td align=center>
<button id="updatebtn">Update -> 1.5.2</button>
<button id="updatebtn">Update -> 1.5.3</button>
<span id="updateinprogresstxt" style="display:none;">Update... bitte warten.</span>
</td>
<td>&nbsp;</td>

View File

@ -349,6 +349,7 @@ $configWriter = new ConfigWriter();
$configWriter->getConfigVals();
} else if ($command == 'install') {
DbUtils::overrulePrefix($_POST['prefix']);
DbUtils::overruleDbName($_POST['db']);
$admin = new InstallAdmin();
$pdo = $admin->openDbAndReturnPdo($_POST['host'],$_POST['db'],$_POST['user'],$_POST['password']);
$admin->setPdo($pdo);
@ -413,7 +414,7 @@ $zones[] = $timezone_identifiers[$i];
echo json_encode($zones);
} else if ($command == 'update') {
set_time_limit(60*30);
$installerVersion = "1.5.2";
$installerVersion = "1.5.3";
$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.5.2">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.3">
<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.5.2"></script>
<script src="kitchenbar.js?v=1.5.2"></script>
<script src="utilities.js?v=1.5.3"></script>
<script src="kitchenbar.js?v=1.5.3"></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.5.2">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.3">
<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.5.2"></script>
<script src="elements/tablemap.js?v=1.5.2"></script>
<script src="elements/roommap.js?v=1.5.2"></script>
<script src="elements/groundplan.js?v=1.5.2"></script>
<script src="utilities.js?v=1.5.3"></script>
<script src="elements/tablemap.js?v=1.5.3"></script>
<script src="elements/roommap.js?v=1.5.3"></script>
<script src="elements/groundplan.js?v=1.5.3"></script>
<link href="php/3rdparty/hayageek_uploadfile.css" rel="stylesheet">
<script src="php/3rdparty/hayageek_jquery_uploadfile.js"></script>
@ -360,6 +360,7 @@ var MAN_DEFAULTVIEW = ["Vorauswahl","Preselection View","Vista estandardo"];
var MAN_TASK_ALLASSIGN = ["Aufgabenzuweisung an andere Benutzer","Task assignment to other users","Asignar tareas a otras personas"];
var MAN_TASK_OWNEREMPTY = ["Benutzer für Auffüllen-Aufgabe","User for refill task","Usario de tarea de sustituir productos"];
var MAN_TASK_IF_EMPTY = ["Aufgabe bei leerem Warenbestand erstellen","Create task before empty inventory","Crear tarea si no ya hay productos"];
var MAN_SHOWTOGO = ["Zeige Außer-Haus-Button","Show To go button","Mostrar boton To-Go"];
var MAN_CLOSSHOWCI = ["Betriebsinfo auf Tagesabschlussbon","Print company info on closing receipt","Imprimir info del café en el cerramiento"];
var MAN_CLOSSHOWPAYTAXES = ["Individuelle Steuerbeträge pro Zahlungsweg auf Tagesabschluss","Print each tax per payment way on closing","Imprimir cada impuesto por cada camino de pagar en el cerramiento"];
var MAN_CLOSSHOWPRODS = ["Produktstatistik auf Tagesabschlussbon","Product statistics on closung","Statistica de productos en el cerramiento"];
@ -430,7 +431,7 @@ var MAN_DRINKS_CAT = ["Getränke","Drinks","Bebidas"];
var MAN_CHANGE_ROLE_AREA = ["Rolle und Tischbereich ändern","Change role and area","Cambiar region y role"];
var lang = 0;
var generalVals = [12,2,0,3,0,1,1,0,0,1, 0,50,20,10,1,0,0,0,1,0,1,0,0,1,1, 1,1,1,1,1,1,1,1,1,1, 1,2,3, 1,0, 1,0,1, 1,1,0,0, 0,0,0, 0,0,0];
var generalVals = [12,2,0,3,0,1,1,0,0,1, 0,50,20,10,1,0,0,0,1,0,1,0,0,1,1, 1,1,1,1,1,1,1,1,1,1, 1,2,3, 1,0, 1,0,1, 1,1,0,0, 0,0,0, 0,0,0,1];
var numberOfClosings = 0;
@ -554,7 +555,8 @@ var generalValuesSettings = [
["defaultview",MAN_DEFAULTVIEW[lang],"s",49],
["taskallassign",MAN_TASK_ALLASSIGN[lang],"s",50],
["taskownerempty",MAN_TASK_OWNEREMPTY[lang],"s",51],
["taskifempty",MAN_TASK_IF_EMPTY[lang],"s",52]
["taskifempty",MAN_TASK_IF_EMPTY[lang],"s",52],
["showtogo",MAN_SHOWTOGO[lang],"s",53]
];
var predef = "";
@ -826,6 +828,7 @@ function insertGeneralConfigItems(configResult) {
$("#partOfTaskallasssign").html(createYesNo("taskallassign",MAN_TASK_ALLASSIGN, values.taskallassign));
$("#partOfTaskifempty").html(createYesNo("taskifempty",MAN_TASK_IF_EMPTY, values.taskifempty));
$("#partOfTaskownerempty").html(createTaskOwnerEmptyPart(values.taskownerempty));
$("#partOfShowtogo").html(createYesNo("showtogo",MAN_SHOWTOGO, values.showtogo));
$("#partOfDashslot1").html(createDashslotPart(1,values.dashslot1));
$("#partOfDashslot2").html(createDashslotPart(2,values.dashslot2));
@ -952,6 +955,7 @@ function insertGeneralConfigItems(configResult) {
generalVals[50] = values.taskallassign;
generalVals[51] = values.taskownerempty;
generalVals[52] = values.taskifempty;
generalVals[53] = values.showtogo;
defaulttmp = values.defaulttmp;
@ -1354,7 +1358,7 @@ function initRestoreFileUpload() {
} else {
alert("Import war erfolgreich.");
setTimeout(function(){
document.location.href = "index.html?v=1.5.2";
document.location.href = "index.html?v=1.5.3";
},250);
}
},
@ -1894,9 +1898,9 @@ function handleUpdateCheckResult(answer) {
var millis=getMillis();
setTimeout(function(){
document.location.href = "install.html?v=1.5.2&mode=onlyupdate&n=" + millis;
document.location.href = "install.html?v=1.5.3&mode=onlyupdate&n=" + millis;
},250);
document.location.href = "install.html?v=1.5.2&mode=onlyupdate&n=" + millis;
document.location.href = "install.html?v=1.5.3&mode=onlyupdate&n=" + millis;
}
function handleUpdateReplace(answer) {
@ -3715,7 +3719,7 @@ $(document).on("pageinit", "#admin-page", function () {
<div id="partOfBeepOrdered"></div>
<div id="partOfBeepCooked"></div>
<div id="partOfShowtogo"></div>
<div id="partOfDblog"></div>
<p>&nbsp;

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.5.2">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.3">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

View File

@ -1002,7 +1002,7 @@ class Admin {
return;
}
$configItems = join(",",array("'decpoint'","'version'","'cancelunpaidcode'","'tax'","'togotax'","'taxaustrianormal'","'taxaustriaerm1'","'taxaustriaerm2'","'taxaustriaspecial'","'currency'","'workflowconfig'","'prominentsearch'","'discount1'","'discount2'","'discount3'","'discountname1'","'discountname2'","'discountname3'","'waitergopayprint'","'cashenabled'","'returntoorder'","'restaurantmode'","'startprodsearch'","'priceinlist'","'showdaycode'","'dailycode'"));
$configItems = join(",",array("'decpoint'","'version'","'cancelunpaidcode'","'tax'","'togotax'","'taxaustrianormal'","'taxaustriaerm1'","'taxaustriaerm2'","'taxaustriaspecial'","'currency'","'workflowconfig'","'prominentsearch'","'discount1'","'discount2'","'discount3'","'discountname1'","'discountname2'","'discountname3'","'waitergopayprint'","'cashenabled'","'returntoorder'","'restaurantmode'","'startprodsearch'","'priceinlist'","'showdaycode'","'dailycode'","'showtogo'"));
$sql = "select name,setting FROM %config% WHERE name in ($configItems)";
$stmt = $pdo->prepare(DbUtils::substTableAlias($sql));
$stmt->execute();
@ -1127,6 +1127,7 @@ class Admin {
array("taskallassign",0,false),
array("taskifempty",0,false),
array("taskownerempty",0,false),
array("showtogo",1,false),
array("closshowci",1,false),
array("closshowpaytaxes",1,false),
@ -1355,7 +1356,7 @@ class Admin {
$view = "preferences.html";
}
echo json_encode($view . "?v=1.5.2");
echo json_encode($view . "?v=1.5.3");
}
}
@ -1570,30 +1571,30 @@ 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.5.2"); }
if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waitertxt[$lang], "link" => "waiter.html?v=1.5.3"); }
} else {
if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waiterdesktxt[$lang], "link" => "waiterdesktop.php?v=1.5.2"); }
if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waiterdesktxt[$lang], "link" => "waiterdesktop.php?v=1.5.3"); }
}
if ($_SESSION['right_kitchen']) { $mainMenu[] = array("name" => $kitchentxt[$lang], "link" => "kitchen.html?v=1.5.2"); }
if ($_SESSION['right_bar']) { $mainMenu[] = array("name" => "Bar", "link" => "bar.html?v=1.5.2"); }
if ($_SESSION['right_supply']) { $mainMenu[] = array("name" => $supplytxt[$lang], "link" => "supplydesk.html?v=1.5.2"); }
if ($_SESSION['right_kitchen']) { $mainMenu[] = array("name" => $kitchentxt[$lang], "link" => "kitchen.html?v=1.5.3"); }
if ($_SESSION['right_bar']) { $mainMenu[] = array("name" => "Bar", "link" => "bar.html?v=1.5.3"); }
if ($_SESSION['right_supply']) { $mainMenu[] = array("name" => $supplytxt[$lang], "link" => "supplydesk.html?v=1.5.3"); }
if ($_SESSION['modus'] == 0) {
if ($_SESSION['right_paydesk']) { $mainMenu[] = array("name" => $paydesktxt[$lang], "link" => "paydesk.html?v=1.5.2"); }
if ($_SESSION['right_paydesk']) { $mainMenu[] = array("name" => $paydesktxt[$lang], "link" => "paydesk.html?v=1.5.3"); }
}
if ($_SESSION['right_statistics']) { $mainMenu[] = array("name" => $stattxt[$lang], "link" => "reports.html?v=1.5.2"); }
if ($_SESSION['right_bill']) { $mainMenu[] = array("name" => $bontxt[$lang], "link" => "bill.html?v=1.5.2"); }
if ($_SESSION['right_products']) { $mainMenu[] = array("name" => $prodtxt[$lang], "link" => "products.html?v=1.5.2"); }
if ($_SESSION['right_reservation']) { $mainMenu[] = array("name" => $restxt[$lang], "link" => "reservation.html?v=1.5.2"); }
if ($_SESSION['right_tasks'] || $_SESSION['right_tasksmanagement']) { $mainMenu[] = array("name" => $taskstxt[$lang], "link" => "tasks.html?v=1.5.2"); }
if ($_SESSION['right_rating']) { $mainMenu[] = array("name" => $ratingtxt[$lang], "link" => "rating.html?v=1.5.2"); }
if ($_SESSION['right_customers']) { $mainMenu[] = array("name" => $customerstxt[$lang], "link" => "customers.html?v=1.5.2"); }
if ($_SESSION['right_dash']) { $mainMenu[] = array("name" => $dashtxt[$lang], "link" => "dash.php?v=1.5.2"); }
if ($_SESSION['right_manager'] || $_SESSION['is_admin'] || $_SESSION['right_closing']) { $mainMenu[] = array("name" => $admintxt[$lang], "link" => "manager.html?v=1.5.2"); }
$mainMenu[] = array("name" => $settingtxt[$lang], "link" => "preferences.html?v=1.5.2");
if ($_SESSION['right_timetracking'] || $_SESSION['right_timemanager']) { $mainMenu[] = array("name" => $timetrackingtxt[$lang], "link" => "timetracking.html?v=1.5.2"); }
if ($_SESSION['right_statistics']) { $mainMenu[] = array("name" => $stattxt[$lang], "link" => "reports.html?v=1.5.3"); }
if ($_SESSION['right_bill']) { $mainMenu[] = array("name" => $bontxt[$lang], "link" => "bill.html?v=1.5.3"); }
if ($_SESSION['right_products']) { $mainMenu[] = array("name" => $prodtxt[$lang], "link" => "products.html?v=1.5.3"); }
if ($_SESSION['right_reservation']) { $mainMenu[] = array("name" => $restxt[$lang], "link" => "reservation.html?v=1.5.3"); }
if ($_SESSION['right_tasks'] || $_SESSION['right_tasksmanagement']) { $mainMenu[] = array("name" => $taskstxt[$lang], "link" => "tasks.html?v=1.5.3"); }
if ($_SESSION['right_rating']) { $mainMenu[] = array("name" => $ratingtxt[$lang], "link" => "rating.html?v=1.5.3"); }
if ($_SESSION['right_customers']) { $mainMenu[] = array("name" => $customerstxt[$lang], "link" => "customers.html?v=1.5.3"); }
if ($_SESSION['right_dash']) { $mainMenu[] = array("name" => $dashtxt[$lang], "link" => "dash.php?v=1.5.3"); }
if ($_SESSION['right_manager'] || $_SESSION['is_admin'] || $_SESSION['right_closing']) { $mainMenu[] = array("name" => $admintxt[$lang], "link" => "manager.html?v=1.5.3"); }
$mainMenu[] = array("name" => $settingtxt[$lang], "link" => "preferences.html?v=1.5.3");
if ($_SESSION['right_timetracking'] || $_SESSION['right_timemanager']) { $mainMenu[] = array("name" => $timetrackingtxt[$lang], "link" => "timetracking.html?v=1.5.3"); }
$mainMenu[] = array("name" => "Hilfe", "link" => "help.php?v=1.5.2");
$mainMenu[] = array("name" => "Feedback", "link" => "feedback.html?v=1.5.2");
$mainMenu[] = array("name" => "Hilfe", "link" => "help.php?v=1.5.3");
$mainMenu[] = array("name" => "Feedback", "link" => "feedback.html?v=1.5.3");
}
$mainMenu[] = array("name" => $logout[$lang], "link" => "logout.php");
@ -2100,6 +2101,7 @@ class Admin {
"taskallassign" => array("dbcol" => "taskallassign","checknum" => 0),
"taskifempty" => array("dbcol" => "taskifempty","checknum" => 0),
"taskownerempty" => array("dbcol" => "taskownerempty","checknum" => 0),
"showtogo" => array("dbcol" => "showtogo","checknum" => 0),
"closshowci" => array("dbcol" => "closshowci","checknum" => 0),
"closshowpaytaxes" => array("dbcol" => "closshowpaytaxes","checknum" => 0),

View File

@ -31,12 +31,22 @@ class Customers {
"printallbills" => array("loggedin" => 1, "isadmin" => 0, "rights" => array("customers")),
"emailGroup" => array("loggedin" => 1, "isadmin" => 0, "rights" => array("customers")),
"exportLog" => array("loggedin" => 1, "isadmin" => 0, "rights" => array("customers")),
"getPaymentsForGuest" => array("loggedin" => 1, "isadmin" => 0, "rights" => array("customers"))
"getPaymentsForGuest" => array("loggedin" => 1, "isadmin" => 0, "rights" => array("customers")),
"reportbills" => array("loggedin" => 1, "isadmin" => 0, "rights" => array("customers")),
"payallguests" => array("loggedin" => 1, "isadmin" => 0, "rights" => array("customers"))
);
public static $CANCEL = 0;
public static $PAY = 1;
private static $CUS_BILL_ID = array("Bon-ID","Bill ID","ID");
private static $CUS_OVERVIEW = array("Übersicht über alle unbezahlten Gästerechnungen","Overview of unpaid customer bills","Resumen de las facturas non-pagadas de huéspedes");
private static $CUS_CREATED = array("Erstellt","Created","Creado");
private static $CUS_DATE = array("Datum","Date","Fecha");
private static $CUS_BILL_SUM = array("Betrag","Sum","Suma");
private static $CUS_SUM = array("Summe","Sum","Suma");
private static $CUS_NO_BILLS = array("Keine offenen Rechnungen","No unpaid bills","No hay ninguna factura non-pagada");
private static function checkRights($command) {
if(session_id() == '') {
session_start();
@ -87,6 +97,24 @@ class Customers {
}
function handleCommand($command) {
if ($command == "reportbills") {
if(session_id() == '') {
session_start();
}
if (!isset($_SESSION['right_customers'])) {
echo "ERROR: no sufficient rights";
return;
}
if (!$_SESSION['right_customers']) {
echo "ERROR: no sufficient rights";
return;
}
$pdo = DbUtils::openDbAndReturnPdoStatic();
self::reportbills($pdo);
return;
}
if (!self::checkRights($command)) {
return false;
}
@ -99,7 +127,7 @@ class Customers {
} else if ($command == 'changeCustomer') {
echo json_encode($this->changeCustomer($pdo,$_POST["id"],$_POST['name'],$_POST['email'],$_POST['addr'],$_POST['remark'],$_POST['phone'],$_POST['mobil'],$_POST['www'],$_POST['hello'],$_POST['regards'],$_POST["groups"]));
} else if ($command == 'getCustomers') {
echo json_encode($this->getCustomers($pdo,$_POST['search'],$_POST['date'],$_POST['onlyopenbills']));
echo json_encode(self::getCustomers($pdo,$_POST['search'],$_POST['date'],$_POST['onlyopenbills']));
} else if ($command == 'createNewGroup') {
echo json_encode($this->createNewGroup($pdo,$_POST['name'],$_POST['remark']));
} else if ($command == 'getGroups') {
@ -117,7 +145,7 @@ class Customers {
} else if ($command == 'delVacation') {
echo json_encode($this->delVacation($pdo,$_POST['id']));
} else if ($command == 'getBills') {
echo json_encode($this->getBills($pdo,$_GET['cusid']));
echo json_encode(self::getAllBills($pdo,$_GET['cusid']));
} else if ($command == 'pay') {
echo json_encode($this->pay($pdo,$_POST['id'],$_POST['paymentid']));
} else if ($command == 'unpay') {
@ -134,6 +162,8 @@ class Customers {
echo json_encode($this->getPaymentsForGuest($pdo));
} else if ($command == 'exportLog') {
self::exportLog($pdo);
} else if ($command == 'payallguests') {
echo json_encode(self::payallguests($pdo,$_POST['paymentid']));
} else {
echo "Command not supported.";
}
@ -325,6 +355,28 @@ class Customers {
}
}
private static function payallguests($pdo,$paymentid) {
$paymentname = self::getPaymentName($pdo,$paymentid);
$pdo->beginTransaction();
$allGuestWithUnpaidBills = self::getCustomers($pdo, '', '', true);
foreach($allGuestWithUnpaidBills["msg"] as $g) {
$customerid = $g["id"];
$billsOfGuest = self::getUnpaidBills($pdo, $customerid)["msg"]["bills"];
foreach ($billsOfGuest as $b) {
$billid = $b["id"];
$ret = self::payOrUnpay($pdo, $billid, 1, false,$paymentname);
if ($ret["status"] != "OK") {
$pdo->rollBack();
return $ret;
}
}
}
$pdo->commit();
return array("status" => "OK");
}
private function pay($pdo,$id,$paymentid) {
$paymentname = self::getPaymentName($pdo,$paymentid);
return (self::payOrUnpay($pdo, $id, 1,true,$paymentname));
@ -464,7 +516,7 @@ class Customers {
return true;
}
}
private function getCustomers($pdo,$search,$date,$onlyOpenBills) {
private static function getCustomers($pdo,$search,$date,$onlyOpenBills) {
$s = '%' . $search . '%';
try {
$allcustomers = array();
@ -522,8 +574,19 @@ class Customers {
return array("status" => "OK","msg" => array("vacations" => $result,"cusid" => $cusid));
}
private function getBills($pdo,$cusid) {
$sql = "SELECT id,billdate,brutto,IFNULL(guestinfo,'') as guestinfo,IFNULL(intguestpaid,'0') as paid FROM %bill% WHERE intguestid=?";
private static function getAllBills($pdo,$cusid) {
return self::getBills($pdo,$cusid,true);
}
private static function getUnpaidBills($pdo,$cusid) {
return self::getBills($pdo,$cusid,false);
}
private static function getBills($pdo,$cusid,$includePaidBills) {
$where = "";
if (!$includePaidBills) {
$where = " AND (intguestpaid IS NULL OR intguestpaid='0') ";
}
$sql = "SELECT id,billdate,brutto,IFNULL(guestinfo,'') as guestinfo,IFNULL(intguestpaid,'0') as paid FROM %bill% WHERE intguestid=? $where";
$result = CommonUtils::fetchSqlAll($pdo, $sql, array($cusid));
return array("status" => "OK","msg" => array("bills" => $result,"cusid" => $cusid));
}
@ -697,4 +760,90 @@ class Customers {
$row = CommonUtils::getRowSqlObject($pdo, $sql, array($paymentid));
return $row->name;
}
private static function getUnpaidSumOfCustomer($pdo,$cusid,$decpoint) {
$sql = "SELECT sum(brutto) AS sumbrutto FROM %bill% WHERE intguestid=? AND (intguestpaid IS NULL OR intguestpaid='0')";
$result = CommonUtils::fetchSqlAll($pdo, $sql, array($cusid));
if (count($result) == 0) {
return "0.00";
} else {
return number_format($result[0]["sumbrutto"], 2, $decpoint, '');
}
}
private static function reportbills($pdo) {
$decpoint = CommonUtils::getConfigValue($pdo,"decpoint",",");
$currency = CommonUtils::getConfigValue($pdo,"currency","Euro");
$version = CommonUtils::getConfigValue($pdo,"version","");
if(session_id() == '') {
session_start();
}
$lang = $_SESSION['language'];
$allGuestWithUnpaidBills = self::getCustomers($pdo, '', '', true);
if ($allGuestWithUnpaidBills["status"] != "OK") {
echo "Error: " . $allGuestWithUnpaidBills["msg"];
return;
}
$txt = "<html>" . self::headerOfHtmlPage($lang) . "<body>";
$txt .= self::getGuestReportTitlePart($lang);
$txt .= "<p><table class='guestreport'>";
if (count($allGuestWithUnpaidBills["msg"]) === 0) {
$txt .= "<tr><td class='center'>" . self::$CUS_NO_BILLS[$lang] . "</tr>";
} else {
foreach($allGuestWithUnpaidBills["msg"] as $aGuest) {
$customerid = $aGuest["id"];
$customername = $aGuest["name"];
$billsOfGuest = self::getUnpaidBills($pdo, $customerid)["msg"]["bills"];
$billcount = count($billsOfGuest) + 2;
$txt .= "<tr>";
$txt .= "<td rowspan='$billcount' class='name'>$customername";
$txt .= "<td class='header'>" . self::$CUS_BILL_ID[$lang] . "<td class='header'>" . self::$CUS_DATE[$lang] . "<td class='header'>" . self::$CUS_BILL_SUM[$lang] . " ($currency)</tr>";
foreach($billsOfGuest as $aBill) {
$txt .= "<tr><td>" . $aBill["id"] . "<td>" . $aBill["billdate"];
$txt .= "<td>" . number_format( $aBill["brutto"], 2, $decpoint, '') . "</tr>";
}
$guestsum = self::getUnpaidSumOfCustomer($pdo, $customerid, $decpoint);
$txt .= "<tr><td colspan=2 class='sum sumheader'>" . self::$CUS_SUM[$lang] . "<td class='sum sumvalue'>$guestsum</tr>";
}
}
$txt .= "</table>";
$txt .= self::getFooter($version, $lang);
$txt .= "</body></html>";
echo $txt;
}
private static function headerOfHtmlPage($lang) {
$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.5.3">';
$txt .= "</head>";
return $txt;
}
private static function getGuestReportTitlePart($lang) {
date_default_timezone_set(DbUtils::getTimeZone());
$currentTime = date('Y-m-d H:i');
$txt = "<div class='title'>";
$txt .= "<h1>" . self::$CUS_OVERVIEW[$lang] . "</h1>";
$txt .= "<p>" . self::$CUS_CREATED[$lang] . ": " . $currentTime;
$txt .= "</div>";
return $txt;
}
private static function getFooter($version,$lang) {
$txt = "<div class='footer'>";
$txt .= "<p>OrderSprinter $version";
$txt .= "</div>";
return $txt;
}
}

View File

@ -5,6 +5,7 @@ require_once ('config.php');
class DbUtils {
private static $timezone = null;
private static $prefix = null;
private static $dbname = null;
public static function overruleTimeZone($timezone) {
self::$timezone = $timezone;
@ -12,6 +13,16 @@ class DbUtils {
public static function overrulePrefix($prefix) {
self::$prefix = $prefix;
}
public static function overruleDbName($dbname) {
self::$dbname = $dbname;
}
public static function getDbName() {
$db = MYSQL_DB;
if (!is_null(self::$dbname)) {
$db = self::$dbname;
}
return $db;
}
public static function openDbAndReturnPdoStatic () {
$dsn = 'mysql:host=' . MYSQL_HOST . ';dbname=' . MYSQL_DB;

View File

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

View File

@ -94,7 +94,9 @@ class Basedb {
return DbUtils::substTableAlias($sqlString);
}
public static function getAllColsOfATable($pdo,$dbname,$tablename,$excludeArr) {
public static function getAllColsOfATable($pdo,$tablename,$excludeArr) {
$dbname = DbUtils::getDbName();
$sql = "SELECT `COLUMN_NAME` as colname
FROM `INFORMATION_SCHEMA`.`COLUMNS`
WHERE `TABLE_SCHEMA`='$dbname'

View File

@ -685,4 +685,3 @@ class PdfExport extends FPDF {
}
}
?>

View File

@ -2,7 +2,7 @@
class Roles {
private static function createNewRoleEntry($pdo,$rolename) {
$cols = Basedb::getAllColsOfATable($pdo, MYSQL_DB, '%roles%',array('id','name'));
$cols = Basedb::getAllColsOfATable($pdo, '%roles%',array('id','name'));
$quests = array('?');
$vals = array($rolename);
$colnames = array('name');

View File

@ -933,6 +933,14 @@ class Version {
}
}
public static function upd_1502_1503($pdo, $prefix, $dbname) {
try {
self::insertOrUpdateConfigItem($pdo, 'showtogo', '1');
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"),
@ -982,7 +990,8 @@ class Version {
"1.4.17" => array("upd_1417_1418","1.4.18"),
"1.4.18" => array("upd_1418_1500","1.5.0"),
"1.5.0" => array("upd_1500_1501","1.5.1"),
"1.5.1" => array("upd_1501_1502","1.5.2")
"1.5.1" => array("upd_1501_1502","1.5.2"),
"1.5.2" => array("upd_1502_1503","1.5.3")
);
// RE;* also for install process no check is required

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.5.2">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.3">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

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.5.2">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.3">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

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.5.2">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.3">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

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.5.2">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.3">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

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.5.2">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.3">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

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.5.2">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.3">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

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.5.2">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.3">
<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.5.2"></script>
<script src="utilities.js?v=1.5.3"></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.5.2">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.3">
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long