OrderSprinter 1.6.1
This commit is contained in:
parent
be41226c0d
commit
14c0ebc7df
|
@ -9,8 +9,8 @@
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<meta name="author" content="Stefan Pichel">
|
<meta name="author" content="Stefan Pichel">
|
||||||
|
|
||||||
<link rel="stylesheet" href="css/gueststyle.css?v=1.5.33" />
|
<link rel="stylesheet" href="css/gueststyle.css?v=1.6.1" />
|
||||||
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css?v=1.5.33" />
|
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css?v=1.6.1" />
|
||||||
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
|
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
|
||||||
<link rel="stylesheet" href="php/3rdparty/jquery.mobile-1.4.0.min.css" type="text/css" />
|
<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-1.11.3.min.js"></script>
|
||||||
|
@ -97,10 +97,16 @@
|
||||||
<H2>Bestellvorgang</H2>
|
<H2>Bestellvorgang</H2>
|
||||||
<p>Sollen noch weitere Speisen oder Getränke bestellt werden?
|
<p>Sollen noch weitere Speisen oder Getränke bestellt werden?
|
||||||
|
|
||||||
<div class="ui-grid-a">
|
<div id="askformoreyesno" style="display:none;">
|
||||||
<div class="ui-block-a"><button type="submit" data-theme="d" data-icon="back" id="askformorenobtn">Nein</button></div>
|
<div class="ui-grid-a">
|
||||||
<div class="ui-block-b"><button type="submit" data-theme="f" data-icon="check" id="askformoreyesbtn">Ja</button></div>
|
<div class="ui-block-a"><button type="submit" data-theme="d" data-icon="back" id="askformorenobtn">Nein</button></div>
|
||||||
</div><!-- /grid-a -->
|
<div class="ui-block-b"><button type="submit" data-theme="f" data-icon="check" id="askformoreyesbtn">Ja</button></div>
|
||||||
|
</div><!-- /grid-a -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="askformoreonlyyes" style="display:none;">
|
||||||
|
<button type="submit" data-theme="f" data-icon="check" id="askformoreyesbtn2">Ja</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
<p><div id="orderslist"></div>
|
<p><div id="orderslist"></div>
|
||||||
|
|
||||||
|
@ -109,11 +115,10 @@
|
||||||
<div id="timecounter"></div>
|
<div id="timecounter"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div data-role="footer" data-theme="b" id="thefooter1">
|
<div data-role="footer" data-theme="b" id="thefooter1">
|
||||||
<div class="ui-grid-a">
|
<div class="ui-grid-a">
|
||||||
<div class="ui-block-a"> OrderSprinter</div>
|
<div class="ui-block-a"> OrderSprinter</div>
|
||||||
<div class="ui-block-b grid_right" id="versioninfo">1.5.33 </div>
|
<div class="ui-block-b grid_right" id="versioninfo">1.6.1 </div>
|
||||||
</div><!-- /grid-a -->
|
</div><!-- /grid-a -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -114,10 +114,10 @@ if (isset($_POST['code'])) {
|
||||||
} else {
|
} else {
|
||||||
echo "<html>";
|
echo "<html>";
|
||||||
echo "<head><title>Installation Gastsystem</title>";
|
echo "<head><title>Installation Gastsystem</title>";
|
||||||
echo '<link rel="stylesheet" type="text/css" href="css/gueststyle.css?v=1.5.33">';
|
echo '<link rel="stylesheet" type="text/css" href="css/gueststyle.css?v=1.6.1">';
|
||||||
echo "</head>";
|
echo "</head>";
|
||||||
echo "<body><div class=surround>";
|
echo "<body><div class=surround>";
|
||||||
echo "<span class=headerline>Installation OrderSprinter-Gastsystem 1.5.33</span><br><br>";
|
echo "<span class=headerline>Installation OrderSprinter-Gastsystem 1.6.1</span><br><br>";
|
||||||
echo "<form action='install.php' method='post'><input class=installfield name=code id=code type=text placeholder='Installationscode' />";
|
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 "<br><input type=submit value='Installation starten' class=installbtn />";
|
||||||
echo "</form></div></html>";
|
echo "</form></div></html>";
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -84,7 +84,10 @@ class Tables {
|
||||||
if (isset($_GET["command"])) {
|
if (isset($_GET["command"])) {
|
||||||
$command = $_GET["command"];
|
$command = $_GET["command"];
|
||||||
|
|
||||||
$pdo = DbUtils::openDbAndReturnPdoStatic();
|
$pdo = null;
|
||||||
|
if (DB == "mysql") {
|
||||||
|
$pdo = DbUtils::openDbAndReturnPdoStatic();
|
||||||
|
}
|
||||||
|
|
||||||
switch ($command) {
|
switch ($command) {
|
||||||
case "gettables":
|
case "gettables":
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -85,7 +85,7 @@ class Installer {
|
||||||
}
|
}
|
||||||
Database::dropTables($pdo);
|
Database::dropTables($pdo);
|
||||||
Database::createEmptyTables($pdo, $prefix);
|
Database::createEmptyTables($pdo, $prefix);
|
||||||
Database::setVersion($pdo,$prefix,"1.5.33");
|
Database::setVersion($pdo,$prefix,"1.6.1");
|
||||||
Database::setAccessPassword($pdo,$prefix,$adminpass);
|
Database::setAccessPassword($pdo,$prefix,$adminpass);
|
||||||
Database::setRefreshRate($pdo,$prefix,"5"); // default: 5 times per hour
|
Database::setRefreshRate($pdo,$prefix,"5"); // default: 5 times per hour
|
||||||
return array("status" => "OK","msg" => "Installation successful");
|
return array("status" => "OK","msg" => "Installation successful");
|
||||||
|
|
Binary file not shown.
|
@ -5,7 +5,7 @@
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<meta name="author" content="Stefan Pichel">
|
<meta name="author" content="Stefan Pichel">
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.33">
|
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.1">
|
||||||
|
|
||||||
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
|
<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/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" />
|
<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-2.0.3.min.js"></script>
|
||||||
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
|
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
|
||||||
<script src="utilities.js?v=1.5.33"></script>
|
<script src="utilities.js?v=1.6.1"></script>
|
||||||
<script src="kitchenbar.js?v=1.5.33"></script>
|
<script src="kitchenbar.js?v=1.6.1"></script>
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
#tableWithEntriesToCook,#tableWithCookedEntries,#headertableToCook
|
#tableWithEntriesToCook,#tableWithCookedEntries,#headertableToCook
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<meta name="author" content="Stefan Pichel">
|
<meta name="author" content="Stefan Pichel">
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.33">
|
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.1">
|
||||||
|
|
||||||
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
|
<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/orderstyle/jquery.mobile.icons.min.css" />
|
||||||
|
@ -21,7 +21,7 @@
|
||||||
<link rel="stylesheet" href="php/3rdparty/jqueryui1-11-4/jquery-ui.min.css" />
|
<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.min.js"></script>
|
||||||
<script src="php/3rdparty/jqueryui1-11-4/jquery-ui-i18n.min.js"></script>
|
<script src="php/3rdparty/jqueryui1-11-4/jquery-ui-i18n.min.js"></script>
|
||||||
<script src="utilities.js?v=1.5.33"></script>
|
<script src="utilities.js?v=1.6.1"></script>
|
||||||
<script src="receiptutils.js"></script>
|
<script src="receiptutils.js"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -7,7 +7,7 @@
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<meta name="author" content="Stefan Pichel">
|
<meta name="author" content="Stefan Pichel">
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.33">
|
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.1">
|
||||||
|
|
||||||
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
|
<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/orderstyle/jquery.mobile.icons.min.css" />
|
||||||
|
@ -23,7 +23,7 @@
|
||||||
<link rel="stylesheet" href="php/3rdparty/jqueryui1-11-4/jquery-ui.min.css" />
|
<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.min.js"></script>
|
||||||
<script src="php/3rdparty/jqueryui1-11-4/jquery-ui-i18n.min.js"></script>
|
<script src="php/3rdparty/jqueryui1-11-4/jquery-ui-i18n.min.js"></script>
|
||||||
<script src="utilities.js?v=1.5.33"></script>
|
<script src="utilities.js?v=1.6.1"></script>
|
||||||
<script src="elements/customers.js"></script>
|
<script src="elements/customers.js"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<meta name="author" content="Stefan Pichel">
|
<meta name="author" content="Stefan Pichel">
|
||||||
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.33">
|
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.1">
|
||||||
|
|
||||||
<link rel="stylesheet" href="css/ospage.css" />
|
<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-2.0.3.min.js"></script>
|
||||||
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
|
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
|
||||||
|
|
||||||
<script src="utilities.js?v=1.5.33"></script>
|
<script src="utilities.js?v=1.6.1"></script>
|
||||||
<script src="receiptutils.js"></script>
|
<script src="receiptutils.js"></script>
|
||||||
<script src="elements/dash.js"></script>
|
<script src="elements/dash.js"></script>
|
||||||
<script src="php/3rdparty/Chart.bundle.min.js"></script>
|
<script src="php/3rdparty/Chart.bundle.min.js"></script>
|
||||||
|
|
|
@ -71,6 +71,15 @@ function Groundplan() {
|
||||||
return txt;
|
return txt;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this.renderCreateTableCodes = function() {
|
||||||
|
var txt = '<div data-role="collapsible" data-content-theme="c" data-collapsed="true" data-theme="e">';
|
||||||
|
txt += "<h3>" + MAN_GUESTSECTION[lang] + "</h3>";
|
||||||
|
txt += '<p><button type="submit" data-theme="f" id="createtablecodesbtn"><span id=createtablecodesbtntxt>' + MAN_CREATETABLECODES[lang] + '</span></button>';
|
||||||
|
txt += '<button type="submit" data-theme="f" id="createtableqrcodesbtn"><span id=createtableqrcodesbtntxt>' + MAN_CREATETABLEQR[lang] + '</span></button>';
|
||||||
|
txt += "</div>";
|
||||||
|
return txt;
|
||||||
|
};
|
||||||
|
|
||||||
this.bindRoomChanges = function() {
|
this.bindRoomChanges = function() {
|
||||||
var instance = this;
|
var instance = this;
|
||||||
for (var i=0;i<this.rooms.length;i++) {
|
for (var i=0;i<this.rooms.length;i++) {
|
||||||
|
@ -144,6 +153,19 @@ function Groundplan() {
|
||||||
instance.createNewRoom.call(instance);
|
instance.createNewRoom.call(instance);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#createtablecodesbtn").off("click").on("click", function (e) {
|
||||||
|
e.stopImmediatePropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
hideTableMap();
|
||||||
|
instance.createTableCodes.call(instance);
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#createtableqrcodesbtn").off("click").on("click", function (e) {
|
||||||
|
e.stopImmediatePropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
window.open("php/contenthandler.php?module=roomtables&command=tableqrcodes&v=1.6.1",'_blank');
|
||||||
|
});
|
||||||
|
|
||||||
this.bindRoomChanges();
|
this.bindRoomChanges();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -173,6 +195,7 @@ function Groundplan() {
|
||||||
};
|
};
|
||||||
txt += this.getTogoEntry();
|
txt += this.getTogoEntry();
|
||||||
txt += this.renderCancelApplyBtn();
|
txt += this.renderCancelApplyBtn();
|
||||||
|
txt += this.renderCreateTableCodes();
|
||||||
txt += "</form>";
|
txt += "</form>";
|
||||||
|
|
||||||
$("#roomfield").html(txt);
|
$("#roomfield").html(txt);
|
||||||
|
@ -290,6 +313,20 @@ function Groundplan() {
|
||||||
this.rooms[this.rooms.length] = new Room(roomSpec);
|
this.rooms[this.rooms.length] = new Room(roomSpec);
|
||||||
this.repaintGround();
|
this.repaintGround();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this.createTableCodes = function() {
|
||||||
|
var instance = this;
|
||||||
|
doAjax("POST","php/contenthandler.php?module=roomtables&command=createTableCodes",null,instance.serverAnswerFromTablesChange.bind(instance),null,true);
|
||||||
|
};
|
||||||
|
|
||||||
|
this.serverAnswerFromTablesChange = function(answer) {
|
||||||
|
if (answer.status != "OK") {
|
||||||
|
alert("Fehler: " + answer.msg);
|
||||||
|
} else {
|
||||||
|
alert("Aktion durchgeführt");
|
||||||
|
this.init();
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
function Room(jsonRoom) {
|
function Room(jsonRoom) {
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
function ReservationsTable(){this.dayStartHour=5;this.dayEndHour=20;this.compare=function(d,c){var a=d.starthour*4+d.startmin/15;var e=c.starthour*4+c.startmin/15;var b=a-e;if(b<0){return -1}else{if(b>0){return 1}else{return 0}}};this.generateTableHeader=function(){var a="<tr><td> ";for(var b=this.dayStartHour;b<this.dayEndHour;b++){a+="<th style='text-align:left;' class='hour'>"+b+"<th class='minute'>15<th class='minute'>30<th class='minute'>45"}a+="</tr>";return a};this.getSlotsCount=function(a){return this.getSlotsInPeriodByHour(a.starthour,a.startmin,a.endhour,a.endmin)};this.getSlotsInPeriod=function(a,c,b){return this.getSlotsInPeriodByHour(a,c,b.starthour,b.startmin)};this.getSlotsInPeriodByHour=function(c,d,b,a){if(c<this.dayStartHour){c=this.dayStartHour;d=0}if(b>this.dayEndHour){b=this.dayEndHour;a=0}var e=(b*4+a/15)-(c*4+d/15);return e};this.getRealEndHour=function(a){var b=this.getSlotsInPeriodByHour(a.starthour,a.startmin,a.endhour,a.endmin);if(b>=0){return a.endhour}else{return 24+a.endhour}};this.genCell=function(d,c,f,e){var a="";var b="";if(e!=null){a=" id='resitem_"+e+"' ";b=" resitem "}if(c>0){return"<td colspan='"+c+"' class='"+f+b+"' "+a+">"+d+"</td>"}else{return""}};this.cellContent=function(e){var d=this.reservationitem.split("\n");var a=[];for(var c=0;c<d.length;c++){var b=d[c];b=b.replace(/\{Name\}/g,toHtml(e.guest));b=b.replace(/\{Start-Stunde\}/g,e.starthour);b=b.replace(/\{Start-Minute\}/g,pad(parseInt(e.startmin),2));b=b.replace(/\{Ende-Stunde\}/g,parseInt(e.endhour)%24);b=b.replace(/\{Ende-Minute\}/g,pad(parseInt(e.endmin),2));b=b.replace(/\{Dauer-Stunden\}/g,parseInt(e.durationhours));b=b.replace(/\{Dauer-Minuten\}/g,pad(parseInt(e.durationmins),2));b=b.replace(/\{Personen\}/g,parseInt(e.persons));b=b.replace(/\{Bemerkung\}/g,toHtml(e.remark));a[a.length]=b}return a.join("<br>")};this.distributeTable=function(e){var n=e.sort(this.compare);var o=[];var k=[];var a=true;while(a){a=false;var p=0;var c=0;var f=0;var h="";for(var g=0;g<n.length;g++){var j=n[g];if(k.indexOf(j.id)<0){var m=j.starthour*4+j.startmin/15;var q=c*4+f/15;if(m>=q){var d=this.getSlotsInPeriod(c,f,j);if(this.dayStartHour>j.starthour){d=0}var l=this.getSlotsCount(j);var b=this.genCell("",d,"fillcell",null);if(j.starthour<this.dayEndHour){b+=this.genCell(this.cellContent(j),l,"rescell",j.id)}h+=b;c=j.endhour;f=j.endmin;p+=d+l;k[k.length]=j.id;a=true}}}if(a){var d=this.getSlotsInPeriodByHour(c,f,this.dayEndHour,0);if(c<this.dayEndHour){h+=this.genCell("",d,"fillcell",null)}o[o.length]=h}}return o};this.distribute=function(f){var c=f.tablename;var g=f.reservations;var b=this.distributeTable(g);var e=b.length;if(e>0){var a="<tr><td rowspan='"+e+"' class='rowitem'>"+c;var d=true;b.forEach(function(h){if(!d){a+="<tr>"}else{d=false}a+=h+"</tr>"});return a}else{return""}};this.layoutTable=function(d,c,b,f){this.dayStartHour=parseInt(d);this.dayEndHour=parseInt(c);this.reservationitem=f;var a="<table class='timeschedule'>";a+=this.generateTableHeader();for(var e=0;e<b.length;e++){var h=b[e];a+=this.distribute(h);var g=1+(c-d)*4;a+="<tr><td colspan='"+g+"' class='divider'></td></tr>"}a+="</table>";return a}};
|
|
@ -4,7 +4,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.33">
|
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.1">
|
||||||
|
|
||||||
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
|
<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/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" />
|
<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-2.0.3.min.js"></script>
|
||||||
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
|
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
|
||||||
<script src="utilities.js?v=1.5.33"></script>
|
<script src="utilities.js?v=1.6.1"></script>
|
||||||
<script src="kitchenbar.js"></script>
|
<script src="kitchenbar.js"></script>
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,8 @@
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<meta name="author" content="Stefan Pichel">
|
<meta name="author" content="Stefan Pichel">
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.33">
|
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.1">
|
||||||
<link rel="stylesheet" type="text/css" href="css/numfield.css?v=1.5.33">
|
<link rel="stylesheet" type="text/css" href="css/numfield.css?v=1.6.1">
|
||||||
|
|
||||||
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css" />
|
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css" />
|
||||||
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
|
<link rel="stylesheet" href="php/3rdparty/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" />
|
<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-2.0.3.min.js"></script>
|
||||||
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
|
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
|
||||||
<script src="utilities.js?v=1.5.33"></script>
|
<script src="utilities.js?v=1.6.1"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
|
|
@ -9,8 +9,8 @@
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<meta name="author" content="Stefan Pichel">
|
<meta name="author" content="Stefan Pichel">
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.33">
|
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.1">
|
||||||
<link rel="stylesheet" type="text/css" href="css/numfield.css?v=1.5.33">
|
<link rel="stylesheet" type="text/css" href="css/numfield.css?v=1.6.1">
|
||||||
|
|
||||||
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css" />
|
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css" />
|
||||||
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />
|
<link rel="stylesheet" href="php/3rdparty/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" />
|
<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-2.0.3.min.js"></script>
|
||||||
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
|
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
|
||||||
<script src="utilities.js?v=1.5.33"></script>
|
<script src="utilities.js?v=1.6.1"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
@ -231,7 +231,7 @@ function handleResultOfInstallCheck(is_installed) {
|
||||||
if (is_installed == "Yes") {
|
if (is_installed == "Yes") {
|
||||||
useInstallation();
|
useInstallation();
|
||||||
} else {
|
} else {
|
||||||
setTimeout(function(){document.location.href = "install.html?v=1.5.33"},500);
|
setTimeout(function(){document.location.href = "install.html?v=1.6.1"},500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -285,11 +285,11 @@ $(document).on("pageinit", "#index-page", function () {
|
||||||
|
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
|
|
||||||
<p><div id="toplogolocation" style="text-align: center;display:none;"><img src="php/contenthandler.php?module=printqueue&command=getLogoAsPngWithAlphaChannel&v=1.5.33&style=always" style="max-height:150px;"/></div>
|
<p><div id="toplogolocation" style="text-align: center;display:none;"><img src="php/contenthandler.php?module=printqueue&command=getLogoAsPngWithAlphaChannel&v=1.6.1&style=always" style="max-height:150px;"/></div>
|
||||||
<div data-role="collapsible" data-content-theme="c" data-collapsed="false" data-theme="e" id="loginmask">
|
<div data-role="collapsible" data-content-theme="c" data-collapsed="false" data-theme="e" id="loginmask">
|
||||||
<H2>Anmelden</H2>
|
<H2>Anmelden</H2>
|
||||||
|
|
||||||
<p><div id="middlelogolocation" style="text-align: left;padding-left: 80px;padding-right:80px;display:none;"><img src="php/contenthandler.php?module=printqueue&command=getLogoAsPngWithAlphaChannel&v=1.5.33&style=always" style="max-height:150px;"/></div>
|
<p><div id="middlelogolocation" style="text-align: left;padding-left: 80px;padding-right:80px;display:none;"><img src="php/contenthandler.php?module=printqueue&command=getLogoAsPngWithAlphaChannel&v=1.6.1&style=always" style="max-height:150px;"/></div>
|
||||||
|
|
||||||
<form method="post">
|
<form method="post">
|
||||||
<table border=0>
|
<table border=0>
|
||||||
|
|
|
@ -916,7 +916,7 @@ El servicio web OrderSprinter no requiere una conexión a Internet. Sin embargo,
|
||||||
<tr id=updateline>
|
<tr id=updateline>
|
||||||
<td> </td>
|
<td> </td>
|
||||||
<td align=center>
|
<td align=center>
|
||||||
<button id="updatebtn">Update -> 1.5.33</button>
|
<button id="updatebtn">Update -> 1.6.1</button>
|
||||||
<span id="updateinprogresstxt" style="display:none;"><img id="installprogressindicator" src="php/3rdparty/images/ajax-loader.gif" alt="Progress indication" style="display:none;"/> Update... bitte warten.</span>
|
<span id="updateinprogresstxt" style="display:none;"><img id="installprogressindicator" src="php/3rdparty/images/ajax-loader.gif" alt="Progress indication" style="display:none;"/> Update... bitte warten.</span>
|
||||||
</td>
|
</td>
|
||||||
<td> </td>
|
<td> </td>
|
||||||
|
|
|
@ -455,7 +455,7 @@ return;
|
||||||
}
|
}
|
||||||
|
|
||||||
set_time_limit(60*30);
|
set_time_limit(60*30);
|
||||||
$installerVersion = "1.5.33";
|
$installerVersion = "1.6.1";
|
||||||
|
|
||||||
$admin = new InstallAdmin();
|
$admin = new InstallAdmin();
|
||||||
$pdo = $admin->openDbAndReturnPdo($_POST['host'],$_POST['db'],$_POST['user'],$_POST['password']);
|
$pdo = $admin->openDbAndReturnPdo($_POST['host'],$_POST['db'],$_POST['user'],$_POST['password']);
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<meta name="author" content="Stefan Pichel">
|
<meta name="author" content="Stefan Pichel">
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.33">
|
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.1">
|
||||||
|
|
||||||
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
|
<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/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" />
|
<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-2.0.3.min.js"></script>
|
||||||
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
|
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
|
||||||
<script src="utilities.js?v=1.5.33"></script>
|
<script src="utilities.js?v=1.6.1"></script>
|
||||||
<script src="kitchenbar.js?v=1.5.33"></script>
|
<script src="kitchenbar.js?v=1.6.1"></script>
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
#tableWithEntriesToCook,#tableWithCookedEntries,#headertableToCook
|
#tableWithEntriesToCook,#tableWithCookedEntries,#headertableToCook
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<meta name="author" content="Stefan Pichel">
|
<meta name="author" content="Stefan Pichel">
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.33">
|
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.1">
|
||||||
|
|
||||||
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
|
<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/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" />
|
<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-1.11.3.min.js"></script>
|
||||||
<script src="php/3rdparty/jquery.mobile-1.4.5.min.js"></script>
|
<script src="php/3rdparty/jquery.mobile-1.4.5.min.js"></script>
|
||||||
<script src="utilities.js?v=1.5.33"></script>
|
<script src="utilities.js?v=1.6.1"></script>
|
||||||
<script src="elements/tablemap.js?v=1.5.33"></script>
|
<script src="elements/tablemap.js?v=1.6.1"></script>
|
||||||
<script src="elements/roommap.js?v=1.5.33"></script>
|
<script src="elements/roommap.js?v=1.6.1"></script>
|
||||||
<script src="elements/groundplan.js?v=1.5.33"></script>
|
<script src="elements/groundplan.js?v=1.6.1"></script>
|
||||||
|
|
||||||
<link href="php/3rdparty/hayageek_uploadfile.css" rel="stylesheet">
|
<link href="php/3rdparty/hayageek_uploadfile.css" rel="stylesheet">
|
||||||
<script src="php/3rdparty/hayageek_jquery_uploadfile.js"></script>
|
<script src="php/3rdparty/hayageek_jquery_uploadfile.js"></script>
|
||||||
|
@ -69,6 +69,8 @@ var MAN_STAT = ["Statistik","Statistics","Estadisticas"];
|
||||||
var MAN_BILLS = ["Kassenbons","Receipts","Tiques"];
|
var MAN_BILLS = ["Kassenbons","Receipts","Tiques"];
|
||||||
var MAN_PRODUCTS = ["Angebot","Products","Productos"];
|
var MAN_PRODUCTS = ["Angebot","Products","Productos"];
|
||||||
var MAN_RESERVATION = ["Reservierung","Reservation","Reserva"];
|
var MAN_RESERVATION = ["Reservierung","Reservation","Reserva"];
|
||||||
|
var MAN_RES_ITEM = ["Reservierungseintrag","Entry of reservation","Reservación"];
|
||||||
|
var MAN_RES_ITEM_HINT = ["Es stehen diese Platzhalter zur Verfügung: {Start-Stunde}, {Start-Minute}, {Ende-Stunde}, {Ende-Minute}, {Personen}, {Bemerkung}, {Dauer-Stunden}, {Dauer-Minuten}","This placeholder are available: {Start-Stunde}, {Start-Minute}, {Ende-Stunde}, {Ende-Minute}, {Personen}, {Bemerkung}, {Dauer-Stunden}, {Dauer-Minuten}","Puede usar estas variables: {Start-Stunde}, {Start-Minute}, {Ende-Stunde}, {Ende-Minute}, {Personen}, {Bemerkung}, {Dauer-Stunden}, {Dauer-Minuten}"];
|
||||||
var MAN_RATING = ["Bewertung","Rating","Valoración"];
|
var MAN_RATING = ["Bewertung","Rating","Valoración"];
|
||||||
var MAN_CHANGEPRICE = ["Preisänderung während Bestellung","Change price during ordering","Modificar precio durante ordenar"];
|
var MAN_CHANGEPRICE = ["Preisänderung während Bestellung","Change price during ordering","Modificar precio durante ordenar"];
|
||||||
var MAN_CUSTOMERS = ["Gäste","Guests","Clientes"];
|
var MAN_CUSTOMERS = ["Gäste","Guests","Clientes"];
|
||||||
|
@ -90,7 +92,7 @@ var MAN_CREATE_WITH_REC = ["... mit Bon","... with receipt","... con tiquet"];
|
||||||
var MAN_CREATE_WITHOUT_REC = ["... ohne Bon","... without receipt","... sin tiquet"];
|
var MAN_CREATE_WITHOUT_REC = ["... ohne Bon","... without receipt","... sin tiquet"];
|
||||||
|
|
||||||
var MAN_SPEISEKARTE = ["Speisekarte","Menu","Menú"];
|
var MAN_SPEISEKARTE = ["Speisekarte","Menu","Menú"];
|
||||||
var MAN_ROOMPLAN = ["Raumplan","Plan of rooms","Mapa de espacio"];
|
var MAN_ROOMPLAN = ["Raumplan","Tables","Mapa de las mesas"];
|
||||||
var MAN_DATAEXPORT = ["Datenexport","Data export","Grabar datos"];
|
var MAN_DATAEXPORT = ["Datenexport","Data export","Grabar datos"];
|
||||||
var MAN_CLOSINGDET_TXT = ["Hier können Sie die seit dem letzten <i>Abschluss</i> getätigten neuen Transaktionen zu einem neuen Abschluss führen. Anschließend sind alle bis zu diesem Zeitpunkt erstellten Transaktionen/Kassenbons nicht mehr stornierbar!",
|
var MAN_CLOSINGDET_TXT = ["Hier können Sie die seit dem letzten <i>Abschluss</i> getätigten neuen Transaktionen zu einem neuen Abschluss führen. Anschließend sind alle bis zu diesem Zeitpunkt erstellten Transaktionen/Kassenbons nicht mehr stornierbar!",
|
||||||
"Here you can create a closing of all new transactions since the last closing. All transactions that are part of a closing cannot be cancelled later on.",
|
"Here you can create a closing of all new transactions since the last closing. All transactions that are part of a closing cannot be cancelled later on.",
|
||||||
|
@ -510,6 +512,14 @@ var MAN_LAST_CLOSING = ["Letzte Tageserfassung","Last closing","Cerrada última"
|
||||||
var MAN_PDF_REPORT_HINT = ["Erste und letzte Tageserfassung des Reports nach Eingrenzung des Datumsbereich (oben) auswählen:","Choose first and last closing after limit the time frame (above):","Seleccione la cerrada primera y última después de delimitar el intervalo de fechas (arriba):"];
|
var MAN_PDF_REPORT_HINT = ["Erste und letzte Tageserfassung des Reports nach Eingrenzung des Datumsbereich (oben) auswählen:","Choose first and last closing after limit the time frame (above):","Seleccione la cerrada primera y última después de delimitar el intervalo de fechas (arriba):"];
|
||||||
var MAN_PRINT_EXTRAPRICE = ["Preisangabe bei Extras auf Bon","Show price next to extra on receipt","Precio al lado del extra"];
|
var MAN_PRINT_EXTRAPRICE = ["Preisangabe bei Extras auf Bon","Show price next to extra on receipt","Precio al lado del extra"];
|
||||||
var MAN_TURBO_HINT = ["Mit dem Turbo-Slider lässt sich die Import-Geschwindigkeit beeinflussen. Je höher der Turbo-Wert eingestellt ist, desto größer muss die max_allowed_packet in der DB-Konfiguration sein.","With the Turbo-Slider you can influence the import speed. The higher the turbo value is set, the larger the max_allowed_packet must be in the DB configuration.","Con el Turbo-Slider puede influir en la velocidad de importación. Cuanto mayor sea el valor del turbo, mayor tengo que ser el tamaño del max_allowed_packet en la configuración de la base de datos."];
|
var MAN_TURBO_HINT = ["Mit dem Turbo-Slider lässt sich die Import-Geschwindigkeit beeinflussen. Je höher der Turbo-Wert eingestellt ist, desto größer muss die max_allowed_packet in der DB-Konfiguration sein.","With the Turbo-Slider you can influence the import speed. The higher the turbo value is set, the larger the max_allowed_packet must be in the DB configuration.","Con el Turbo-Slider puede influir en la velocidad de importación. Cuanto mayor sea el valor del turbo, mayor tengo que ser el tamaño del max_allowed_packet en la configuración de la base de datos."];
|
||||||
|
var MAN_GUESTSECTION = ["Anbindung Gastbestellsystem","Integration guest order system","Integración ordenes por huéspedes"];
|
||||||
|
var MAN_CREATETABLECODES = ["Tischcodes automatisch erstellen","Generate table codes","Crear codigos de las mesas"];
|
||||||
|
var MAN_CREATETABLEQR = ["Zeige Tisch-QR-Codes","Show table QR Codes","Mostrat QR Codigos para las mesas"];
|
||||||
|
var MAN_GUEST_QR_HEADER = ["Tisch-QR-Codes","Table QR Codes","Codigos QR para las mesas"];
|
||||||
|
var MAN_GUEST_QRTEXT = ["Beschriftung","Text next to QR code","Texto al lado del codigo QR"];
|
||||||
|
var MAN_GUEST_QRFONTSIZE = ["Beschriftung Fontgröße","Font size","Tamaño del QR texto"];
|
||||||
|
var MAN_GUEST_QRSIZE = ["Größe (Pixels)","Size in pixels","Tamaño del codigo"];
|
||||||
|
var MAN_GUEST_QR_INFO = ["Die QR-Codes können im Bereich Datenbank/Raumplan/Anbindung Gastbestellsystem ausgedruckt werden.","The QR codes can be printed in the area Database/Tables/Integration Guest Order System","Los codigos QR se puede imprimir en la area de Base de datos/Mapa de las mesas/Integration ordenes por huespedes."];
|
||||||
|
|
||||||
var lang = 0;
|
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,1,1, 0,1,0,1,1, 1,2,0, 0,0,1,1,1, 0,0,1];
|
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,1, 0,1,0,1,1, 1,2,0, 0,0,1,1,1, 0,0,1];
|
||||||
|
@ -669,7 +679,11 @@ var generalValuesSettings = [
|
||||||
|
|
||||||
["austriabind",MAN_AUSTRIA_BIND[lang],"s",68],
|
["austriabind",MAN_AUSTRIA_BIND[lang],"s",68],
|
||||||
["doublereceipt",MAN_DOUBLERECEIPT[lang],"s",69],
|
["doublereceipt",MAN_DOUBLERECEIPT[lang],"s",69],
|
||||||
["printextraprice",MAN_PRINT_EXTRAPRICE[lang],"s",70]
|
["printextraprice",MAN_PRINT_EXTRAPRICE[lang],"s",70],
|
||||||
|
["guestqrtext",MAN_GUEST_QRTEXT[lang],"i",0],
|
||||||
|
["guestqrfontsize",MAN_GUEST_QRFONTSIZE[lang],"i",0],
|
||||||
|
["guestqrsize",MAN_GUEST_QRSIZE[lang],"i",0],
|
||||||
|
["reservationitem",MAN_RES_ITEM[lang],"i",0]
|
||||||
];
|
];
|
||||||
|
|
||||||
var predef = "";
|
var predef = "";
|
||||||
|
@ -879,6 +893,10 @@ function setLanguage(l) {
|
||||||
|
|
||||||
$("#firstclostxt").html(MAN_VERYFIRST_CLOSING[l]);
|
$("#firstclostxt").html(MAN_VERYFIRST_CLOSING[l]);
|
||||||
$("#lastclostxt").html(MAN_VERYLAST_CLOSING[l]);
|
$("#lastclostxt").html(MAN_VERYLAST_CLOSING[l]);
|
||||||
|
$("#guestqrheadertxt").html(MAN_GUEST_QR_HEADER[l]);
|
||||||
|
$("#guestqrinfotxt").html(MAN_GUEST_QR_INFO[l]);
|
||||||
|
|
||||||
|
$("#reservationitemhint").html(MAN_RES_ITEM_HINT[l]);
|
||||||
}
|
}
|
||||||
|
|
||||||
function toggleinlinedisplayelem(iconid) {
|
function toggleinlinedisplayelem(iconid) {
|
||||||
|
@ -1006,6 +1024,7 @@ function insertGeneralConfigItems(configResult) {
|
||||||
$("#pickuptemplate").val(values.pickuptemplate);
|
$("#pickuptemplate").val(values.pickuptemplate);
|
||||||
|
|
||||||
$("#reservationnote").val(values.reservationnote);
|
$("#reservationnote").val(values.reservationnote);
|
||||||
|
$("#reservationitem").val(values.reservationitem);
|
||||||
$("#cbirdfolder").val(values.cbirdfolder);
|
$("#cbirdfolder").val(values.cbirdfolder);
|
||||||
|
|
||||||
var payPrintType = values.payprinttype;
|
var payPrintType = values.payprinttype;
|
||||||
|
@ -1121,6 +1140,9 @@ function insertGeneralConfigItems(configResult) {
|
||||||
$("#hsinfile").val(values.hsinfile);
|
$("#hsinfile").val(values.hsinfile);
|
||||||
$("#hsoutfile").val(values.hsoutfile);
|
$("#hsoutfile").val(values.hsoutfile);
|
||||||
$("#hscurrency").val(values.hscurrency);
|
$("#hscurrency").val(values.hscurrency);
|
||||||
|
$("#guestqrtext").val(values.guestqrtext);
|
||||||
|
$("#guestqrsize").val(values.guestqrsize);
|
||||||
|
$("#guestqrfontsize").val(values.guestqrfontsize);
|
||||||
|
|
||||||
generalVals[5] = values.smtpauth;
|
generalVals[5] = values.smtpauth;
|
||||||
generalVals[6] = values.smtpsecure;
|
generalVals[6] = values.smtpsecure;
|
||||||
|
@ -1688,7 +1710,7 @@ function initRestoreFileUpload() {
|
||||||
} else {
|
} else {
|
||||||
alert("Import war erfolgreich.");
|
alert("Import war erfolgreich.");
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
document.location.href = "index.html?v=1.5.33";
|
document.location.href = "index.html?v=1.6.1";
|
||||||
},250);
|
},250);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -2172,38 +2194,38 @@ function binding() {
|
||||||
$("#backup_btn").off("click").on("click", function (e) {
|
$("#backup_btn").off("click").on("click", function (e) {
|
||||||
e.stopImmediatePropagation();
|
e.stopImmediatePropagation();
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
window.location.href = "php/contenthandler.php?module=admin&command=backup&type=configuration&v=1.5.33";
|
window.location.href = "php/contenthandler.php?module=admin&command=backup&type=configuration&v=1.6.1";
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#backup_btnall").off("click").on("click", function (e) {
|
$("#backup_btnall").off("click").on("click", function (e) {
|
||||||
e.stopImmediatePropagation();
|
e.stopImmediatePropagation();
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
window.location.href = "php/contenthandler.php?module=admin&command=backup&type=all&v=1.5.33";
|
window.location.href = "php/contenthandler.php?module=admin&command=backup&type=all&v=1.6.1";
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#backup_btnalllogs").off("click").on("click", function (e) {
|
$("#backup_btnalllogs").off("click").on("click", function (e) {
|
||||||
e.stopImmediatePropagation();
|
e.stopImmediatePropagation();
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
window.location.href = "php/contenthandler.php?module=admin&command=backup&type=alllogs&v=1.5.33";
|
window.location.href = "php/contenthandler.php?module=admin&command=backup&type=alllogs&v=1.6.1";
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#backup_btnftpall").off("click").on("click", function (e) {
|
$("#backup_btnftpall").off("click").on("click", function (e) {
|
||||||
e.stopImmediatePropagation();
|
e.stopImmediatePropagation();
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
showProgressPopup();
|
showProgressPopup();
|
||||||
doAjax("GET","php/contenthandler.php?module=admin&command=ftpbackup&type=all&v=1.5.33",null,handleFtpResult,null);
|
doAjax("GET","php/contenthandler.php?module=admin&command=ftpbackup&type=all&v=1.6.1",null,handleFtpResult,null);
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#backup_debugdata").off("click").on("click", function (e) {
|
$("#backup_debugdata").off("click").on("click", function (e) {
|
||||||
e.stopImmediatePropagation();
|
e.stopImmediatePropagation();
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
window.open("php/contenthandler.php?module=admin&command=backup&type=debugdata&v=1.5.33",'_blank');
|
window.open("php/contenthandler.php?module=admin&command=backup&type=debugdata&v=1.6.1",'_blank');
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#backupguests_btn").off("click").on("click", function (e) {
|
$("#backupguests_btn").off("click").on("click", function (e) {
|
||||||
e.stopImmediatePropagation();
|
e.stopImmediatePropagation();
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
window.location.href = "php/contenthandler.php?module=admin&command=backup&type=confandguests&v=1.5.33";
|
window.location.href = "php/contenthandler.php?module=admin&command=backup&type=confandguests&v=1.6.1";
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#golive").off("click").on("click", function (e) {
|
$("#golive").off("click").on("click", function (e) {
|
||||||
|
@ -2384,7 +2406,7 @@ function updateOneSingleFile() {
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
$("#sliderarea").hide();
|
$("#sliderarea").hide();
|
||||||
var millis=getMillis();
|
var millis=getMillis();
|
||||||
document.location.href = "install.html?v=1.5.33&mode=onlyupdate&n=" + millis;
|
document.location.href = "install.html?v=1.6.1&mode=onlyupdate&n=" + millis;
|
||||||
},250);
|
},250);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4200,6 +4222,11 @@ $(document).on("pageinit", "#admin-page", function () {
|
||||||
<label for="reservationnote">Reservierungstemplate Email:</label>
|
<label for="reservationnote">Reservierungstemplate Email:</label>
|
||||||
<textarea cols="40" rows="8" name="reservationnote" id="reservationnote" class="genConfigEl" style="background-color:#FFFFFF;color:black;"></textarea>
|
<textarea cols="40" rows="8" name="reservationnote" id="reservationnote" class="genConfigEl" style="background-color:#FFFFFF;color:black;"></textarea>
|
||||||
</div>
|
</div>
|
||||||
|
<div data-role="fieldcontain">
|
||||||
|
<label for="reservationitem">Reservierungstemplate Eintrag:</label>
|
||||||
|
<textarea cols="40" rows="8" name="reservationitem" id="reservationitem" class="genConfigEl" style="background-color:#FFFFFF;color:black;"></textarea>
|
||||||
|
<i id=reservationitemhint style="padding-left: 50px;padding-right: 50px;">Hinweis zu Platzhalter</i>
|
||||||
|
</div>
|
||||||
</div> <!-- conftemplatessection -->
|
</div> <!-- conftemplatessection -->
|
||||||
|
|
||||||
<p><a class="genconflink" href="" onclick="javascript:showconfsection('confsumupsection'); return false">
|
<p><a class="genconflink" href="" onclick="javascript:showconfsection('confsumupsection'); return false">
|
||||||
|
@ -4338,6 +4365,24 @@ $(document).on("pageinit", "#admin-page", function () {
|
||||||
<input type="text" value="" data-mini="true" placeholder="5" id="guesttimeout" data-theme="c" class="genConfigEl"/><br>
|
<input type="text" value="" data-mini="true" placeholder="5" id="guesttimeout" data-theme="c" class="genConfigEl"/><br>
|
||||||
<i id=guesttimeouthint style="padding-left: 50px;padding-right: 50px;">Hinweis: 0 = kein Timeout</i>
|
<i id=guesttimeouthint style="padding-left: 50px;padding-right: 50px;">Hinweis: 0 = kein Timeout</i>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<p><b><span id="guestqrheadertxt">QR</span>:</b><br><p />
|
||||||
|
<div data-role="fieldcontain">
|
||||||
|
<label for="guestqrtext">Beschriftung:</label>
|
||||||
|
<input type="text" value="" data-mini="true" placeholder="Gastbestellung" id="guestqrtext" data-theme="c" class="genConfigEl"/>
|
||||||
|
</div>
|
||||||
|
<div data-role="fieldcontain">
|
||||||
|
<label for="guestqrsize">Größe (Pixel):</label>
|
||||||
|
<input type="text" value="" data-mini="true" placeholder="Gastbestellung" id="guestqrsize" data-theme="c" class="genConfigEl"/>
|
||||||
|
</div>
|
||||||
|
<div data-role="fieldcontain">
|
||||||
|
<label for="guestqrfontsize">Beschriftung Fontgröße:</label>
|
||||||
|
<input type="text" value="" data-mini="true" placeholder="Gastbestellung" id="guestqrfontsize" data-theme="c" class="genConfigEl"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<i style="padding-left: 50px;padding-right: 50px;"><span id="guestqrinfotxt">Druck in Datenbank/Raumplan/Anbindunbg Gastbestellsystem</span></i>
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- confguestsyssection -->
|
</div> <!-- confguestsyssection -->
|
||||||
|
|
||||||
<p><a class="genconflink" href="" onclick="javascript:showconfsection('confspecialssection'); return false">
|
<p><a class="genconflink" href="" onclick="javascript:showconfsection('confspecialssection'); return false">
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,165 @@
|
||||||
|
GNU LESSER GENERAL PUBLIC LICENSE
|
||||||
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
|
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
|
||||||
|
This version of the GNU Lesser General Public License incorporates
|
||||||
|
the terms and conditions of version 3 of the GNU General Public
|
||||||
|
License, supplemented by the additional permissions listed below.
|
||||||
|
|
||||||
|
0. Additional Definitions.
|
||||||
|
|
||||||
|
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||||
|
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||||
|
General Public License.
|
||||||
|
|
||||||
|
"The Library" refers to a covered work governed by this License,
|
||||||
|
other than an Application or a Combined Work as defined below.
|
||||||
|
|
||||||
|
An "Application" is any work that makes use of an interface provided
|
||||||
|
by the Library, but which is not otherwise based on the Library.
|
||||||
|
Defining a subclass of a class defined by the Library is deemed a mode
|
||||||
|
of using an interface provided by the Library.
|
||||||
|
|
||||||
|
A "Combined Work" is a work produced by combining or linking an
|
||||||
|
Application with the Library. The particular version of the Library
|
||||||
|
with which the Combined Work was made is also called the "Linked
|
||||||
|
Version".
|
||||||
|
|
||||||
|
The "Minimal Corresponding Source" for a Combined Work means the
|
||||||
|
Corresponding Source for the Combined Work, excluding any source code
|
||||||
|
for portions of the Combined Work that, considered in isolation, are
|
||||||
|
based on the Application, and not on the Linked Version.
|
||||||
|
|
||||||
|
The "Corresponding Application Code" for a Combined Work means the
|
||||||
|
object code and/or source code for the Application, including any data
|
||||||
|
and utility programs needed for reproducing the Combined Work from the
|
||||||
|
Application, but excluding the System Libraries of the Combined Work.
|
||||||
|
|
||||||
|
1. Exception to Section 3 of the GNU GPL.
|
||||||
|
|
||||||
|
You may convey a covered work under sections 3 and 4 of this License
|
||||||
|
without being bound by section 3 of the GNU GPL.
|
||||||
|
|
||||||
|
2. Conveying Modified Versions.
|
||||||
|
|
||||||
|
If you modify a copy of the Library, and, in your modifications, a
|
||||||
|
facility refers to a function or data to be supplied by an Application
|
||||||
|
that uses the facility (other than as an argument passed when the
|
||||||
|
facility is invoked), then you may convey a copy of the modified
|
||||||
|
version:
|
||||||
|
|
||||||
|
a) under this License, provided that you make a good faith effort to
|
||||||
|
ensure that, in the event an Application does not supply the
|
||||||
|
function or data, the facility still operates, and performs
|
||||||
|
whatever part of its purpose remains meaningful, or
|
||||||
|
|
||||||
|
b) under the GNU GPL, with none of the additional permissions of
|
||||||
|
this License applicable to that copy.
|
||||||
|
|
||||||
|
3. Object Code Incorporating Material from Library Header Files.
|
||||||
|
|
||||||
|
The object code form of an Application may incorporate material from
|
||||||
|
a header file that is part of the Library. You may convey such object
|
||||||
|
code under terms of your choice, provided that, if the incorporated
|
||||||
|
material is not limited to numerical parameters, data structure
|
||||||
|
layouts and accessors, or small macros, inline functions and templates
|
||||||
|
(ten or fewer lines in length), you do both of the following:
|
||||||
|
|
||||||
|
a) Give prominent notice with each copy of the object code that the
|
||||||
|
Library is used in it and that the Library and its use are
|
||||||
|
covered by this License.
|
||||||
|
|
||||||
|
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||||
|
document.
|
||||||
|
|
||||||
|
4. Combined Works.
|
||||||
|
|
||||||
|
You may convey a Combined Work under terms of your choice that,
|
||||||
|
taken together, effectively do not restrict modification of the
|
||||||
|
portions of the Library contained in the Combined Work and reverse
|
||||||
|
engineering for debugging such modifications, if you also do each of
|
||||||
|
the following:
|
||||||
|
|
||||||
|
a) Give prominent notice with each copy of the Combined Work that
|
||||||
|
the Library is used in it and that the Library and its use are
|
||||||
|
covered by this License.
|
||||||
|
|
||||||
|
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||||
|
document.
|
||||||
|
|
||||||
|
c) For a Combined Work that displays copyright notices during
|
||||||
|
execution, include the copyright notice for the Library among
|
||||||
|
these notices, as well as a reference directing the user to the
|
||||||
|
copies of the GNU GPL and this license document.
|
||||||
|
|
||||||
|
d) Do one of the following:
|
||||||
|
|
||||||
|
0) Convey the Minimal Corresponding Source under the terms of this
|
||||||
|
License, and the Corresponding Application Code in a form
|
||||||
|
suitable for, and under terms that permit, the user to
|
||||||
|
recombine or relink the Application with a modified version of
|
||||||
|
the Linked Version to produce a modified Combined Work, in the
|
||||||
|
manner specified by section 6 of the GNU GPL for conveying
|
||||||
|
Corresponding Source.
|
||||||
|
|
||||||
|
1) Use a suitable shared library mechanism for linking with the
|
||||||
|
Library. A suitable mechanism is one that (a) uses at run time
|
||||||
|
a copy of the Library already present on the user's computer
|
||||||
|
system, and (b) will operate properly with a modified version
|
||||||
|
of the Library that is interface-compatible with the Linked
|
||||||
|
Version.
|
||||||
|
|
||||||
|
e) Provide Installation Information, but only if you would otherwise
|
||||||
|
be required to provide such information under section 6 of the
|
||||||
|
GNU GPL, and only to the extent that such information is
|
||||||
|
necessary to install and execute a modified version of the
|
||||||
|
Combined Work produced by recombining or relinking the
|
||||||
|
Application with a modified version of the Linked Version. (If
|
||||||
|
you use option 4d0, the Installation Information must accompany
|
||||||
|
the Minimal Corresponding Source and Corresponding Application
|
||||||
|
Code. If you use option 4d1, you must provide the Installation
|
||||||
|
Information in the manner specified by section 6 of the GNU GPL
|
||||||
|
for conveying Corresponding Source.)
|
||||||
|
|
||||||
|
5. Combined Libraries.
|
||||||
|
|
||||||
|
You may place library facilities that are a work based on the
|
||||||
|
Library side by side in a single library together with other library
|
||||||
|
facilities that are not Applications and are not covered by this
|
||||||
|
License, and convey such a combined library under terms of your
|
||||||
|
choice, if you do both of the following:
|
||||||
|
|
||||||
|
a) Accompany the combined library with a copy of the same work based
|
||||||
|
on the Library, uncombined with any other library facilities,
|
||||||
|
conveyed under the terms of this License.
|
||||||
|
|
||||||
|
b) Give prominent notice with the combined library that part of it
|
||||||
|
is a work based on the Library, and explaining where to find the
|
||||||
|
accompanying uncombined form of the same work.
|
||||||
|
|
||||||
|
6. Revised Versions of the GNU Lesser General Public License.
|
||||||
|
|
||||||
|
The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the GNU Lesser General Public License from time to time. Such new
|
||||||
|
versions will be similar in spirit to the present version, but may
|
||||||
|
differ in detail to address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the
|
||||||
|
Library as you received it specifies that a certain numbered version
|
||||||
|
of the GNU Lesser General Public License "or any later version"
|
||||||
|
applies to it, you have the option of following the terms and
|
||||||
|
conditions either of that published version or of any later version
|
||||||
|
published by the Free Software Foundation. If the Library as you
|
||||||
|
received it does not specify a version number of the GNU Lesser
|
||||||
|
General Public License, you may choose any version of the GNU Lesser
|
||||||
|
General Public License ever published by the Free Software Foundation.
|
||||||
|
|
||||||
|
If the Library as you received it specifies that a proxy can decide
|
||||||
|
whether future versions of the GNU Lesser General Public License shall
|
||||||
|
apply, that proxy's public statement of acceptance of any version is
|
||||||
|
permanent authorization for you to choose that version for the
|
||||||
|
Library.
|
File diff suppressed because it is too large
Load Diff
|
@ -1228,7 +1228,11 @@ class Admin {
|
||||||
array("austriabind",0,false),
|
array("austriabind",0,false),
|
||||||
array("doublereceipt",0,false),
|
array("doublereceipt",0,false),
|
||||||
array("printextraprice",1,false),
|
array("printextraprice",1,false),
|
||||||
array("turbo",5,false)
|
array("turbo",5,false),
|
||||||
|
array("guestqrtext",null,false),
|
||||||
|
array("guestqrsize",null,false),
|
||||||
|
array("guestqrfontsize",null,false),
|
||||||
|
array("reservationitem",null,false)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (is_null($pdo)) {
|
if (is_null($pdo)) {
|
||||||
|
@ -1423,7 +1427,7 @@ class Admin {
|
||||||
$view = "preferences.html";
|
$view = "preferences.html";
|
||||||
}
|
}
|
||||||
|
|
||||||
echo json_encode($view . "?v=1.5.33");
|
echo json_encode($view . "?v=1.6.1");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1644,31 +1648,31 @@ class Admin {
|
||||||
|
|
||||||
if (!self::isOnlyRatingUser($rights, $right_rating, true)) {
|
if (!self::isOnlyRatingUser($rights, $right_rating, true)) {
|
||||||
if ($_SESSION['modus'] == 0) {
|
if ($_SESSION['modus'] == 0) {
|
||||||
if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waitertxt[$lang], "link" => "waiter.html?v=1.5.33"); }
|
if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waitertxt[$lang], "link" => "waiter.html?v=1.6.1"); }
|
||||||
} else {
|
} else {
|
||||||
if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waiterdesktxt[$lang], "link" => "waiterdesktop.php?v=1.5.33"); }
|
if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waiterdesktxt[$lang], "link" => "waiterdesktop.php?v=1.6.1"); }
|
||||||
}
|
}
|
||||||
if ($_SESSION['right_kitchen']) { $mainMenu[] = array("name" => $kitchentxt[$lang], "link" => "kitchen.html?v=1.5.33"); }
|
if ($_SESSION['right_kitchen']) { $mainMenu[] = array("name" => $kitchentxt[$lang], "link" => "kitchen.html?v=1.6.1"); }
|
||||||
if ($_SESSION['right_bar']) { $mainMenu[] = array("name" => "Bar", "link" => "bar.html?v=1.5.33"); }
|
if ($_SESSION['right_bar']) { $mainMenu[] = array("name" => "Bar", "link" => "bar.html?v=1.6.1"); }
|
||||||
if ($_SESSION['right_supply']) { $mainMenu[] = array("name" => $supplytxt[$lang], "link" => "supplydesk.html?v=1.5.33"); }
|
if ($_SESSION['right_supply']) { $mainMenu[] = array("name" => $supplytxt[$lang], "link" => "supplydesk.html?v=1.6.1"); }
|
||||||
if ($_SESSION['modus'] == 0) {
|
if ($_SESSION['modus'] == 0) {
|
||||||
if ($_SESSION['right_paydesk']) { $mainMenu[] = array("name" => $paydesktxt[$lang], "link" => "paydesk.html?v=1.5.33"); }
|
if ($_SESSION['right_paydesk']) { $mainMenu[] = array("name" => $paydesktxt[$lang], "link" => "paydesk.html?v=1.6.1"); }
|
||||||
}
|
}
|
||||||
if ($_SESSION['right_statistics']) { $mainMenu[] = array("name" => $stattxt[$lang], "link" => "reports.html?v=1.5.33"); }
|
if ($_SESSION['right_statistics']) { $mainMenu[] = array("name" => $stattxt[$lang], "link" => "reports.html?v=1.6.1"); }
|
||||||
if ($_SESSION['right_bill']) { $mainMenu[] = array("name" => $bontxt[$lang], "link" => "bill.html?v=1.5.33"); }
|
if ($_SESSION['right_bill']) { $mainMenu[] = array("name" => $bontxt[$lang], "link" => "bill.html?v=1.6.1"); }
|
||||||
if ($_SESSION['right_products']) { $mainMenu[] = array("name" => $prodtxt[$lang], "link" => "products.html?v=1.5.33"); }
|
if ($_SESSION['right_products']) { $mainMenu[] = array("name" => $prodtxt[$lang], "link" => "products.html?v=1.6.1"); }
|
||||||
if ($_SESSION['right_reservation']) { $mainMenu[] = array("name" => $restxt[$lang], "link" => "reservation.html?v=1.5.33"); }
|
if ($_SESSION['right_reservation']) { $mainMenu[] = array("name" => $restxt[$lang], "link" => "reservation.html?v=1.6.1"); }
|
||||||
if ($_SESSION['right_tasks'] || $_SESSION['right_tasksmanagement']) { $mainMenu[] = array("name" => $taskstxt[$lang], "link" => "tasks.html?v=1.5.33"); }
|
if ($_SESSION['right_tasks'] || $_SESSION['right_tasksmanagement']) { $mainMenu[] = array("name" => $taskstxt[$lang], "link" => "tasks.html?v=1.6.1"); }
|
||||||
if ($_SESSION['right_rating']) { $mainMenu[] = array("name" => $ratingtxt[$lang], "link" => "rating.html?v=1.5.33"); }
|
if ($_SESSION['right_rating']) { $mainMenu[] = array("name" => $ratingtxt[$lang], "link" => "rating.html?v=1.6.1"); }
|
||||||
if ($_SESSION['right_customers']) { $mainMenu[] = array("name" => $customerstxt[$lang], "link" => "customers.html?v=1.5.33"); }
|
if ($_SESSION['right_customers']) { $mainMenu[] = array("name" => $customerstxt[$lang], "link" => "customers.html?v=1.6.1"); }
|
||||||
if ($_SESSION['right_pickups']) { $mainMenu[] = array("name" => $pickupstxt[$lang], "link" => "pickups.html?v=1.5.33"); }
|
if ($_SESSION['right_pickups']) { $mainMenu[] = array("name" => $pickupstxt[$lang], "link" => "pickups.html?v=1.6.1"); }
|
||||||
if ($_SESSION['right_dash']) { $mainMenu[] = array("name" => $dashtxt[$lang], "link" => "dash.php?v=1.5.33"); }
|
if ($_SESSION['right_dash']) { $mainMenu[] = array("name" => $dashtxt[$lang], "link" => "dash.php?v=1.6.1"); }
|
||||||
if ($_SESSION['right_manager'] || $_SESSION['is_admin'] || $_SESSION['right_closing']) { $mainMenu[] = array("name" => $admintxt[$lang], "link" => "manager.html?v=1.5.33"); }
|
if ($_SESSION['right_manager'] || $_SESSION['is_admin'] || $_SESSION['right_closing']) { $mainMenu[] = array("name" => $admintxt[$lang], "link" => "manager.html?v=1.6.1"); }
|
||||||
$mainMenu[] = array("name" => $settingtxt[$lang], "link" => "preferences.html?v=1.5.33");
|
$mainMenu[] = array("name" => $settingtxt[$lang], "link" => "preferences.html?v=1.6.1");
|
||||||
if ($_SESSION['right_timetracking'] || $_SESSION['right_timemanager']) { $mainMenu[] = array("name" => $timetrackingtxt[$lang], "link" => "timetracking.html?v=1.5.33"); }
|
if ($_SESSION['right_timetracking'] || $_SESSION['right_timemanager']) { $mainMenu[] = array("name" => $timetrackingtxt[$lang], "link" => "timetracking.html?v=1.6.1"); }
|
||||||
|
|
||||||
$mainMenu[] = array("name" => "Hilfe", "link" => "help.php?v=1.5.33");
|
$mainMenu[] = array("name" => "Hilfe", "link" => "help.php?v=1.6.1");
|
||||||
$mainMenu[] = array("name" => "Feedback", "link" => "feedback.html?v=1.5.33");
|
$mainMenu[] = array("name" => "Feedback", "link" => "feedback.html?v=1.6.1");
|
||||||
}
|
}
|
||||||
|
|
||||||
$mainMenu[] = array("name" => $logout[$lang], "link" => "logout.php");
|
$mainMenu[] = array("name" => $logout[$lang], "link" => "logout.php");
|
||||||
|
@ -2288,7 +2292,11 @@ class Admin {
|
||||||
"logolocation" => array("dbcol" => "logolocation","checknum" => 1),
|
"logolocation" => array("dbcol" => "logolocation","checknum" => 1),
|
||||||
"austriabind" => array("dbcol" => "austriabind","checknum" => 0),
|
"austriabind" => array("dbcol" => "austriabind","checknum" => 0),
|
||||||
"doublereceipt" => array("dbcol" => "doublereceipt","checknum" => 0),
|
"doublereceipt" => array("dbcol" => "doublereceipt","checknum" => 0),
|
||||||
"printextraprice" => array("dbcol" => "printextraprice","checknum" => 0)
|
"printextraprice" => array("dbcol" => "printextraprice","checknum" => 0),
|
||||||
|
"guestqrtext" => array("dbcol" => "guestqrtext","checknum" => 0),
|
||||||
|
"guestqrsize" => array("dbcol" => "guestqrsize","checknum" => 1),
|
||||||
|
"guestqrfontsize" => array("dbcol" => "guestqrfontsize","checknum" => 1),
|
||||||
|
"reservationitem" => array("dbcol" => "reservationitem","checknum" => 0)
|
||||||
);
|
);
|
||||||
$problem = false;
|
$problem = false;
|
||||||
foreach ($changedValues as $aChangeSet) {
|
foreach ($changedValues as $aChangeSet) {
|
||||||
|
|
|
@ -189,6 +189,7 @@ $newClosingId = $maxIdVal + 1;
|
||||||
$closingEntrySql = "INSERT INTO `%closing%` (`id`,`closingdate`,`remark`,`billcount`,`billsum`,`signature`) VALUES (?,?,?,?,?,?)";
|
$closingEntrySql = "INSERT INTO `%closing%` (`id`,`closingdate`,`remark`,`billcount`,`billsum`,`signature`) VALUES (?,?,?,?,?,?)";
|
||||||
CommonUtils::execSql($pdo, $closingEntrySql, array($newClosingId,$closingTime,$remark,0,0.0,null));
|
CommonUtils::execSql($pdo, $closingEntrySql, array($newClosingId,$closingTime,$remark,0,0.0,null));
|
||||||
|
|
||||||
|
set_time_limit(60*60);
|
||||||
$sql = "SELECT id FROM %bill% WHERE closingid is null AND (tableid >= '0' OR status='c') ";
|
$sql = "SELECT id FROM %bill% WHERE closingid is null AND (tableid >= '0' OR status='c') ";
|
||||||
$stmt = $pdo->prepare($this->dbutils->resolveTablenamesInSqlString($sql));
|
$stmt = $pdo->prepare($this->dbutils->resolveTablenamesInSqlString($sql));
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
|
@ -207,9 +208,11 @@ if (!$ok) {
|
||||||
return(array("status" => "ERROR", "code" => ERROR_INCONSISTENT_DB, "msg" => ERROR_INCONSISTENT_DB_MSG));
|
return(array("status" => "ERROR", "code" => ERROR_INCONSISTENT_DB, "msg" => ERROR_INCONSISTENT_DB_MSG));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
set_time_limit(60*60);
|
||||||
$sql = "UPDATE %bill% SET closingid='$newClosingId' WHERE closingid is null AND (tableid >= '0' OR status='c') AND (paymentid <> ?)";
|
$sql = "UPDATE %bill% SET closingid='$newClosingId' WHERE closingid is null AND (tableid >= '0' OR status='c') AND (paymentid <> ?)";
|
||||||
CommonUtils::execSql($pdo, $sql, array(8));
|
CommonUtils::execSql($pdo, $sql, array(8));
|
||||||
|
|
||||||
|
set_time_limit(60*60);
|
||||||
$sql = "SELECT count(id) as billstotake FROM %bill% WHERE closingid=? AND (tableid >= '0' OR status='c')";
|
$sql = "SELECT count(id) as billstotake FROM %bill% WHERE closingid=? AND (tableid >= '0' OR status='c')";
|
||||||
$stmt = $pdo->prepare($this->dbutils->resolveTablenamesInSqlString($sql));
|
$stmt = $pdo->prepare($this->dbutils->resolveTablenamesInSqlString($sql));
|
||||||
$stmt->execute(array($newClosingId));
|
$stmt->execute(array($newClosingId));
|
||||||
|
@ -238,9 +241,11 @@ $pricesumstr = number_format($pricesum, 2, ".", '');
|
||||||
$data = "I($newClosingId)-S($prevClosingDate)-E($closingTime)-D($billsToTake)-S($pricesumstr)";
|
$data = "I($newClosingId)-S($prevClosingDate)-E($closingTime)-D($billsToTake)-S($pricesumstr)";
|
||||||
$signature = md5($data);
|
$signature = md5($data);
|
||||||
|
|
||||||
|
set_time_limit(60*60);
|
||||||
$sql = "UPDATE %closing% SET billcount=?, billsum=?,signature=? WHERE id=?";
|
$sql = "UPDATE %closing% SET billcount=?, billsum=?,signature=? WHERE id=?";
|
||||||
CommonUtils::execSql($pdo, $sql, array($billsToTake,$pricesum,$signature,$newClosingId));
|
CommonUtils::execSql($pdo, $sql, array($billsToTake,$pricesum,$signature,$newClosingId));
|
||||||
|
|
||||||
|
set_time_limit(60*60);
|
||||||
$sql = "SELECT value as val FROM %work% WHERE item=?";
|
$sql = "SELECT value as val FROM %work% WHERE item=?";
|
||||||
$indexunclosedqueue = 0;
|
$indexunclosedqueue = 0;
|
||||||
$r = CommonUtils::fetchSqlAll($pdo, $sql, array('indexunclosedqueue'));
|
$r = CommonUtils::fetchSqlAll($pdo, $sql, array('indexunclosedqueue'));
|
||||||
|
@ -250,15 +255,18 @@ if (!is_null($rval)) {
|
||||||
$indexunclosedqueue = intval($rval);
|
$indexunclosedqueue = intval($rval);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
set_time_limit(60*60);
|
||||||
$sql = "UPDATE %queue% Q,%work% W SET Q.clsid=? WHERE Q.id > ? AND Q.clsid is null";
|
$sql = "UPDATE %queue% Q,%work% W SET Q.clsid=? WHERE Q.id > ? AND Q.clsid is null";
|
||||||
CommonUtils::execSql($pdo, $sql, array($newClosingId,$indexunclosedqueue));
|
CommonUtils::execSql($pdo, $sql, array($newClosingId,$indexunclosedqueue));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
set_time_limit(60*60);
|
||||||
$sql = "UPDATE %queue% SET toremove='1' WHERE billid is null AND clsid=?";
|
$sql = "UPDATE %queue% SET toremove='1' WHERE billid is null AND clsid=?";
|
||||||
CommonUtils::execSql($pdo, $sql, array($newClosingId));
|
CommonUtils::execSql($pdo, $sql, array($newClosingId));
|
||||||
|
|
||||||
|
set_time_limit(60*60);
|
||||||
$sql = "UPDATE %queue% set paidtime=?,delivertime=? WHERE billid is not null AND paidtime is null";
|
$sql = "UPDATE %queue% set paidtime=?,delivertime=? WHERE billid is not null AND paidtime is null";
|
||||||
CommonUtils::execSql($pdo, $sql, array($closingTime,$closingTime));
|
CommonUtils::execSql($pdo, $sql, array($closingTime,$closingTime));
|
||||||
|
|
||||||
|
@ -272,6 +280,7 @@ CommonUtils::execSql($pdo, "OPTIMIZE TABLE %printjobs%", null);
|
||||||
$sql = "DELETE FROM %work% WHERE item=?";
|
$sql = "DELETE FROM %work% WHERE item=?";
|
||||||
CommonUtils::execSql($pdo, $sql, array("sumuphash"));
|
CommonUtils::execSql($pdo, $sql, array("sumuphash"));
|
||||||
|
|
||||||
|
set_time_limit(60*60);
|
||||||
$sql = "UPDATE %queue% SET isclosed=?";
|
$sql = "UPDATE %queue% SET isclosed=?";
|
||||||
CommonUtils::execSql($pdo, $sql, array(1));
|
CommonUtils::execSql($pdo, $sql, array(1));
|
||||||
|
|
||||||
|
|
|
@ -878,7 +878,7 @@ class Customers {
|
||||||
$txt = "<head>";
|
$txt = "<head>";
|
||||||
$txt .= "<title>" . self::$CUS_OVERVIEW[$lang] . "</title>";
|
$txt .= "<title>" . self::$CUS_OVERVIEW[$lang] . "</title>";
|
||||||
$txt .= '<meta http-equiv="content-type" content="text/html; charset=utf-8">';
|
$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.33">';
|
$txt .= '<link rel="stylesheet" type="text/css" href="../css/guestreport.css?v=1.6.1">';
|
||||||
$txt .= "</head>";
|
$txt .= "</head>";
|
||||||
return $txt;
|
return $txt;
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@ if (isset($_POST["cmd"])) {
|
||||||
if (strlen($status) > 150) {
|
if (strlen($status) > 150) {
|
||||||
$status = substr($status, 0,149);
|
$status = substr($status, 0,149);
|
||||||
}
|
}
|
||||||
$version = "1.5.33";
|
$version = "1.6.1";
|
||||||
|
|
||||||
$arr = array("cmd" => $cmd,"fct" => $fct, "xhr" => $xhr,"errormsg" => $errormsg,"status" => $status,"version" => $version,"phpversion" => $phpversion);
|
$arr = array("cmd" => $cmd,"fct" => $fct, "xhr" => $xhr,"errormsg" => $errormsg,"status" => $status,"version" => $version,"phpversion" => $phpversion);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -84,7 +84,11 @@ class Reports {
|
||||||
echo json_encode(array("status" => "OK","msg" => $values));
|
echo json_encode(array("status" => "OK","msg" => $values));
|
||||||
break;
|
break;
|
||||||
case 'getProds':
|
case 'getProds':
|
||||||
$values = $this->sumSortedByProducts($pdo, $allDates['last30days'][0], $allDates['currentTimeStr']);
|
$days = null;
|
||||||
|
if (isset($_GET['days'])) {
|
||||||
|
$days = intval($_GET['days']);
|
||||||
|
}
|
||||||
|
$values = $this->sumSortedByProducts($pdo, $allDates['last30days'][0], $allDates['currentTimeStr'],null,null,$days);
|
||||||
echo json_encode(array("status" => "OK","msg" => $values));
|
echo json_encode(array("status" => "OK","msg" => $values));
|
||||||
break;
|
break;
|
||||||
case 'getRatings':
|
case 'getRatings':
|
||||||
|
@ -204,7 +208,7 @@ class Reports {
|
||||||
$retArrayLastMonth = $this->iterateForDays($pdo, $allDates['monthAndYearOfLastMonth'],intval($allDates['lastDayOfLastMonth']),true);
|
$retArrayLastMonth = $this->iterateForDays($pdo, $allDates['monthAndYearOfLastMonth'],intval($allDates['lastDayOfLastMonth']),true);
|
||||||
|
|
||||||
// products in the last 30 days:
|
// products in the last 30 days:
|
||||||
$retArrayProds = $this->sumSortedByProducts($pdo, $allDates['last30days'][0], $allDates['currentTimeStr']);
|
$retArrayProds = $this->sumSortedByProducts($pdo, $allDates['last30days'][0], $allDates['currentTimeStr'],null,null,null);
|
||||||
|
|
||||||
$retRatings = $this->getRatings($pdo,$allDates['last30days'],$allDates['lastMonthComplete'], $allDates['currentTimeStr']);
|
$retRatings = $this->getRatings($pdo,$allDates['last30days'],$allDates['lastMonthComplete'], $allDates['currentTimeStr']);
|
||||||
|
|
||||||
|
@ -306,15 +310,14 @@ class Reports {
|
||||||
return ($asum < $bsum) ? 1 : -1;
|
return ($asum < $bsum) ? 1 : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
public function sumSortedByProducts($pdo,$startDateTime,$endDateTime,$closidstart=null,$closidend=null,$days=null) {
|
||||||
* returns a sorted by prices list:
|
|
||||||
* array("prodid" => $aProdId,"prodname" => $aProd['prodname'], "sum" => $sumprice);
|
|
||||||
* array("prodid" => $aProdId,"prodname" => $aProd['prodname'], "sum" => $sumprice);
|
|
||||||
* (...)
|
|
||||||
*/
|
|
||||||
public function sumSortedByProducts($pdo,$startDateTime,$endDateTime,$closidstart=null,$closidend=null) {
|
|
||||||
// first get all products and with their id and name
|
// first get all products and with their id and name
|
||||||
|
|
||||||
|
if (!is_null($days)) {
|
||||||
|
date_default_timezone_set(DbUtils::getTimeZone());
|
||||||
|
$startDateTime = date("Y-m-d", strtotime('-' . ($days - 1) . ' day') );
|
||||||
|
}
|
||||||
|
|
||||||
if (is_null($closidstart)) {
|
if (is_null($closidstart)) {
|
||||||
$sql = "SELECT DISTINCT productid from %queue%,%bill%,%products% ";
|
$sql = "SELECT DISTINCT productid from %queue%,%bill%,%products% ";
|
||||||
$sql .= "WHERE %queue%.productid=%products%.id ";
|
$sql .= "WHERE %queue%.productid=%products%.id ";
|
||||||
|
|
|
@ -13,11 +13,11 @@ class Reservation {
|
||||||
echo json_encode(array("status" => "ERROR", "code" => ERROR_RES_NOT_AUTHOTRIZED, "msg" => ERROR_RES_NOT_AUTHOTRIZED_MSG));
|
echo json_encode(array("status" => "ERROR", "code" => ERROR_RES_NOT_AUTHOTRIZED, "msg" => ERROR_RES_NOT_AUTHOTRIZED_MSG));
|
||||||
} else {
|
} else {
|
||||||
if ($command == 'createReservation') {
|
if ($command == 'createReservation') {
|
||||||
$this->createReservation($_POST['day'],$_POST['month'],$_POST['year'],$_POST['start'],$_POST['name'],$_POST['email'],$_POST['persons'],$_POST['duration'],$_POST['phone'],$_POST['remark'],$_POST["tableid"]);
|
$this->createReservation($_POST['day'],$_POST['month'],$_POST['year'],$_POST['starthour'],$_POST['startmin'],$_POST['name'],$_POST['email'],$_POST['persons'],$_POST['durationhours'],$_POST['durationmins'],$_POST['phone'],$_POST['remark'],$_POST["tableid"]);
|
||||||
} else if ($command == 'getReservations') {
|
} else if ($command == 'getReservations') {
|
||||||
$this->getReservations($_GET['day'],$_GET['month'],$_GET['year']);
|
$this->getReservations($_GET['day'],$_GET['month'],$_GET['year']);
|
||||||
} else if ($command == 'changeReservation') {
|
} else if ($command == 'changeReservation') {
|
||||||
$this->changeReservation($_POST['id'],$_POST['day'],$_POST['month'],$_POST['year'],$_POST['start'],$_POST['name'],$_POST['email'],$_POST['persons'],$_POST['duration'],$_POST['phone'],$_POST['remark'],$_POST["tableid"]);
|
$this->changeReservation($_POST['id'],$_POST['day'],$_POST['month'],$_POST['year'],$_POST['starthour'],$_POST['startmin'],$_POST['name'],$_POST['email'],$_POST['persons'],$_POST['durationhours'],$_POST['durationmins'],$_POST['phone'],$_POST['remark'],$_POST["tableid"]);
|
||||||
} else if ($command == 'delReservation') {
|
} else if ($command == 'delReservation') {
|
||||||
$this->delReservation($_POST['id']);
|
$this->delReservation($_POST['id']);
|
||||||
} else if ($command == 'emailConfirmReservation') {
|
} else if ($command == 'emailConfirmReservation') {
|
||||||
|
@ -42,7 +42,7 @@ class Reservation {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function createReservation($day,$month,$year,$start,$name,$email,$persons,$duration,$phone,$remark,$tableid) {
|
private function createReservation($day,$month,$year,$start,$startmin,$name,$email,$persons,$durationhours,$durationmins,$phone,$remark,$tableid) {
|
||||||
$userid = $_SESSION['userid'];
|
$userid = $_SESSION['userid'];
|
||||||
date_default_timezone_set(DbUtils::getTimeZone());
|
date_default_timezone_set(DbUtils::getTimeZone());
|
||||||
$currentTime = date('Y-m-d H:i:s');
|
$currentTime = date('Y-m-d H:i:s');
|
||||||
|
@ -56,11 +56,11 @@ class Reservation {
|
||||||
$pdo->beginTransaction();
|
$pdo->beginTransaction();
|
||||||
|
|
||||||
$sql = "INSERT INTO `%reservations%` (
|
$sql = "INSERT INTO `%reservations%` (
|
||||||
`id` , `creator`,`creationdate`,`scheduledate`,`name`,`email`,`starttime`,`duration`,`persons`,`phone`,`remark`,`tableid`)
|
`id` , `creator`,`creationdate`,`scheduledate`,`name`,`email`,`starttime`,`starttimemin`,`duration`,`durationmins`,`persons`,`phone`,`remark`,`tableid`)
|
||||||
VALUES (
|
VALUES (
|
||||||
NULL , ?,?,?,?,?,?,?,?,?,?,?)";
|
NULL , ?,?,?,?,?,?,?,?,?,?,?,?,?)";
|
||||||
$stmt = $pdo->prepare($this->dbutils->resolveTablenamesInSqlString($sql));
|
$stmt = $pdo->prepare($this->dbutils->resolveTablenamesInSqlString($sql));
|
||||||
$stmt->execute(array($userid,$currentTime,$scheduledDate,$name,$email,$start,$duration,$persons,$phone,$remark,$tableid));
|
$stmt->execute(array($userid,$currentTime,$scheduledDate,$name,$email,$start,$startmin,$durationhours,$durationmins,$persons,$phone,$remark,$tableid));
|
||||||
$pdo->commit();
|
$pdo->commit();
|
||||||
echo json_encode(array("status" => "OK"));
|
echo json_encode(array("status" => "OK"));
|
||||||
}
|
}
|
||||||
|
@ -70,7 +70,7 @@ class Reservation {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function changeReservation($id,$day,$month,$year,$start,$name,$email,$persons,$duration,$phone,$remark,$tableid) {
|
private function changeReservation($id,$day,$month,$year,$startHour,$startMin,$name,$email,$persons,$durationHours,$durationMins,$phone,$remark,$tableid) {
|
||||||
$userid = $_SESSION['userid'];
|
$userid = $_SESSION['userid'];
|
||||||
date_default_timezone_set(DbUtils::getTimeZone());
|
date_default_timezone_set(DbUtils::getTimeZone());
|
||||||
$currentTime = date('Y-m-d H:i:s');
|
$currentTime = date('Y-m-d H:i:s');
|
||||||
|
@ -80,8 +80,8 @@ class Reservation {
|
||||||
try {
|
try {
|
||||||
$pdo->beginTransaction();
|
$pdo->beginTransaction();
|
||||||
|
|
||||||
$sql = "UPDATE `%reservations%` SET creator=?,creationdate=?,scheduledate=?,name=?,email=?,starttime=?,duration=?,persons=?,phone=?,remark=?,tableid=? WHERE id=?";
|
$sql = "UPDATE `%reservations%` SET creator=?,creationdate=?,scheduledate=?,name=?,email=?,starttime=?,starttimemin=?,duration=?,durationmins=?,persons=?,phone=?,remark=?,tableid=? WHERE id=?";
|
||||||
CommonUtils::execSql($pdo, $sql, array($userid,$currentTime,$scheduledDate,$name,$email,$start,$duration,$persons,$phone,$remark,$tableid,$id));
|
CommonUtils::execSql($pdo, $sql, array($userid,$currentTime,$scheduledDate,$name,$email,$startHour,$startMin,$durationHours,$durationMins,$persons,$phone,$remark,$tableid,$id));
|
||||||
$pdo->commit();
|
$pdo->commit();
|
||||||
echo json_encode(array("status" => "OK"));
|
echo json_encode(array("status" => "OK"));
|
||||||
}
|
}
|
||||||
|
@ -144,7 +144,7 @@ class Reservation {
|
||||||
$txt = "<html><head>";
|
$txt = "<html><head>";
|
||||||
$txt .= "<title>Reservierungsübersicht</title>";
|
$txt .= "<title>Reservierungsübersicht</title>";
|
||||||
$txt .= '<meta http-equiv="content-type" content="text/html; charset=utf-8">';
|
$txt .= '<meta http-equiv="content-type" content="text/html; charset=utf-8">';
|
||||||
$txt .= '<link rel="stylesheet" type="text/css" href="../css/bestformat.css?v=1.5.33">';
|
$txt .= '<link rel="stylesheet" type="text/css" href="../css/bestformat.css?v=1.6.1">';
|
||||||
$txt .= "</head>";
|
$txt .= "</head>";
|
||||||
$txt .= "<body>";
|
$txt .= "<body>";
|
||||||
$txt .= "<h1>Reservierungsübersicht für $day.$month.$year</h1><p>";
|
$txt .= "<h1>Reservierungsübersicht für $day.$month.$year</h1><p>";
|
||||||
|
@ -170,7 +170,8 @@ class Reservation {
|
||||||
}
|
}
|
||||||
private static function getSqlForResByTime() {
|
private static function getSqlForResByTime() {
|
||||||
// REM* roomname and tablename only for the html output
|
// REM* roomname and tablename only for the html output
|
||||||
$sql = "SELECT R.id,U.username as username,creationdate,scheduledate,starttime,name,email,persons,duration,phone,remark,tableid, ";
|
$sqlEndTime = self::sqlForEndTime();
|
||||||
|
$sql = "SELECT R.id,U.username as username,creationdate,scheduledate,starttime as starthour,starttimemin as startmin,$sqlEndTime,name,email,persons,duration,durationmins,phone,remark,tableid, ";
|
||||||
$sql .= "IF(tableid is null,'-1',(SELECT RO.id as roomid FROM %room% RO,%resttables% T WHERE T.id=tableid AND T.roomid=RO.id)) as roomid, ";
|
$sql .= "IF(tableid is null,'-1',(SELECT RO.id as roomid FROM %room% RO,%resttables% T WHERE T.id=tableid AND T.roomid=RO.id)) as roomid, ";
|
||||||
$sql .= "IF(tableid is null,'-1',(SELECT RO.sorting as roomsorting FROM %room% RO,%resttables% T WHERE T.id=tableid AND T.roomid=RO.id)) as roomsorting, ";
|
$sql .= "IF(tableid is null,'-1',(SELECT RO.sorting as roomsorting FROM %room% RO,%resttables% T WHERE T.id=tableid AND T.roomid=RO.id)) as roomsorting, ";
|
||||||
$sql .= "IF(tableid is null,'',(SELECT RO.roomname as roomname FROM %room% RO,%resttables% T WHERE T.id=tableid AND T.roomid=RO.id)) as roomname, ";
|
$sql .= "IF(tableid is null,'',(SELECT RO.roomname as roomname FROM %room% RO,%resttables% T WHERE T.id=tableid AND T.roomid=RO.id)) as roomname, ";
|
||||||
|
@ -180,14 +181,25 @@ class Reservation {
|
||||||
$sql .= "WHERE DATE(scheduledate)=? AND R.creator=U.id ";
|
$sql .= "WHERE DATE(scheduledate)=? AND R.creator=U.id ";
|
||||||
return $sql;
|
return $sql;
|
||||||
}
|
}
|
||||||
|
// REM* the end time may be in next day, and the minutes may also need an hiour to be increased
|
||||||
|
private static function sqlForEndTime() {
|
||||||
|
$sqlEndTimeStamp = 'ADDTIME(CONCAT(starttime,":",starttimemin,":00"),CONCAT(duration,":",durationmins,":00"))';
|
||||||
|
// REM* will return something like 26:15:00 in case endtime is on next day
|
||||||
|
$sqlEndHour = 'HOUR(' . $sqlEndTimeStamp . ') as endhour';
|
||||||
|
$sqlEndMin = 'MINUTE(' . $sqlEndTimeStamp . ') as endmin';
|
||||||
|
$sqlEndTime = "$sqlEndHour,$sqlEndMin";
|
||||||
|
return $sqlEndTime;
|
||||||
|
}
|
||||||
private function getReservations($day,$month,$year) {
|
private function getReservations($day,$month,$year) {
|
||||||
$pdo = DbUtils::openDbAndReturnPdoStatic();
|
$pdo = DbUtils::openDbAndReturnPdoStatic();
|
||||||
|
$sqlEndTime = self::sqlForEndTime();
|
||||||
|
|
||||||
// REM* the many sortings in the sql allow the sorting by time, room-sort and table-sort
|
// REM* the many sortings in the sql allow the sorting by time, room-sort and table-sort
|
||||||
$sql = self::getSqlForResByTime();
|
$sql = self::getSqlForResByTime();
|
||||||
$timeSortedReservations = $this->getReservationsCore($pdo,$day,$month,$year,$sql . " ORDER BY starttime,roomsorting,tablesorting");
|
$timeSortedReservations = $this->getReservationsCore($pdo,$day,$month,$year,$sql . " ORDER BY starttime,roomsorting,tablesorting");
|
||||||
|
|
||||||
// REM* and now by table
|
// REM* and now by table
|
||||||
$sql = "SELECT DISTINCT R.tableid as tableid,ROOM.id as roomid,ROOM.sorting as roomsorting,T.sorting as tablesorting FROM %reservations% R,%room% ROOM,%resttables% T ";
|
$sql = "SELECT DISTINCT R.tableid as tableid,T.tableno as tablename,ROOM.id as roomid,ROOM.sorting as roomsorting,T.sorting as tablesorting FROM %reservations% R,%room% ROOM,%resttables% T ";
|
||||||
$sql .= " WHERE DATE(scheduledate)=? AND tableid is not null AND tableid >= '0' ";
|
$sql .= " WHERE DATE(scheduledate)=? AND tableid is not null AND tableid >= '0' ";
|
||||||
$sql .= " AND R.tableid = T.id AND T.roomid=ROOM.id ";
|
$sql .= " AND R.tableid = T.id AND T.roomid=ROOM.id ";
|
||||||
$sql .= " ORDER BY ROOM.sorting,T.sorting ";
|
$sql .= " ORDER BY ROOM.sorting,T.sorting ";
|
||||||
|
@ -198,23 +210,23 @@ class Reservation {
|
||||||
$byTables = array();
|
$byTables = array();
|
||||||
|
|
||||||
foreach($allTablesOfResAtThatDate as $tableRes) {
|
foreach($allTablesOfResAtThatDate as $tableRes) {
|
||||||
$sql = "SELECT R.id,U.username as creator,creationdate,scheduledate,starttime as start,name as guest,email,persons,duration,(starttime + duration) as endhour,";
|
$sql = "SELECT R.id,U.username as creator,creationdate,scheduledate,YEAR(scheduledate) as year,MONTH(scheduledate) as month, DAY(scheduledate) as day,starttime as starthour,starttimemin as startmin,name as guest,email,persons,duration as durationhours,durationmins,$sqlEndTime,";
|
||||||
$sql .= " phone,remark,tableid,'" . $tableRes["roomid"] . "' as roomid ";
|
$sql .= " phone,remark,tableid,'" . $tableRes["roomid"] . "' as roomid ";
|
||||||
$sql .= "FROM %reservations% R,%user% U ";
|
$sql .= "FROM %reservations% R,%user% U ";
|
||||||
$sql .= "WHERE DATE(scheduledate)=? AND R.creator=U.id AND tableid=? ";
|
$sql .= "WHERE DATE(scheduledate)=? AND R.creator=U.id AND tableid=? ";
|
||||||
$sql .= "ORDER BY starttime";
|
$sql .= "ORDER BY starttime";
|
||||||
$allResOfThatTable = CommonUtils::fetchSqlAll($pdo, $sql, array($scheduledDate,$tableRes["tableid"]));
|
$allResOfThatTable = CommonUtils::fetchSqlAll($pdo, $sql, array($scheduledDate,$tableRes["tableid"]));
|
||||||
$byTables[] = array("tableid" => $tableRes["tableid"],"roomid" => $tableRes["roomid"], "reservations" => $allResOfThatTable);
|
$byTables[] = array("tableid" => $tableRes["tableid"],"tablename" => $tableRes["tablename"],"roomid" => $tableRes["roomid"], "reservations" => $allResOfThatTable);
|
||||||
}
|
}
|
||||||
// REM* these were all reservations by table at the given date. Let's add all reservations without a table assignment
|
// REM* these were all reservations by table at the given date. Let's add all reservations without a table assignment
|
||||||
$sql = "SELECT R.id,U.username as creator,creationdate,scheduledate,starttime as start,name as guest,email,persons,duration,(starttime + duration) as endhour,";
|
$sql = "SELECT R.id,U.username as creator,creationdate,scheduledate,YEAR(scheduledate) as year,MONTH(scheduledate) as month, DAY(scheduledate) as day,starttime as starthour,starttimemin as startmin,name as guest,email,persons,duration as durationhours,durationmins,$sqlEndTime,";
|
||||||
$sql .= " phone,remark,'-1' as tableid,'-1' as roomid ";
|
$sql .= " phone,remark,'-1' as tableid,'-1' as roomid ";
|
||||||
$sql .= "FROM %reservations% R,%user% U ";
|
$sql .= "FROM %reservations% R,%user% U ";
|
||||||
$sql .= "WHERE DATE(scheduledate)=? AND R.creator=U.id AND (tableid is null OR tableid='-1') ";
|
$sql .= "WHERE DATE(scheduledate)=? AND R.creator=U.id AND (tableid is null OR tableid='-1') ";
|
||||||
$sql .= "ORDER BY starttime";
|
$sql .= "ORDER BY starttime";
|
||||||
$allResOfUndefinedTable = CommonUtils::fetchSqlAll($pdo, $sql, array($scheduledDate));
|
$allResOfUndefinedTable = CommonUtils::fetchSqlAll($pdo, $sql, array($scheduledDate));
|
||||||
if (count($allResOfUndefinedTable) > 0) {
|
if (count($allResOfUndefinedTable) > 0) {
|
||||||
$byTables[] = array("tableid" => '-1',"roomid" => '-1', "reservations" => $allResOfUndefinedTable);
|
$byTables[] = array("tableid" => '-1',"tablename" => "?","roomid" => '-1', "reservations" => $allResOfUndefinedTable);
|
||||||
}
|
}
|
||||||
|
|
||||||
$msg = array("bytimes" => $timeSortedReservations,"bytables" => $byTables);
|
$msg = array("bytimes" => $timeSortedReservations,"bytables" => $byTables);
|
||||||
|
@ -239,21 +251,22 @@ class Reservation {
|
||||||
$resArray = array();
|
$resArray = array();
|
||||||
|
|
||||||
foreach($result as $row) {
|
foreach($result as $row) {
|
||||||
$datetimeparts = explode(" ",$row['scheduledate']);
|
|
||||||
$thedate = $datetimeparts[0];
|
|
||||||
$thedateparts = explode("-",$thedate);
|
|
||||||
$resArray[] = array(
|
$resArray[] = array(
|
||||||
"id" => $row['id'],
|
"id" => $row['id'],
|
||||||
"creator" => $row['username'],
|
"creator" => $row['username'],
|
||||||
"creationdate" => $row['creationdate'],
|
"creationdate" => $row['creationdate'],
|
||||||
"day" => $thedateparts[2],
|
"day" => $row['day'],
|
||||||
"month" => $thedateparts[1],
|
"month" => $row['month'],
|
||||||
"year" => $thedateparts[0],
|
"year" => $row['year'],
|
||||||
"start" => $row['starttime'],
|
"starthour" => $row['starthour'],
|
||||||
|
"startmin" => $row['startmin'],
|
||||||
|
"endhour" => $row['endhour'],
|
||||||
|
"endmin" => $row['endmin'],
|
||||||
"guest" => $row['name'],
|
"guest" => $row['name'],
|
||||||
"email" => $row['email'],
|
"email" => $row['email'],
|
||||||
"persons" => $row['persons'],
|
"persons" => $row['persons'],
|
||||||
"duration" => $row['duration'],
|
"durationhours" => $row['duration'],
|
||||||
|
"durationmins" => $row['durationmins'],
|
||||||
"phone" => $row['phone'],
|
"phone" => $row['phone'],
|
||||||
"remark" => $row['remark'],
|
"remark" => $row['remark'],
|
||||||
"roomid" => $row['roomid'],
|
"roomid" => $row['roomid'],
|
||||||
|
|
|
@ -38,13 +38,17 @@ class Roomtables {
|
||||||
} else if ($command == 'getRoomfieldAlsoInactive') {
|
} else if ($command == 'getRoomfieldAlsoInactive') {
|
||||||
$this->getRoomfieldAlsoInactive();
|
$this->getRoomfieldAlsoInactive();
|
||||||
} else if ($command == 'setRoomInfo') {
|
} else if ($command == 'setRoomInfo') {
|
||||||
if ($this->hasCurrentUserAdminRights()) {
|
if (self::hasCurrentUserAdminRights()) {
|
||||||
$this->setRoomInfo($_POST['rooms'],$_POST['togoworkprinter']);
|
$this->setRoomInfo($_POST['rooms'],$_POST['togoworkprinter']);
|
||||||
}
|
}
|
||||||
|
} else if ($command == 'createTableCodes') {
|
||||||
|
self::createTableCodes();
|
||||||
|
} else if ($command == 'tableqrcodes') {
|
||||||
|
self::tableqrcodes();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function hasCurrentUserAdminRights() {
|
private static function hasCurrentUserAdminRights() {
|
||||||
if(session_id() == '') {
|
if(session_id() == '') {
|
||||||
session_start();
|
session_start();
|
||||||
}
|
}
|
||||||
|
@ -55,6 +59,27 @@ class Roomtables {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static function createTableCodes() {
|
||||||
|
if (!self::hasCurrentUserAdminRights()) {
|
||||||
|
echo json_encode(array("status" => "ERROR","msg" => "Benutzerrechte nicht ausreichend"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
$pdo = DbUtils::openDbAndReturnPdoStatic();
|
||||||
|
$sql = "SELECT id FROM %resttables% WHERE removed is null AND (code is NULL OR code='')";
|
||||||
|
$activeTables = CommonUtils::fetchSqlAll($pdo, $sql);
|
||||||
|
$updateSql = "UPDATE %resttables% SET code=? WHERE id=?";
|
||||||
|
foreach($activeTables as $table) {
|
||||||
|
$tableid = $table["id"];
|
||||||
|
$uniqid = md5(uniqid());
|
||||||
|
CommonUtils::execSql($pdo, $updateSql, array($uniqid,$tableid));
|
||||||
|
}
|
||||||
|
echo json_encode(array("status" => "OK"));
|
||||||
|
} catch (Exception $ex) {
|
||||||
|
echo json_encode(array("status" => "ERROR","msg" => "Datenbank nicht erreichbar"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function showAllRooms() {
|
function showAllRooms() {
|
||||||
$pdo = DbUtils::openDbAndReturnPdoStatic();
|
$pdo = DbUtils::openDbAndReturnPdoStatic();
|
||||||
$roomtables = $this->getAllTablesAndRooms($pdo);
|
$roomtables = $this->getAllTablesAndRooms($pdo);
|
||||||
|
@ -220,9 +245,22 @@ class Roomtables {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static function sqlForEndTime() {
|
||||||
|
$sqlEndTimeStamp = 'ADDTIME(CONCAT(starttime,":",starttimemin,":00"),CONCAT(duration,":",durationmins,":00"))';
|
||||||
|
$sqlEndHour = 'HOUR(' . $sqlEndTimeStamp . ') as endhour';
|
||||||
|
$sqlEndMin = 'MINUTE(' . $sqlEndTimeStamp . ') as endmin';
|
||||||
|
$sqlEndTime = "$sqlEndHour,$sqlEndMin";
|
||||||
|
return $sqlEndTime;
|
||||||
|
}
|
||||||
|
|
||||||
private function getAllTablesAndRooms($pdo)
|
private function getAllTablesAndRooms($pdo)
|
||||||
{
|
{
|
||||||
$sql = "SELECT tableid,GROUP_CONCAT(DISTINCT CONCAT(starttime,':00-',(starttime+duration),':00') ORDER BY starttime) as times from %reservations% R ";
|
$sqlEndTimeStamp = 'ADDTIME(CONCAT(starttime,":",starttimemin,":00"),CONCAT(duration,":",durationmins,":00"))';
|
||||||
|
$sqlEndHour = 'HOUR(' . $sqlEndTimeStamp . ') ';
|
||||||
|
$sqlEndMin = 'LPAD(MINUTE(' . $sqlEndTimeStamp . '),2,0)';
|
||||||
|
|
||||||
|
$sql = "SELECT tableid,GROUP_CONCAT(DISTINCT CONCAT(starttime,':',LPAD(starttimemin,2,0),'-',($sqlEndHour),':',($sqlEndMin)) ORDER BY starttime) as times from %reservations% R ";
|
||||||
|
//$sql = "SELECT tableid,GROUP_CONCAT(DISTINCT CONCAT(starttime,':00-',(starttime+duration),':00') ORDER BY starttime) as times from %reservations% R ";
|
||||||
$sql .= "WHERE DATE(scheduledate)=CURDATE() AND (HOUR(NOW())-1) <= starttime GROUP BY tableid";
|
$sql .= "WHERE DATE(scheduledate)=CURDATE() AND (HOUR(NOW())-1) <= starttime GROUP BY tableid";
|
||||||
$reservations = CommonUtils::fetchSqlAll($pdo, $sql);
|
$reservations = CommonUtils::fetchSqlAll($pdo, $sql);
|
||||||
|
|
||||||
|
@ -484,4 +522,85 @@ class Roomtables {
|
||||||
$result = CommonUtils::fetchSqlAll($pdo, $sql, array(1,1));
|
$result = CommonUtils::fetchSqlAll($pdo, $sql, array(1,1));
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static function createSingleQRCode($guesturl,$tablename,$tableid,$code,$addOnText,$guestqrsize,$guestqrfontsize) {
|
||||||
|
$arg = $guesturl . '/index.php?code=' . $code . "_" . $tableid;
|
||||||
|
$txt = '<div style="width:' . $guestqrsize . 'px;text-align:center;">';
|
||||||
|
$txt .= 'Tisch: ' . $tablename . '<br>';
|
||||||
|
if (!is_null($code) && ($code != '')) {
|
||||||
|
$txt .= '<img src="utilities/osqrcode.php?cmd=link&arg=' . $arg . '" style="width:' . $guestqrsize . 'px;" /><br>';
|
||||||
|
} else {
|
||||||
|
$txt .= '<p><b>Tischcode wurde noch nicht zugewiesen</b><br>';
|
||||||
|
}
|
||||||
|
$txt .= '<p><span style="font-size:' . $guestqrfontsize . 'px;">' . $addOnText . '</span>';
|
||||||
|
$txt .= '</div>';
|
||||||
|
return $txt;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function createQrCodeForTables($pdo,$guesturl,$addOnText,$guestqrsize,$guestqrfontsize) {
|
||||||
|
$maxCols = round(500.0/($guestqrsize + 20));
|
||||||
|
$allTables = self::getTablesForGuestsystem($pdo);
|
||||||
|
$txt = '<table class="qrcodes">';
|
||||||
|
$col = 0;
|
||||||
|
foreach($allTables as $aTable) {
|
||||||
|
$code = $aTable['code'];
|
||||||
|
$tableid = $aTable['id'];
|
||||||
|
$tablename = $aTable['name'];
|
||||||
|
if ($col == 0) {
|
||||||
|
$txt .= "<tr>";
|
||||||
|
}
|
||||||
|
$txt .= '<td>' . self::createSingleQRCode($guesturl, $tablename, $tableid, $code, $addOnText, $guestqrsize, $guestqrfontsize);
|
||||||
|
$col++;
|
||||||
|
if ($col == $maxCols) {
|
||||||
|
$col = 0;
|
||||||
|
$txt .= "</tr>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$txt .= "</table>";
|
||||||
|
return $txt;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function tableqrcodes() {
|
||||||
|
header( "Expires: Mon, 20 Dec 1998 01:00:00 GMT" );
|
||||||
|
header( "Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT" );
|
||||||
|
header( "Cache-Control: no-cache, must-revalidate" );
|
||||||
|
header( "Content-Type: text/html; charset=utf8" );
|
||||||
|
|
||||||
|
$pdo = DbUtils::openDbAndReturnPdoStatic();
|
||||||
|
$guestUrl = CommonUtils::getConfigValue($pdo, 'guesturl', '');
|
||||||
|
|
||||||
|
if (CommonUtils::strEndsWith($guestUrl, "/")) {
|
||||||
|
$guestUrl = substr($guestUrl, 0, strlen($guestUrl) - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CommonUtils::strEndsWith($guestUrl, "/index.php")) {
|
||||||
|
$guestUrl = substr($guestUrl, 0, strlen($guestUrl) - strlen("/index.php"));
|
||||||
|
}
|
||||||
|
|
||||||
|
$guestqrtext = CommonUtils::getConfigValue($pdo, 'guestqrtext', '');
|
||||||
|
$guestqrsize = CommonUtils::getConfigValue($pdo, 'guestqrsize', '');
|
||||||
|
if (($guestqrsize < 20) || ($guestqrsize > 500)) {
|
||||||
|
$guestqrsize = 150;
|
||||||
|
}
|
||||||
|
$guestqrfontsize = CommonUtils::getConfigValue($pdo, 'guestqrfontsize', '');
|
||||||
|
if (($guestqrfontsize < 5) || ($guestqrfontsize > 50)) {
|
||||||
|
$guestqrfontsize = 15;
|
||||||
|
}
|
||||||
|
if (is_null($guestUrl) || ($guestUrl == '')) {
|
||||||
|
echo "Gastbestell-URL noch nicht konfiguriert";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$txt = "<html><head>";
|
||||||
|
$txt .= "<title>Tisch QR-Codes für die Gastbestellung</title>";
|
||||||
|
$txt .= '<meta http-equiv="content-type" content="text/html; charset=utf-8">';
|
||||||
|
$txt .= '<link rel="stylesheet" type="text/css" href="../css/bestformat.css?v=1.6.1">';
|
||||||
|
$txt .= "</head>";
|
||||||
|
$txt .= "<body>";
|
||||||
|
$txt .= "<h1>Tisch QR-Codes für die Gastbestellung</h1><p>";
|
||||||
|
|
||||||
|
$txt .= self::createQrCodeForTables($pdo,$guestUrl,$guestqrtext,$guestqrsize,$guestqrfontsize);
|
||||||
|
$txt .= "</body></html>";
|
||||||
|
echo $txt;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
<?php
|
||||||
|
error_reporting(E_ERROR);
|
||||||
|
|
||||||
|
require_once (__DIR__. '/../3rdparty/phpqrcode.php');
|
||||||
|
|
||||||
|
|
||||||
|
class OsQrcode {
|
||||||
|
public static function createQrCodeForLink($text) {
|
||||||
|
QRcode::png($text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$cmd = $_GET["cmd"];
|
||||||
|
$arg = $_GET["arg"];
|
||||||
|
|
||||||
|
switch($cmd) {
|
||||||
|
case "link":
|
||||||
|
OsQrcode::createQrCodeForLink($arg);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
|
@ -361,9 +361,9 @@ class PdfExport extends FPDF {
|
||||||
$startDate = $this->calcStartDate($startMonth, $startYear);
|
$startDate = $this->calcStartDate($startMonth, $startYear);
|
||||||
$endDate = $this->calcEndDate($endMonth, $endYear);
|
$endDate = $this->calcEndDate($endMonth, $endYear);
|
||||||
|
|
||||||
$prodStat = $reports->sumSortedByProducts($pdo, $startDate, $endDate,null,null);
|
$prodStat = $reports->sumSortedByProducts($pdo, $startDate, $endDate,null,null,null);
|
||||||
} else {
|
} else {
|
||||||
$prodStat = $reports->sumSortedByProducts($pdo, 0,0,$closidstart,$closidend);
|
$prodStat = $reports->sumSortedByProducts($pdo, 0,0,$closidstart,$closidend,null);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->setProdsTableHeader();
|
$this->setProdsTableHeader();
|
||||||
|
|
|
@ -1287,6 +1287,26 @@ class Version {
|
||||||
return array(true);
|
return array(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function upd_1533_1600($pdo, $prefix, $dbname) {
|
||||||
|
try {
|
||||||
|
self::execSql($pdo, "ALTER TABLE %reservations% ADD starttimemin INT(3) NULL AFTER `starttime`");
|
||||||
|
self::execSql($pdo, "UPDATE %reservations% SET starttimemin='0'");
|
||||||
|
self::execSql($pdo, "ALTER TABLE %reservations% ADD durationmins INT(3) NULL AFTER `duration`");
|
||||||
|
self::execSql($pdo, "UPDATE %reservations% SET durationmins='0'");
|
||||||
|
self::insertOrUpdateConfigItem($pdo, 'guestqrtext', 'Gastbestellung');
|
||||||
|
self::insertOrUpdateConfigItem($pdo, 'guestqrfontsize', '15');
|
||||||
|
self::insertOrUpdateConfigItem($pdo, 'guestqrsize', '150');
|
||||||
|
self::insertOrUpdateConfigItem($pdo, 'reservationitem', "<b>{Name}</b>\n{Start-Stunde}:{Start-Minute}-{Ende-Stunde}:{Ende-Minute}\nDauer: {Dauer-Stunden}:{Dauer-Minuten}\n{Personen} Personen\n{Bemerkung}");
|
||||||
|
return array(true);
|
||||||
|
} catch (PDOException $e) {
|
||||||
|
return array(false,$e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function upd_1600_1601($pdo, $prefix, $dbname) {
|
||||||
|
return array(true);
|
||||||
|
}
|
||||||
|
|
||||||
public static $updateOrder = array(
|
public static $updateOrder = array(
|
||||||
"1.3.0" => array("upd_1300_1301","1.3.1"),
|
"1.3.0" => array("upd_1300_1301","1.3.1"),
|
||||||
"1.3.1" => array("upd_1301_1302","1.3.2"),
|
"1.3.1" => array("upd_1301_1302","1.3.2"),
|
||||||
|
@ -1367,7 +1387,9 @@ class Version {
|
||||||
"1.5.29" => array("upd_1529_1530","1.5.30"),
|
"1.5.29" => array("upd_1529_1530","1.5.30"),
|
||||||
"1.5.30" => array("upd_1530_1531","1.5.31"),
|
"1.5.30" => array("upd_1530_1531","1.5.31"),
|
||||||
"1.5.31" => array("upd_1531_1532","1.5.32"),
|
"1.5.31" => array("upd_1531_1532","1.5.32"),
|
||||||
"1.5.32" => array("upd_1532_1533","1.5.33")
|
"1.5.32" => array("upd_1532_1533","1.5.33"),
|
||||||
|
"1.5.33" => array("upd_1533_1600","1.6.0"),
|
||||||
|
"1.6.0" => array("upd_1600_1601","1.6.1")
|
||||||
);
|
);
|
||||||
|
|
||||||
public static function runUpdateProcess($pdo,$prefix, $dbname, $untilVersion,$checkValidVersion) {
|
public static function runUpdateProcess($pdo,$prefix, $dbname, $untilVersion,$checkValidVersion) {
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<meta name="author" content="Stefan Pichel">
|
<meta name="author" content="Stefan Pichel">
|
||||||
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.33">
|
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.1">
|
||||||
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
|
<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/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-1.11.3.min.js"></script>
|
||||||
<script src="php/3rdparty/jquery.mobile-1.4.5.min.js"></script>
|
<script src="php/3rdparty/jquery.mobile-1.4.5.min.js"></script>
|
||||||
|
|
||||||
<script src="utilities.js?v=1.5.33"></script>
|
<script src="utilities.js?v=1.6.1"></script>
|
||||||
|
|
||||||
<link rel="stylesheet" href="php/3rdparty/jqueryui1-11-4/jquery-ui.min.css" />
|
<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.min.js"></script>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<meta name="author" content="Stefan Pichel">
|
<meta name="author" content="Stefan Pichel">
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.33">
|
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.1">
|
||||||
|
|
||||||
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
|
<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/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" />
|
<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-1.11.3.min.js"></script>
|
||||||
<script src="php/3rdparty/jquery.mobile-1.4.5.min.js"></script>
|
<script src="php/3rdparty/jquery.mobile-1.4.5.min.js"></script>
|
||||||
<script src="utilities.js?v=1.5.33"></script>
|
<script src="utilities.js?v=1.6.1"></script>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
|
|
@ -7,16 +7,16 @@
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<meta name="author" content="Stefan Pichel">
|
<meta name="author" content="Stefan Pichel">
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.33">
|
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.1">
|
||||||
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
|
<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/orderstyle/jquery.mobile.icons.min.css" />
|
||||||
|
|
||||||
<link rel="stylesheet" href="php/3rdparty/jquery.mobile-1.4.0.min.css" type="text/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-2.0.3.min.js"></script>
|
||||||
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
|
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
|
||||||
<script src="utilities.js?v=1.5.33"></script>
|
<script src="utilities.js?v=1.6.1"></script>
|
||||||
<script src="elements/product.js?v=1.5.33"></script>
|
<script src="elements/product.js?v=1.6.1"></script>
|
||||||
<script src="elements/extra.js?v=1.5.33"></script>
|
<script src="elements/extra.js?v=1.6.1"></script>
|
||||||
<link href="php/3rdparty/hayageek_uploadfile.css" rel="stylesheet">
|
<link href="php/3rdparty/hayageek_uploadfile.css" rel="stylesheet">
|
||||||
<script src="php/3rdparty/hayageek_jquery_uploadfile.js"></script>
|
<script src="php/3rdparty/hayageek_jquery_uploadfile.js"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<meta name="author" content="Stefan Pichel">
|
<meta name="author" content="Stefan Pichel">
|
||||||
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.33">
|
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.1">
|
||||||
|
|
||||||
<link rel="stylesheet" href="css/ospage.css" />
|
<link rel="stylesheet" href="css/ospage.css" />
|
||||||
<link rel="stylesheet" href="css/tablepanel.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/jquery-2.2.4.min.js"></script>
|
||||||
<script src="php/3rdparty/jqueryui1-12-0/jquery-ui.min.js"></script>
|
<script src="php/3rdparty/jqueryui1-12-0/jquery-ui.min.js"></script>
|
||||||
|
|
||||||
<script src="utilities.js?v=1.5.33"></script>
|
<script src="utilities.js?v=1.6.1"></script>
|
||||||
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
|
@ -7,14 +7,14 @@
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<meta name="author" content="Stefan Pichel">
|
<meta name="author" content="Stefan Pichel">
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.33">
|
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.1">
|
||||||
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
|
<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/orderstyle/jquery.mobile.icons.min.css" />
|
||||||
|
|
||||||
<link rel="stylesheet" href="php/3rdparty/jquery.mobile-1.4.0.min.css" type="text/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-2.0.3.min.js"></script>
|
||||||
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
|
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
|
||||||
<script src="utilities.js?v=1.5.33"></script>
|
<script src="utilities.js?v=1.6.1"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
|
|
@ -7,14 +7,14 @@
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<meta name="author" content="Stefan Pichel">
|
<meta name="author" content="Stefan Pichel">
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.33">
|
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.1">
|
||||||
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
|
<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/orderstyle/jquery.mobile.icons.min.css" />
|
||||||
|
|
||||||
<link rel="stylesheet" href="php/3rdparty/jquery.mobile-1.4.0.min.css" type="text/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-2.0.3.min.js"></script>
|
||||||
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
|
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
|
||||||
<script src="utilities.js?v=1.5.33"></script>
|
<script src="utilities.js?v=1.6.1"></script>
|
||||||
<script src="elements/rating.js"></script>
|
<script src="elements/rating.js"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
@ -51,9 +51,9 @@ var REP_THIS_MONTH_TXT = ["Diese Übersicht umfasst alle Einnahmen dieses Monats
|
||||||
var REP_LAST_MONTH_TXT = ["Diese Übersicht umfasst Einnahmen des letzten Monats.",
|
var REP_LAST_MONTH_TXT = ["Diese Übersicht umfasst Einnahmen des letzten Monats.",
|
||||||
"This overview shows all revenues of the last month.",
|
"This overview shows all revenues of the last month.",
|
||||||
"Este parte muestra todo el cobro del mes pasado."];
|
"Este parte muestra todo el cobro del mes pasado."];
|
||||||
var REP_PROD_LAST30_TXT = ["Diese Übersicht zeigt die Einnahmen, die mit den in den letzten 30 Tagen verkauften Produkten erzielt wurden.",
|
var REP_PROD_LAST30_TXT = ["Diese Übersicht zeigt die Einnahmen, die mit den in den letzten Tagen verkauften Produkten erzielt wurden.",
|
||||||
"This overview displays the revenue that could be achieved with all sold products in the last 30 days.",
|
"This overview displays the revenue that could be achieved with all sold products in the last days.",
|
||||||
"Este parte muestra el cobro con el productos vendido en los últimos 30 días."];
|
"Este parte muestra el cobro con el productos vendido en los últimos días."];
|
||||||
var REP_NO_DATA = ["Es liegen keine Daten vor.", "There is no data.", "No hay ningún datos."];
|
var REP_NO_DATA = ["Es liegen keine Daten vor.", "There is no data.", "No hay ningún datos."];
|
||||||
var REP_PRODREP = ["Produktstatistik","Product report","Estadistica de productos"];
|
var REP_PRODREP = ["Produktstatistik","Product report","Estadistica de productos"];
|
||||||
var REP_TITLE = ["Statistik","Statistics","Estadisticas"];
|
var REP_TITLE = ["Statistik","Statistics","Estadisticas"];
|
||||||
|
@ -76,6 +76,7 @@ var REP_RECORD_ACTION = [
|
||||||
["Tischwechsel Produktbuchung","Received moved products","Recibo productos de otra mesa"]
|
["Tischwechsel Produktbuchung","Received moved products","Recibo productos de otra mesa"]
|
||||||
];
|
];
|
||||||
var REP_NO_ENTRIES = ["Keine Einträge","No entries","Ningún data"];
|
var REP_NO_ENTRIES = ["Keine Einträge","No entries","Ningún data"];
|
||||||
|
var REP_PRODSLIDER_LABEL = ["Seit wievielen Tagen","Since how many days","Desce hace cuantos dias"];
|
||||||
|
|
||||||
var lang = 0;
|
var lang = 0;
|
||||||
var allorders = [];
|
var allorders = [];
|
||||||
|
@ -193,6 +194,27 @@ function setLanguage(language) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getProdsSlider() {
|
||||||
|
var txt = '<div id="prodsliderarea">';
|
||||||
|
txt += '<label for="prodsslider" id="prodssliderlabel"><span id="prodssliderlabeltxt">' + REP_PRODSLIDER_LABEL[lang] + '</span>:</label>';
|
||||||
|
txt += '<input type="range" name="prodsslider" id="prodsslider" value="30" min="1" max="731" data-theme="b" data-track-theme="e" /><br>';
|
||||||
|
txt += '</div><p />';
|
||||||
|
return txt;
|
||||||
|
}
|
||||||
|
|
||||||
|
function bindProdsSlider() {
|
||||||
|
$("#prodsslider").off("slidestop").on("slidestop", function (e) {
|
||||||
|
e.stopImmediatePropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
requestNewProdStat();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function requestNewProdStat() {
|
||||||
|
var days = $("#prodsslider").val();
|
||||||
|
$("#content_prods_section .divaroundtable").html('<img id="progressimginprodsstattable" src="php/3rdparty/images/ajax-loader.gif" />');
|
||||||
|
doAjax("GET", "php/contenthandler.php?module=reports&command=getProds&days=" + days, null, updateProdsStat, "Fehler keine Daten für Produktverkäufe",true);
|
||||||
|
}
|
||||||
function fillUsersums(answer) {
|
function fillUsersums(answer) {
|
||||||
if (answer.status == "OK") {
|
if (answer.status == "OK") {
|
||||||
var htmlTable = createTableWithData(answer.msg,REP_USER[lang],"center",15,10,75);
|
var htmlTable = createTableWithData(answer.msg,REP_USER[lang],"center",15,10,75);
|
||||||
|
@ -230,10 +252,18 @@ function setLanguage(language) {
|
||||||
function fillProds(answer) {
|
function fillProds(answer) {
|
||||||
if (answer.status == "OK") {
|
if (answer.status == "OK") {
|
||||||
var htmlTable = createTableWithData(answer.msg,REP_PROD[lang],"left",30,10,60);
|
var htmlTable = createTableWithData(answer.msg,REP_PROD[lang],"left",30,10,60);
|
||||||
$("#content_prods_section").html(htmlTable);
|
var prodsSlider = getProdsSlider();
|
||||||
|
$("#content_prods_section").html(prodsSlider + htmlTable);
|
||||||
|
$("#prodsliderarea").trigger("create");
|
||||||
|
bindProdsSlider();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function updateProdsStat(answer) {
|
||||||
|
if (answer.status == "OK") {
|
||||||
|
var htmlTable = createTableWithData(answer.msg,REP_PROD[lang],"left",30,10,60);
|
||||||
|
$("#content_prods_section .divaroundtable").html(htmlTable);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function fillRatings(answer) {
|
function fillRatings(answer) {
|
||||||
if (answer.status == "OK") {
|
if (answer.status == "OK") {
|
||||||
var htmlPart = createRatingsPartCore(answer.msg,REP_DAY[lang],10,10,40,40);
|
var htmlPart = createRatingsPartCore(answer.msg,REP_DAY[lang],10,10,40,40);
|
||||||
|
@ -459,10 +489,11 @@ function setLanguage(language) {
|
||||||
|
|
||||||
function createTableWithData(values,iterObjName,iterAlignment,width1,width2,width3) {
|
function createTableWithData(values,iterObjName,iterAlignment,width1,width2,width3) {
|
||||||
var maxValue = values.max;
|
var maxValue = values.max;
|
||||||
var content = REP_NO_DATA[lang];
|
var content = "<div class='divaroundtable'>" + REP_NO_DATA[lang] + "</div>";
|
||||||
if (maxValue != 0.0) {
|
if (maxValue != 0.0) {
|
||||||
|
|
||||||
var content = "<table width=100% class='reporttable'>";
|
var content = "<div class='divaroundtable'>";
|
||||||
|
content += "<table width=100% class='reporttable'>";
|
||||||
content += aTableHeader(iterObjName,REP_SUM[lang],"Graph",width1,width2,width3);
|
content += aTableHeader(iterObjName,REP_SUM[lang],"Graph",width1,width2,width3);
|
||||||
var contentValues = values.content;
|
var contentValues = values.content;
|
||||||
|
|
||||||
|
@ -475,7 +506,7 @@ function setLanguage(language) {
|
||||||
width1,width2,width3);
|
width1,width2,width3);
|
||||||
});
|
});
|
||||||
|
|
||||||
content += "</table>";
|
content += "</table></div>";
|
||||||
}
|
}
|
||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<meta name="author" content="Stefan Pichel">
|
<meta name="author" content="Stefan Pichel">
|
||||||
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.33">
|
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.1">
|
||||||
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
|
<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/orderstyle/jquery.mobile.icons.min.css" />
|
||||||
|
|
||||||
|
@ -13,8 +13,9 @@
|
||||||
<script src="php/3rdparty/jquery-1.11.3.min.js"></script>
|
<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="php/3rdparty/jquery.mobile-1.4.5.min.js"></script>
|
||||||
<script src="elements/tablemap.js"></script>
|
<script src="elements/tablemap.js"></script>
|
||||||
|
<script src="elements/reservation.js?v=1.6.1"></script>
|
||||||
|
|
||||||
<script src="utilities.js?v=1.5.33"></script>
|
<script src="utilities.js?v=1.6.1"></script>
|
||||||
|
|
||||||
<link rel="stylesheet" href="php/3rdparty/jqueryui1-11-4/jquery-ui.min.css" />
|
<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.min.js"></script>
|
||||||
|
@ -29,6 +30,11 @@
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
|
@media print
|
||||||
|
{
|
||||||
|
#thefooter,#theheader,#modulemenu,#newresbox,#printsummary,#timeperiodsliderform {display: none;}
|
||||||
|
}
|
||||||
|
|
||||||
.schbtn,.schtablebtn {
|
.schbtn,.schtablebtn {
|
||||||
font-size: 9px;
|
font-size: 9px;
|
||||||
width: 170px;
|
width: 170px;
|
||||||
|
@ -57,19 +63,27 @@ var RES_DATE = ["Datum","Date","Fecha"];
|
||||||
var RES_NEW = ["Neue Reservierung","New Reservation","Reserva nueva"];
|
var RES_NEW = ["Neue Reservierung","New Reservation","Reserva nueva"];
|
||||||
var RES_STARTTIME = ["Start-Uhrzeit","Start time","Hora de Empieza"];
|
var RES_STARTTIME = ["Start-Uhrzeit","Start time","Hora de Empieza"];
|
||||||
var RES_NO_PERSONS = ["Anzahl Gäste","Number of persons","Personas"];
|
var RES_NO_PERSONS = ["Anzahl Gäste","Number of persons","Personas"];
|
||||||
var RES_DURATION = ["Dauer (Stunden)","Duration (hours)","Duración (horas)"];
|
var RES_HOUR = ["Stunde","Hour","Hora"];
|
||||||
|
var RES_MIN = ["Minute","Minute","Minuto"];
|
||||||
|
var RES_DURATION = ["Dauer","Duration","Quanto tiempo"];
|
||||||
|
var RES_DURATION_HOURS = ["Stunden","Hours","Horas"];
|
||||||
|
var RES_DURATION_MINS = ["Minuten","Minutes","Minutos"];
|
||||||
|
var RES_GUEST_INFO_HEADER = ["Gästeinformation","Guest information","Información sobre huespedes"];
|
||||||
var RES_NAME = ["Name","Name","Nombre"];
|
var RES_NAME = ["Name","Name","Nombre"];
|
||||||
var RES_EMAIL = ["E-Mail","Email","Email"];
|
var RES_EMAIL = ["E-Mail","Email","Email"];
|
||||||
var RES_TEL = ["Telefon","Phone","Telefono"];
|
var RES_TEL = ["Telefon","Phone","Telefono"];
|
||||||
var RES_REMARK = ["Notiz","Remark","Comentario"];
|
var RES_REMARK = ["Notiz","Remark","Comentario"];
|
||||||
var RES_NO_NAME = ["Name wurde nicht angegeben!","Name field not filled!","Falta el nombre!"];
|
var RES_NO_NAME = ["Name wurde nicht angegeben!","Name field not filled!","Falta el nombre!"];
|
||||||
|
var RES_NO_PERSONS = ["Anzahl Personen wurde nicht eingetragen","Number of persons not specified","Falta numero de personas"];
|
||||||
|
var RES_INVALID_NUMBER_OF_PERSONS = ["Invalide Angabe der Personenanzahl","Invalid number of guests","Número de huespedes invalido"];
|
||||||
var RES_APPLY = ["Anwenden","Apply","Aplicar"];
|
var RES_APPLY = ["Anwenden","Apply","Aplicar"];
|
||||||
var RES_CANCEL = ["Abbrechen","Cancel","Cancelar"];
|
var RES_CANCEL = ["Abbrechen","Cancel","Cancelar"];
|
||||||
var RES_CHANGE_TITLE = ["Reservierung ändern","Change Reservation","Modificar Reserva"];
|
var RES_CHANGE_TITLE = ["Reservierung ändern","Change Reservation","Modificar Reserva"];
|
||||||
var RES_LASTCREATOR = ["Letzte Änderung von","Last change by","Ultima modificación de"];
|
var RES_LASTCREATOR = ["Letzte Änderung von","Last change by","Ultima modificación de"];
|
||||||
var RES_LASTUPDATE = ["Zuletzt geändert","Last changed","Ultimo cambio"];
|
var RES_LASTUPDATE = ["Zuletzt geändert","Last changed","Ultimo cambio"];
|
||||||
var RES_HOUR = ["Uhrzeit","Time","Hora"];
|
var RES_TIME = ["Uhrzeit","Time","Hora"];
|
||||||
var RES_RES = ["Reservierungen","Reservations","Reservaciones"];
|
var RES_RES = ["Reservierungen","Reservations","Reservaciones"];
|
||||||
|
var RES_TIME_PERIOD = ["Zeitraum","Time frame","Periodo del tiempo"];
|
||||||
var RES_NORES = ["Keine Reservierungen an diesem Tag","No reservations at the selected day","No hay ningúna reserva"];
|
var RES_NORES = ["Keine Reservierungen an diesem Tag","No reservations at the selected day","No hay ningúna reserva"];
|
||||||
var RES_DEL = ["Löschen","Delete","Borrar"];
|
var RES_DEL = ["Löschen","Delete","Borrar"];
|
||||||
var RES_EMAIL_IMPOSSIBLE = ["(Eine Email-Reservierungsbestätigung ist erst nach Konfiguration des Emailsystems möglich.)",
|
var RES_EMAIL_IMPOSSIBLE = ["(Eine Email-Reservierungsbestätigung ist erst nach Konfiguration des Emailsystems möglich.)",
|
||||||
|
@ -85,17 +99,18 @@ var RES_HINT_CUS_CHOOSE = ["Oder manuell eingeben:","or type in manually:","o in
|
||||||
var RES_TABLESPEC = ["Tischangabe","Table","Mesa"];
|
var RES_TABLESPEC = ["Tischangabe","Table","Mesa"];
|
||||||
var RES_ROOM = ["Raum","Room","Habitación"];
|
var RES_ROOM = ["Raum","Room","Habitación"];
|
||||||
var RES_TABLE = ["Tisch","Table","Mesa"];
|
var RES_TABLE = ["Tisch","Table","Mesa"];
|
||||||
var RES_BY_TIMES = ["Reservierungen nach Uhrzeit","Reservations sorted by times","Reservaciones ordenado por tiempos"];
|
|
||||||
var RES_BY_TABLES = ["Reservierungen nach Tisch","Reservations sorted by table","Reservaciones ordenado por mesa"];
|
|
||||||
var RES_HTMLREPORT = ["Übersicht","Overview","Lista en html"];
|
var RES_HTMLREPORT = ["Übersicht","Overview","Lista en html"];
|
||||||
|
var RES_CREATED_OK = ["Reservierung angelegt","Reservation created","Reservación creado"];
|
||||||
|
|
||||||
var lang = (-1);
|
var lang = (-1);
|
||||||
var reservationnote = "";
|
var reservationnote = "";
|
||||||
|
var reservationitem = "";
|
||||||
var companyinfo = "";
|
var companyinfo = "";
|
||||||
var emailIsPossible = false;
|
var emailIsPossible = false;
|
||||||
var emailTemplate = "";
|
var emailTemplate = "";
|
||||||
var filteredCustomers = [];
|
var filteredCustomers = [];
|
||||||
var tableoverview = [];
|
var tableoverview = [];
|
||||||
|
var resofselecteddate = [];
|
||||||
|
|
||||||
function setLanguage(language) {
|
function setLanguage(language) {
|
||||||
lang = language;
|
lang = language;
|
||||||
|
@ -105,20 +120,30 @@ function setLanguage(language) {
|
||||||
$("#newtxt").html(RES_NEW[lang]);
|
$("#newtxt").html(RES_NEW[lang]);
|
||||||
$("#newresboxtxt").html(RES_NEW[lang]);
|
$("#newresboxtxt").html(RES_NEW[lang]);
|
||||||
$("#starttimetxt").html(RES_STARTTIME[lang]);
|
$("#starttimetxt").html(RES_STARTTIME[lang]);
|
||||||
|
$("#datehourtxt").html(RES_HOUR[lang]);
|
||||||
|
$("#datemintxt").html(RES_MIN[lang]);
|
||||||
|
$("#guestheadertxt").html(RES_GUEST_INFO_HEADER[lang]);
|
||||||
$("#personstxt").html(RES_NO_PERSONS[lang]);
|
$("#personstxt").html(RES_NO_PERSONS[lang]);
|
||||||
$("#durationtxt").html(RES_DURATION[lang]);
|
$("#durationheadertxt").html(RES_DURATION[lang]);
|
||||||
|
$("#durationhourtxt").html(RES_DURATION_HOURS[lang]);
|
||||||
|
$("#durationmintxt").html(RES_DURATION_MINS[lang]);
|
||||||
$("#nametxt").html(RES_NAME[lang]);
|
$("#nametxt").html(RES_NAME[lang]);
|
||||||
$("#customertxt").html(RES_CUS_LABEL[lang]);
|
$("#customertxt").html(RES_CUS_LABEL[lang]);
|
||||||
$("#emailtxt").html(RES_EMAIL[lang]);
|
$("#emailtxt").html(RES_EMAIL[lang]);
|
||||||
$("#teltxt").html(RES_TEL[lang]);
|
$("#teltxt").html(RES_TEL[lang]);
|
||||||
$("#remarktxt").html(RES_REMARK[lang]);
|
$("#remarktxt").html(RES_REMARK[lang]);
|
||||||
|
|
||||||
|
$("#cdurationheadertxt").html(RES_DURATION[lang]);
|
||||||
|
$("#cdurationhourtxt").html(RES_DURATION_HOURS[lang]);
|
||||||
|
$("#cdurationmintxt").html(RES_DURATION_MINS[lang]);
|
||||||
|
$("#cguestheadertxt").html(RES_GUEST_INFO_HEADER[lang]);
|
||||||
$("#cnewresboxtxt").html(RES_CHANGE_TITLE[lang]);
|
$("#cnewresboxtxt").html(RES_CHANGE_TITLE[lang]);
|
||||||
$("#reschangetitletxt").html(RES_CHANGE_TITLE[lang]);
|
$("#reschangetitletxt").html(RES_CHANGE_TITLE[lang]);
|
||||||
$("#cdatetxt").html(RES_DATE[lang]);
|
$("#cdatetxt").html(RES_DATE[lang]);
|
||||||
$("#cstarttimetxt").html(RES_STARTTIME[lang]);
|
$("#cstarttimetxt").html(RES_STARTTIME[lang]);
|
||||||
|
$("#cstarttimehourtxt").html(RES_HOUR[lang]);
|
||||||
$("#cpersonstxt").html(RES_NO_PERSONS[lang]);
|
$("#cpersonstxt").html(RES_NO_PERSONS[lang]);
|
||||||
$("#cdurationtxt").html(RES_DURATION[lang]);
|
$("#cdurationtxt").html(RES_DURATION_HOURS[lang]);
|
||||||
$("#cnametxt").html(RES_NAME[lang]);
|
$("#cnametxt").html(RES_NAME[lang]);
|
||||||
$("#cemailtxt").html(RES_EMAIL[lang]);
|
$("#cemailtxt").html(RES_EMAIL[lang]);
|
||||||
$("#cteltxt").html(RES_TEL[lang]);
|
$("#cteltxt").html(RES_TEL[lang]);
|
||||||
|
@ -136,8 +161,9 @@ function setLanguage(language) {
|
||||||
$("#sendemailtotxt").html(RES_TO[lang]);
|
$("#sendemailtotxt").html(RES_TO[lang]);
|
||||||
|
|
||||||
$("#reshintchoosecustomer").html(RES_HINT_CUS_CHOOSE[lang]);
|
$("#reshintchoosecustomer").html(RES_HINT_CUS_CHOOSE[lang]);
|
||||||
$("#resbytimesheadertxt").html(RES_BY_TIMES[lang]);
|
$("#resbytimesofdaytxt").html(RES_RES[lang]);
|
||||||
$("#resbytablesheadertxt").html(RES_BY_TABLES[lang]);
|
|
||||||
|
$(".timeperiodslider").html(RES_TIME_PERIOD[lang]);
|
||||||
|
|
||||||
var langtxt = "de";
|
var langtxt = "de";
|
||||||
if (lang == 1) {
|
if (lang == 1) {
|
||||||
|
@ -174,6 +200,7 @@ function insertGenConfigStartRest(configResult) {
|
||||||
if (configResult.status == "OK") {
|
if (configResult.status == "OK") {
|
||||||
var values = configResult.msg;
|
var values = configResult.msg;
|
||||||
reservationnote = values.reservationnote;
|
reservationnote = values.reservationnote;
|
||||||
|
reservationitem = values.reservationitem;
|
||||||
companyinfo = values.companyinfo;
|
companyinfo = values.companyinfo;
|
||||||
setLanguage(values.userlanguage);
|
setLanguage(values.userlanguage);
|
||||||
if (values.email != "") {
|
if (values.email != "") {
|
||||||
|
@ -195,6 +222,9 @@ function handleDateChangeEvents() {
|
||||||
$("#res-page").data("date",date);
|
$("#res-page").data("date",date);
|
||||||
displayTodaySchedule(date);
|
displayTodaySchedule(date);
|
||||||
});
|
});
|
||||||
|
$("#cdatepicker").off("change").on("change", function (e) {
|
||||||
|
var date = $("#cdatepicker").datepicker("getDate");
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function displayTodaySchedule(date) {
|
function displayTodaySchedule(date) {
|
||||||
|
@ -224,7 +254,7 @@ function displaySpecificDateSchedule() {
|
||||||
var year = dateParts[0];
|
var year = dateParts[0];
|
||||||
var month = dateParts[1];
|
var month = dateParts[1];
|
||||||
var day = dateParts[2];
|
var day = dateParts[2];
|
||||||
data = {
|
var data = {
|
||||||
day: day,
|
day: day,
|
||||||
month: month,
|
month: month,
|
||||||
year: year
|
year: year
|
||||||
|
@ -246,10 +276,12 @@ function bindNewReservationBtn() {
|
||||||
$("#newbtn").off("click").on("click", function (e) {
|
$("#newbtn").off("click").on("click", function (e) {
|
||||||
var date = $("#datepicker").datepicker("getDate");
|
var date = $("#datepicker").datepicker("getDate");
|
||||||
|
|
||||||
var startTime = $("#timefieldse").val();
|
var startTimeHour = $("#timefieldse").val();
|
||||||
|
var startTimeMin = $("#timefieldmin").val();
|
||||||
var name = ($("#guestname").val()).trim();
|
var name = ($("#guestname").val()).trim();
|
||||||
var email = ($("#email").val()).trim();
|
var email = ($("#email").val()).trim();
|
||||||
var duration = $("#durationse").val();
|
var durationhours = $("#durationse").val();
|
||||||
|
var durationmins = $("#durationmin").val();
|
||||||
var persons = $("#noofguestse").val();
|
var persons = $("#noofguestse").val();
|
||||||
var phone = $("#telno").val();
|
var phone = $("#telno").val();
|
||||||
var remark = $("#remark").val();
|
var remark = $("#remark").val();
|
||||||
|
@ -272,15 +304,21 @@ function bindNewReservationBtn() {
|
||||||
|
|
||||||
if (name.length == 0) {
|
if (name.length == 0) {
|
||||||
alert(RES_NO_NAME[lang]);
|
alert(RES_NO_NAME[lang]);
|
||||||
|
} else if (persons == "") {
|
||||||
|
alert(RES_NO_PERSONS[lang]);
|
||||||
|
} else if (!isInt(persons)) {
|
||||||
|
alert(RES_INVALID_NUMBER_OF_PERSONS[lang]);
|
||||||
} else {
|
} else {
|
||||||
var data = {
|
var data = {
|
||||||
day: date.getDate(),
|
day: date.getDate(),
|
||||||
month: (date.getMonth() + 1),
|
month: (date.getMonth() + 1),
|
||||||
year: date.getFullYear(),
|
year: date.getFullYear(),
|
||||||
start: startTime,
|
starthour: startTimeHour,
|
||||||
|
startmin: startTimeMin,
|
||||||
name: name,
|
name: name,
|
||||||
email: email,
|
email: email,
|
||||||
duration: duration,
|
durationhours: durationhours,
|
||||||
|
durationmins: durationmins,
|
||||||
persons: persons,
|
persons: persons,
|
||||||
phone: phone,
|
phone: phone,
|
||||||
remark: remark,
|
remark: remark,
|
||||||
|
@ -290,7 +328,7 @@ function bindNewReservationBtn() {
|
||||||
var emailtext = emailTemplate;
|
var emailtext = emailTemplate;
|
||||||
emailtext = emailtext.replace(/DATUM/g,date.getDate() + "." + (date.getMonth() + 1) + "." + date.getFullYear());
|
emailtext = emailtext.replace(/DATUM/g,date.getDate() + "." + (date.getMonth() + 1) + "." + date.getFullYear());
|
||||||
emailtext = emailtext.replace(/ANZAHL/g,persons);
|
emailtext = emailtext.replace(/ANZAHL/g,persons);
|
||||||
emailtext = emailtext.replace(/ZEIT/g,startTime);
|
emailtext = emailtext.replace(/ZEIT/g,startTimeHour + ":" + startTimeMin);
|
||||||
emailtext = emailtext.replace(/BETRIEBSINFO/g,companyinfo);
|
emailtext = emailtext.replace(/BETRIEBSINFO/g,companyinfo);
|
||||||
$("#emailfield").val(emailtext);
|
$("#emailfield").val(emailtext);
|
||||||
$("#emailtofield").val(email);
|
$("#emailtofield").val(email);
|
||||||
|
@ -310,22 +348,22 @@ function handleCreateNewReservation(answer) {
|
||||||
$.mobile.changePage("#sentemail-page");
|
$.mobile.changePage("#sentemail-page");
|
||||||
} else {
|
} else {
|
||||||
resetFields();
|
resetFields();
|
||||||
|
alert(RES_CREATED_OK[lang]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$("#cancelemailsentbtn").off("click").on("click", function (e) {
|
$("#cancelemailsentbtn").off("click").on("click", function (e) {
|
||||||
e.stopImmediatePropagation();
|
e.stopImmediatePropagation();
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
resetFields();
|
resetFields();
|
||||||
$.mobile.changePage("#res-page");
|
$.mobile.changePage("#res-page");
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#sendemailbtn").off("click").on("click", function (e) {
|
$("#sendemailbtn").off("click").on("click", function (e) {
|
||||||
e.stopImmediatePropagation();
|
e.stopImmediatePropagation();
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
resetFields();
|
resetFields();
|
||||||
var data = {
|
var data = {
|
||||||
to: $("#emailtofield").val(),
|
to: $("#emailtofield").val(),
|
||||||
msg: $("#emailfield").val()
|
msg: $("#emailfield").val()
|
||||||
};
|
};
|
||||||
doAjax("POST","php/contenthandler.php?module=reservation&command=emailConfirmReservation",data,handleEmailSendResult,"Emailbestätigung");
|
doAjax("POST","php/contenthandler.php?module=reservation&command=emailConfirmReservation",data,handleEmailSendResult,"Emailbestätigung");
|
||||||
|
@ -347,10 +385,14 @@ function handleEmailSendResult(result) {
|
||||||
function resetFields() {
|
function resetFields() {
|
||||||
$("#guestname").val("");
|
$("#guestname").val("");
|
||||||
$("#email").val("");
|
$("#email").val("");
|
||||||
|
$("#timefieldmin").val(0);
|
||||||
|
$("#timefieldmin").selectmenu().selectmenu('refresh', true);
|
||||||
$("#durationse").val(2);
|
$("#durationse").val(2);
|
||||||
$("#durationse").selectmenu('refresh', true);
|
$("#durationse").selectmenu().selectmenu('refresh', true);
|
||||||
$("#noofguestse").val(2);
|
$("#noofguestse").val("");
|
||||||
$("#noofguestse").selectmenu('refresh', true);
|
$("#durationmin").val(0);
|
||||||
|
$("#durationmin").selectmenu().selectmenu('refresh', true);
|
||||||
|
|
||||||
$("#telno").val("");
|
$("#telno").val("");
|
||||||
$("#remark").val("");
|
$("#remark").val("");
|
||||||
|
|
||||||
|
@ -385,119 +427,30 @@ function getTableName(roomid,tableid) {
|
||||||
return tablename;
|
return tablename;
|
||||||
}
|
}
|
||||||
|
|
||||||
function createTableOfReservationsByTime(res) {
|
|
||||||
var number = res.length;
|
|
||||||
|
|
||||||
var times = [];
|
function updateTableOfReservationsByTables(reservations) {
|
||||||
var hour = 0;
|
var date = $('#datepicker').datepicker({ dateFormat: 'dd-mm-yy' }).val();
|
||||||
var residx = 0;
|
$("#dateofreservations").html(date);
|
||||||
for (hour=0;hour<24;hour++) {
|
var restable = new ReservationsTable();
|
||||||
var resofhour = [];
|
|
||||||
times[hour] = resofhour;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
var startDisplayHour = $("#range-starthour").val();
|
||||||
|
var endDisplayHour = $("#range-endhour").val();
|
||||||
|
|
||||||
var maxCol = 0;
|
var tableHtml = restable.layoutTable(startDisplayHour,endDisplayHour,reservations,reservationitem);
|
||||||
var hasTotalRes = false;
|
$("#restablearea").html(tableHtml);
|
||||||
|
|
||||||
var resindex = 0;
|
|
||||||
var h=0;
|
|
||||||
for (resindex = 0; resindex < number; resindex++) {
|
|
||||||
hasTotalRes = true;
|
|
||||||
var aRes = res[resindex];
|
|
||||||
var start = parseInt(aRes.start);
|
|
||||||
var end = Math.min(23, start + parseInt(aRes.duration) - 1);
|
|
||||||
|
|
||||||
var colToFill = fitsInCol(times,maxCol,start,end);
|
|
||||||
|
|
||||||
for (h=start;h<=end;h++) {
|
|
||||||
times[h][colToFill] = resindex;
|
|
||||||
}
|
|
||||||
if (maxCol < colToFill) {
|
|
||||||
maxCol = colToFill;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (!hasTotalRes) {
|
|
||||||
html += "<tr><td> <td><b>" + RES_NORES[lang] + "</b></tr>";
|
|
||||||
} else {
|
|
||||||
var html = "<tr><td>" + RES_HOUR[lang] + "<td>" + RES_RES[lang] + "</tr>";
|
|
||||||
for (h=0;h<=23;h++) {
|
|
||||||
var hasRes = false;
|
|
||||||
var col=0;
|
|
||||||
var dayTxt = '<tr>' + aTimeField(h);
|
|
||||||
var aResLine = times[h];
|
|
||||||
for (col=0;col<=maxCol;col++) {
|
|
||||||
var residx = aResLine[col];
|
|
||||||
if (residx != null) {
|
|
||||||
var roomid = res[residx].roomid;
|
|
||||||
var tableid = res[residx].tableid;
|
|
||||||
var tablename = getTableName(roomid,tableid);
|
|
||||||
|
|
||||||
dayTxt += aButtonField(residx,res[residx].persons,res[residx].guest,tablename);
|
|
||||||
hasRes = true;
|
|
||||||
} else {
|
|
||||||
dayTxt += "<td> ";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
dayTxt += "</tr>";
|
|
||||||
if (hasRes) {
|
|
||||||
html += dayTxt;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$("#dayschedule").html(html);
|
|
||||||
if (hasTotalRes) {
|
|
||||||
var htmlReportBtn = '<p><button id="htmlreportbtn" data-theme="f">' + RES_HTMLREPORT[lang] + '</button>';
|
|
||||||
$("#reshtmlarea").html(htmlReportBtn);
|
|
||||||
} else {
|
|
||||||
$("#reshtmlarea").html("");
|
|
||||||
}
|
|
||||||
$("#resbytimes").trigger("create");
|
|
||||||
|
|
||||||
bindHourButton();
|
|
||||||
bindCustomerField();
|
|
||||||
bindChangeButton();
|
|
||||||
bindHtmlReportButton();
|
|
||||||
}
|
}
|
||||||
|
function getResWithId(id) {
|
||||||
function createTableOfReservationsByTables(res) {
|
for (var i=0;i<resofselecteddate.length;i++) {
|
||||||
var number = res.length;
|
var allReservationsOfATable = resofselecteddate[i].reservations;
|
||||||
|
for (var j=0;j<allReservationsOfATable.length;j++) {
|
||||||
var html = "";
|
var aRes = allReservationsOfATable[j];
|
||||||
if (number == 0) {
|
if (aRes.id == id) {
|
||||||
html += "<tr><td> <td><b>" + RES_NORES[lang] + "</b></tr>";
|
return aRes;
|
||||||
} else {
|
|
||||||
html += "<tr><td>" + RES_TABLE[lang] + "<td>" + RES_RES[lang] + "</tr>";
|
|
||||||
for (var i=0;i<number;i++) {
|
|
||||||
var aRes = res[i];
|
|
||||||
var roomid = aRes.roomid;
|
|
||||||
var tableid = aRes.tableid;
|
|
||||||
var tablename = "?";
|
|
||||||
if (tableid >= 0) {
|
|
||||||
tablename = getTableName(roomid,tableid);
|
|
||||||
}
|
}
|
||||||
html += '<tr>' + aTableField(tablename);
|
|
||||||
var reservations = aRes.reservations;
|
|
||||||
for (var col=0;col<=reservations.length;col++) {
|
|
||||||
var aRes = reservations[col];
|
|
||||||
if (aRes != null) {
|
|
||||||
var starttime = aRes.start;
|
|
||||||
var endhour = aRes.endhour;
|
|
||||||
var period = starttime + ":00-" + endhour + ":00";
|
|
||||||
|
|
||||||
html += aResFieldForTableSort(aRes.id,aRes.persons,aRes.guest,period);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
html += "</tr>";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return null;
|
||||||
$("#tableschedule").html(html);
|
|
||||||
$("#tableschedule").trigger("create");
|
|
||||||
bindChangeResByTableButton();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function insertReservations(answer) {
|
function insertReservations(answer) {
|
||||||
|
@ -507,59 +460,37 @@ function insertReservations(answer) {
|
||||||
} else {
|
} else {
|
||||||
tableoverview = answer.tableoverview;
|
tableoverview = answer.tableoverview;
|
||||||
fillRoomList("tablespecinforoomarea","roomselect","tablespecinfotablearea","tableselect",null,null);
|
fillRoomList("tablespecinforoomarea","roomselect","tablespecinfotablearea","tableselect",null,null);
|
||||||
var res = answer.msg.bytimes;
|
//var res = answer.msg.bytimes;
|
||||||
$("#res-page").data("res",res);
|
//$("#res-page").data("res",res);
|
||||||
var resbytables = answer.msg.bytables;
|
var resbytables = answer.msg.bytables;
|
||||||
|
resofselecteddate = resbytables;
|
||||||
$("#res-page").data("resbytables",resbytables);
|
$("#res-page").data("resbytables",resbytables);
|
||||||
|
|
||||||
createTableOfReservationsByTime(res);
|
updateTableOfReservationsByTables(resbytables);
|
||||||
createTableOfReservationsByTables(resbytables);
|
bindTimeRangeSliders();
|
||||||
|
bindPrintBtn();
|
||||||
|
bindClickResItem();
|
||||||
|
bindCustomerField();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function fitsInCol(times,maxCol,start,end) {
|
function bindPrintBtn() {
|
||||||
var col = 0;
|
$("#printsummary").off("click").on("click", function (e) {
|
||||||
for (col=0;col<=(maxCol+1);col++) {
|
e.stopImmediatePropagation();
|
||||||
var h = 0;
|
e.preventDefault();
|
||||||
var fits = true;
|
window.print();
|
||||||
for (h=start;h<=end;h++) {
|
});
|
||||||
var entry = times[h][col];
|
|
||||||
if (entry != null) {
|
|
||||||
fits = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (fits) {
|
|
||||||
return col;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return maxCol+1;
|
|
||||||
}
|
}
|
||||||
|
function bindTimeRangeSliders() {
|
||||||
function aTableField(tableid) {
|
$("#range-starthour").off("slidestop").on("slidestop", function (e) {
|
||||||
return '<td><button data-theme="a" class="timeschbtn">' + tableid + '</button>';
|
e.stopImmediatePropagation();
|
||||||
}
|
e.preventDefault();
|
||||||
function aResFieldForTableSort(resid,persons,name,timeperiod) {
|
displayTodaySchedule($("#res-page").data("date"));
|
||||||
var txt = timeperiod + "<br>" + toHtml(name) + " - " + toHtml(persons) + " Pers.";
|
});
|
||||||
return '<td style="width:110px;"><button data-theme="e" class="schtablebtn" style="width:120px;height:50px;" id="residbytable_'+ resid + '">' + txt + '</button>';
|
$("#range-endhour").off("slidestop").on("slidestop", function (e) {
|
||||||
}
|
e.stopImmediatePropagation();
|
||||||
function aTimeField(theVal) {
|
e.preventDefault();
|
||||||
var nextHour = parseInt(theVal) + 1;
|
displayTodaySchedule($("#res-page").data("date"));
|
||||||
return '<td><button data-theme="a" class="timeschbtn">' + theVal + ' - ' + nextHour + '</button>';
|
|
||||||
}
|
|
||||||
|
|
||||||
function aButtonField(theVal,persons,name,tablename) {
|
|
||||||
var txt = toHtml(name) + " - " + toHtml(persons) + " Pers.";
|
|
||||||
if (tablename != '') {
|
|
||||||
txt += "<br>Tisch: " + tablename;
|
|
||||||
}
|
|
||||||
return '<td style="width:110px;"><button data-theme="e" class="schbtn" style="width:120px;height:50px;" id="resid_'+ theVal + '">' + txt + '</button>';
|
|
||||||
}
|
|
||||||
|
|
||||||
function bindHourButton() {
|
|
||||||
$(".timeschbtn").off("click").on("click", function (e) {
|
|
||||||
var startTime = (($(this).html()).split(" "))[0];
|
|
||||||
$("#timefieldse").val(startTime);
|
|
||||||
$("#timefieldse").selectmenu('refresh', true);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -631,7 +562,7 @@ function bindCancelButtn() {
|
||||||
var year = date.getFullYear();
|
var year = date.getFullYear();
|
||||||
var dateStr = year + "-" + month + "-" + day;
|
var dateStr = year + "-" + month + "-" + day;
|
||||||
|
|
||||||
setTimeout(function(){document.location.href = "reservation.html?v=1.5.33&date=" + dateStr;},500);
|
setTimeout(function(){document.location.href = "reservation.html?v=1.6.1&date=" + dateStr;},500);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -641,8 +572,10 @@ function openEditPageForRes(res) {
|
||||||
var day = res.day;
|
var day = res.day;
|
||||||
var month = parseInt(res.month)-1;
|
var month = parseInt(res.month)-1;
|
||||||
var year = res.year;
|
var year = res.year;
|
||||||
var startTime = res.start;
|
var startHour = res.starthour;
|
||||||
var duration = res.duration;
|
var startMin = res.startmin;
|
||||||
|
var durationhours = res.durationhours;
|
||||||
|
var durationmins = res.durationmins;
|
||||||
var name = res.guest;
|
var name = res.guest;
|
||||||
var email = res.email;
|
var email = res.email;
|
||||||
var noOfGuests = res.persons;
|
var noOfGuests = res.persons;
|
||||||
|
@ -657,10 +590,13 @@ function openEditPageForRes(res) {
|
||||||
var changeDate = new Date(year, month, day, 0,0,0,0);
|
var changeDate = new Date(year, month, day, 0,0,0,0);
|
||||||
|
|
||||||
$('#cdatepicker').datepicker('setDate', changeDate);
|
$('#cdatepicker').datepicker('setDate', changeDate);
|
||||||
|
handleDateChangeEvents();
|
||||||
|
|
||||||
$("#ctimefieldse").val(startTime);
|
$("#ctimefieldse").val(startHour);
|
||||||
|
$("#ctimefieldmin").val(startMin);
|
||||||
$("#cnoofguestse").val(noOfGuests);
|
$("#cnoofguestse").val(noOfGuests);
|
||||||
$("#cdurationse").val(duration);
|
$("#cdurationse").val(durationhours);
|
||||||
|
$("#cdurationmin").val(durationmins);
|
||||||
$("#cguestname").val(name);
|
$("#cguestname").val(name);
|
||||||
$("#cemail").val(email);
|
$("#cemail").val(email);
|
||||||
$("#ctelno").val(phone);
|
$("#ctelno").val(phone);
|
||||||
|
@ -675,11 +611,10 @@ function openEditPageForRes(res) {
|
||||||
$.mobile.changePage("#changeres-page");
|
$.mobile.changePage("#changeres-page");
|
||||||
}
|
}
|
||||||
|
|
||||||
function bindChangeButton() {
|
function bindClickResItem() {
|
||||||
$(".schbtn").off("click").on("click", function (e) {
|
$(".resitem").off("click").on("click", function (e) {
|
||||||
var resid = ((this.id).split("_"))[1];
|
var resid = ((this.id).split("_"))[1];
|
||||||
var res = ($("#res-page").data("res"))[resid];
|
openEditPageForRes(getResWithId(resid));
|
||||||
openEditPageForRes(res);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function bindHtmlReportButton() {
|
function bindHtmlReportButton() {
|
||||||
|
@ -716,9 +651,11 @@ function bindDlgChangeBtn() {
|
||||||
$("#changebtn").off("click").on("click", function (e) {
|
$("#changebtn").off("click").on("click", function (e) {
|
||||||
e.stopImmediatePropagation();
|
e.stopImmediatePropagation();
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
var startTime = $("#ctimefieldse").val();
|
var startHour = $("#ctimefieldse").val();
|
||||||
|
var startMin = $("#ctimefieldmin").val();
|
||||||
var persons = $("#cnoofguestse").val();
|
var persons = $("#cnoofguestse").val();
|
||||||
var duration = $("#cdurationse").val();
|
var durationHours = $("#cdurationse").val();
|
||||||
|
var durationMins = $("#cdurationmin").val();
|
||||||
var guestname = $("#cguestname").val();
|
var guestname = $("#cguestname").val();
|
||||||
var email = $("#cemail").val();
|
var email = $("#cemail").val();
|
||||||
var phone = $("#ctelno").val();
|
var phone = $("#ctelno").val();
|
||||||
|
@ -749,10 +686,12 @@ function bindDlgChangeBtn() {
|
||||||
day: date.getDate(),
|
day: date.getDate(),
|
||||||
month: (date.getMonth() + 1),
|
month: (date.getMonth() + 1),
|
||||||
year: date.getFullYear(),
|
year: date.getFullYear(),
|
||||||
start: startTime,
|
starthour: startHour,
|
||||||
|
startmin: startMin,
|
||||||
name: guestname,
|
name: guestname,
|
||||||
email: email,
|
email: email,
|
||||||
duration: duration,
|
durationhours: durationHours,
|
||||||
|
durationmins: durationMins,
|
||||||
persons: persons,
|
persons: persons,
|
||||||
phone: phone,
|
phone: phone,
|
||||||
remark: remark,
|
remark: remark,
|
||||||
|
@ -784,26 +723,37 @@ $(document).on("pageinit", "#res-page", function () {
|
||||||
handleDateChangeEvents();
|
handleDateChangeEvents();
|
||||||
|
|
||||||
displaySpecificDateSchedule();
|
displaySpecificDateSchedule();
|
||||||
|
|
||||||
bindNewReservationBtn();
|
bindNewReservationBtn();
|
||||||
|
|
||||||
bindChangeButton();
|
bindClickResItem();
|
||||||
bindCancelButtn();
|
bindCancelButtn();
|
||||||
|
|
||||||
var currentHour = String(new Date().getHours());
|
var currentHour = String(new Date().getHours());
|
||||||
$("#timefieldse").val(currentHour);
|
$("#timefieldse").val(currentHour);
|
||||||
$("#timefieldse").selectmenu('refresh', true);
|
$("#timefieldse").selectmenu().selectmenu('refresh', true);
|
||||||
|
$("#timefieldmin").val(0);
|
||||||
|
$("#timefieldmin").selectmenu().selectmenu('refresh', true);
|
||||||
|
$("#durationse").val(2);
|
||||||
|
$("#durationse").selectmenu().selectmenu('refresh', true);
|
||||||
|
$("#durationmin").val(0);
|
||||||
|
$("#durationmin").selectmenu().selectmenu('refresh', true);
|
||||||
|
|
||||||
$("#customer").val("");
|
$("#customer").val("");
|
||||||
|
$("#noofguestse").val("");
|
||||||
|
$("#guestname").val("");
|
||||||
|
$("#email").val("");
|
||||||
|
$("#telno").val("");
|
||||||
|
$("#remark").val("");
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).on("pagebeforeshow", "#changeres-page", function () {
|
$(document).on("pagebeforeshow", "#changeres-page", function () {
|
||||||
if (lang < 0) {
|
if (lang < 0) {
|
||||||
setTimeout(function(){document.location.href = "reservation.html?"},500);
|
setTimeout(function(){document.location.href = "reservation.html?"},500);
|
||||||
} else {
|
} else {
|
||||||
$("#ctimefieldse").selectmenu('refresh', true);
|
$("#ctimefieldse").selectmenu().selectmenu('refresh', true);
|
||||||
$("#cnoofguestse").selectmenu('refresh', true);
|
$("#ctimefieldmin").selectmenu().selectmenu('refresh', true);
|
||||||
$("#cdurationse").selectmenu('refresh', true);
|
$("#cdurationse").selectmenu().selectmenu('refresh', true);
|
||||||
|
$("#cdurationmin").selectmenu().selectmenu('refresh', true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -903,77 +853,89 @@ function bindRoomSelect(roomsectionid,roomselectid,tablesectionid,tableselectid,
|
||||||
<h3><span id="newresboxtxt">Neue Reservierung</span></h3>
|
<h3><span id="newresboxtxt">Neue Reservierung</span></h3>
|
||||||
|
|
||||||
<form>
|
<form>
|
||||||
<div data-role="fieldcontain">
|
<span id="starttimetxt" class="headerformat">Start-Uhrzeit</span>:
|
||||||
<label for="timefieldse" class="select" style="width: 200px;"><span id="starttimetxt">Start-Uhrzeit</span>: </label>
|
|
||||||
<select name="timefieldse" id="timefieldse">
|
<div data-role="fieldcontain">
|
||||||
<option value="0">0</option>
|
<label for="timefieldse"><span id=datehourtxt>Stunde</span>: </label>
|
||||||
<option value="1">1</option>
|
<select name="timefieldse" id="timefieldse" data-theme="a">
|
||||||
<option value="2">2</option>
|
<option value="0">0</option>
|
||||||
<option value="3">3</option>
|
<option value="1">1</option>
|
||||||
<option value="4">4</option>
|
<option value="2">2</option>
|
||||||
<option value="5">5</option>
|
<option value="3">3</option>
|
||||||
<option value="6">6</option>
|
<option value="4">4</option>
|
||||||
<option value="7">7</option>
|
<option value="5">5</option>
|
||||||
<option value="8">8</option>
|
<option value="6">6</option>
|
||||||
<option value="9">9</option>
|
<option value="7">7</option>
|
||||||
<option value="10">10</option>
|
<option value="8">8</option>
|
||||||
<option value="11">11</option>
|
<option value="9">9</option>
|
||||||
<option value="12">12</option>
|
<option value="10">10</option>
|
||||||
<option value="13">13</option>
|
<option value="11">11</option>
|
||||||
<option value="14">14</option>
|
<option value="12">12</option>
|
||||||
<option value="15">15</option>
|
<option value="13">13</option>
|
||||||
<option value="16">16</option>
|
<option value="14">14</option>
|
||||||
<option value="17">17</option>
|
<option value="15">15</option>
|
||||||
<option value="18">18</option>
|
<option value="16">16</option>
|
||||||
<option value="19">19</option>
|
<option value="17">17</option>
|
||||||
<option value="20">20</option>
|
<option value="18">18</option>
|
||||||
<option value="21">21</option>
|
<option value="19">19</option>
|
||||||
<option value="22">22</option>
|
<option value="20">20</option>
|
||||||
<option value="23">23</option>
|
<option value="21">21</option>
|
||||||
</select>
|
<option value="22">22</option>
|
||||||
</div> <!-- fieldcontain for start time -->
|
<option value="23">23</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div data-role="fieldcontain">
|
||||||
|
<label for="timefieldmin"><span id=datemintxt>Minute</span>: </label>
|
||||||
|
<select name="timefieldmin" id="timefieldmin" data-theme="a">
|
||||||
|
<option value="0">0</option>
|
||||||
|
<option value="15">15</option>
|
||||||
|
<option value="30">30</option>
|
||||||
|
<option value="45">45</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span id="durationheadertxt" class="headerformat">Dauer</span>:
|
||||||
|
|
||||||
|
<div data-role="fieldcontain">
|
||||||
|
<label for="durationse"><span id="durationhourtxt">Stunden</span>: </label>
|
||||||
|
<select name="durationse" id="durationse" data-theme="a" >
|
||||||
|
<option value="0">0</option>
|
||||||
|
<option value="1">1</option>
|
||||||
|
<option value="2" selected>2</option>
|
||||||
|
<option value="3">3</option>
|
||||||
|
<option value="4">4</option>
|
||||||
|
<option value="5">5</option>
|
||||||
|
<option value="6">6</option>
|
||||||
|
<option value="7">7</option>
|
||||||
|
<option value="8">8</option>
|
||||||
|
<option value="9">9</option>
|
||||||
|
<option value="10">10</option>
|
||||||
|
<option value="11">11</option>
|
||||||
|
<option value="12">12</option>
|
||||||
|
</select>
|
||||||
|
</div> <!-- fieldcontain for duration hour -->
|
||||||
|
|
||||||
|
<div data-role="fieldcontain">
|
||||||
|
<label for="durationmin"><span id="durationmintxt">Minuten</span>: </label>
|
||||||
|
<select name="durationmin" id="durationmin" data-theme="a" >
|
||||||
|
<option value="0" selected>0</option>
|
||||||
|
<option value="15">15</option>
|
||||||
|
<option value="30">30</option>
|
||||||
|
<option value="45">45</option>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</div> <!-- fieldcontain for duration min -->
|
||||||
|
|
||||||
|
<span id="guestheadertxt" class="headerformat">Gästeinformation</span>:
|
||||||
|
|
||||||
<div data-role="fieldcontain">
|
<div data-role="fieldcontain">
|
||||||
<label for="durationse" class="select" style="width: 200px;"><span id="durationtxt">Dauer (Stunden)</span>: </label>
|
<label for="noofguestse"><span id="personstxt">Anzahl Gäste</span>: </label>
|
||||||
<select name="durationse" id="durationse" >
|
<input data-wrapper-class="shortfield" type="text" name="noofguestse" id="noofguestse" class="whiteinput" />
|
||||||
<option value="1">1</option>
|
|
||||||
<option value="2" selected>2</option>
|
|
||||||
<option value="3">3</option>
|
|
||||||
<option value="4">4</option>
|
|
||||||
<option value="5">5</option>
|
|
||||||
<option value="6">6</option>
|
|
||||||
<option value="7">7</option>
|
|
||||||
<option value="8">8</option>
|
|
||||||
<option value="9">9</option>
|
|
||||||
<option value="10">10</option>
|
|
||||||
<option value="11">11</option>
|
|
||||||
<option value="12">12</option>
|
|
||||||
</select>
|
|
||||||
</div> <!-- fieldcontain for duration -->
|
|
||||||
|
|
||||||
<div data-role="fieldcontain">
|
|
||||||
<label for="noofguestse" class="select" style="width: 200px;"><span id="personstxt">Anzahl Gäste</span>: </label>
|
|
||||||
<select name="noofguestse" id="noofguestse" >
|
|
||||||
<option value="1">1</option>
|
|
||||||
<option value="2" selected>2</option>
|
|
||||||
<option value="3">3</option>
|
|
||||||
<option value="4">4</option>
|
|
||||||
<option value="5">5</option>
|
|
||||||
<option value="6">6</option>
|
|
||||||
<option value="7">7</option>
|
|
||||||
<option value="8">8</option>
|
|
||||||
<option value="9">9</option>
|
|
||||||
<option value="10">10</option>
|
|
||||||
<option value="11">11-15</option>
|
|
||||||
<option value="15">15-20</option>
|
|
||||||
<option value="20">20-30</option>
|
|
||||||
<option value="30">30-40</option>
|
|
||||||
<option value="40">40+</option>
|
|
||||||
</select>
|
|
||||||
</div> <!-- fieldcontain for number of guests -->
|
</div> <!-- fieldcontain for number of guests -->
|
||||||
|
|
||||||
<div data-role="fieldcontain">
|
<div data-role="fieldcontain">
|
||||||
<label for="customer" class="select" style="width: 100%;"><span id="customertxt">Kunde</span>: </label>
|
<label for="customer" style="width: 100%;"><span id="customertxt">Kunde</span>: </label>
|
||||||
<input type="text" id="customer" class="reservationinputfield whiteinput" value="" data-mini="true" placeholder="Name / Telefon"/>
|
<input type="text" id="customer" class="reservationinputfield whiteinput" value="" data-mini="true" placeholder="Name / Telefon"/>
|
||||||
</div> <!-- fieldcontain name -->
|
</div> <!-- fieldcontain name -->
|
||||||
<div id="customerlist"></div>
|
<div id="customerlist"></div>
|
||||||
|
@ -981,22 +943,22 @@ function bindRoomSelect(roomsectionid,roomselectid,tablesectionid,tableselectid,
|
||||||
<p id="reshintchoosecustomer">Oder manuell eingeben:
|
<p id="reshintchoosecustomer">Oder manuell eingeben:
|
||||||
|
|
||||||
<p><div data-role="fieldcontain">
|
<p><div data-role="fieldcontain">
|
||||||
<label for="guestname" class="select" style="width: 100%;"><span id="nametxt">Name</span>: </label>
|
<label for="guestname" style="width: 100%;"><span id="nametxt">Name</span>: </label>
|
||||||
<input type="text" id="guestname" class="reservationinputfield whiteinput" value="" data-mini="true" />
|
<input type="text" id="guestname" class="reservationinputfield whiteinput" value="" data-mini="true" />
|
||||||
</div> <!-- fieldcontain name -->
|
</div> <!-- fieldcontain name -->
|
||||||
|
|
||||||
<div data-role="fieldcontain">
|
<div data-role="fieldcontain">
|
||||||
<label for="email" class="select" style="width: 100%;"><span id="emailtxt">Email</span>: </label>
|
<label for="email" style="width: 100%;"><span id="emailtxt">Email</span>: </label>
|
||||||
<input type="text" id="email" class="reservationinputfield whiteinput" value="" data-mini="true" />
|
<input type="text" id="email" class="reservationinputfield whiteinput" value="" data-mini="true" />
|
||||||
</div> <!-- fieldcontain name -->
|
</div> <!-- fieldcontain name -->
|
||||||
|
|
||||||
<div data-role="fieldcontain">
|
<div data-role="fieldcontain">
|
||||||
<label for="telno" class="select" style="width: 100%;"><span id="teltxt">Telefon</span>: </label>
|
<label for="telno" style="width: 100%;"><span id="teltxt">Telefon</span>: </label>
|
||||||
<input type="text" id="telno" class="reservationinputfield whiteinput" value="" data-mini="true" />
|
<input type="text" id="telno" class="reservationinputfield whiteinput" value="" data-mini="true" />
|
||||||
</div> <!-- fieldcontain name -->
|
</div> <!-- fieldcontain name -->
|
||||||
|
|
||||||
<div data-role="fieldcontain">
|
<div data-role="fieldcontain">
|
||||||
<label for="remark" class="select" style="width: 100%;"><span id="remarktxt">Notiz</span>: </label>
|
<label for="remark" style="width: 100%;"><span id="remarktxt">Notiz</span>: </label>
|
||||||
<input type="text" id="remark" class="reservationinputfield whiteinput" value="" data-mini="true" />
|
<input type="text" id="remark" class="reservationinputfield whiteinput" value="" data-mini="true" />
|
||||||
</div> <!-- fieldcontain name -->
|
</div> <!-- fieldcontain name -->
|
||||||
|
|
||||||
|
@ -1015,16 +977,28 @@ function bindRoomSelect(roomsectionid,roomselectid,tablesectionid,tableselectid,
|
||||||
|
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
<div id="resbytimes" data-role="collapsible" data-theme="c" data-content-theme="c" data-collapsed="false">
|
|
||||||
<h3><span id="resbytimesheadertxt">Reservierungen nach Z.</span></h3>
|
<div id="resoverview" data-role="collapsible" data-theme="c" data-content-theme="c" data-collapsed="false">
|
||||||
<table id="dayschedule"></table>
|
<h3><span id="resbytimesofdaytxt">Reservierungen</span> <span id="dateofreservations">Datum</span></h3>
|
||||||
<div id="reshtmlarea"></div>
|
<div id="restablearea"></div>
|
||||||
|
|
||||||
|
<div id="timeperiodsliderform">
|
||||||
|
<p><form>
|
||||||
|
<div data-role="rangeslider">
|
||||||
|
<label for="range-starthour"><span class="timeperiodslider">Zeitr.</span>:</label>
|
||||||
|
<input name="range-starthour" id="range-starthour" min="0" max="23" value="10" type="range">
|
||||||
|
<label for="range-endhour"><span class="timeperiodslider">Zeitr.</span>:</label>
|
||||||
|
<input name="range-endhour" id="range-endhour" min="1" max="24" value="18" type="range">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<p /><button type="submit" data-theme="f" data-icon="check" id="printsummary">Drucken</button></div>
|
||||||
|
|
||||||
|
|
||||||
</div> <!-- resbytimes -->
|
</div> <!-- resbytimes -->
|
||||||
|
|
||||||
<div id="resbytables" data-role="collapsible" data-theme="c" data-content-theme="c" data-collapsed="false">
|
|
||||||
<h3><span id="resbytablesheadertxt">Reservierungen nach T.</span></h3>
|
|
||||||
<table id="tableschedule"></table>
|
|
||||||
</div> <!-- resbytimes -->
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div data-role="footer" data-theme="b" id="thefooterr" style="background-color:black;">
|
<div data-role="footer" data-theme="b" id="thefooterr" style="background-color:black;">
|
||||||
|
@ -1051,12 +1025,11 @@ function bindRoomSelect(roomsectionid,roomselectid,tablesectionid,tableselectid,
|
||||||
<label for="emailtofield"><span id="sendemailtotxt">An</span>:</label>
|
<label for="emailtofield"><span id="sendemailtotxt">An</span>:</label>
|
||||||
<input type="text" id="emailtofield" style="background-color: white; color:black;" value="" data-mini="true" disabled />
|
<input type="text" id="emailtofield" style="background-color: white; color:black;" value="" data-mini="true" disabled />
|
||||||
</div>
|
</div>
|
||||||
<p>
|
<p />
|
||||||
<fieldset class="ui-grid-a" id="changecancelarea">
|
<fieldset class="ui-grid-a" id="changecancelarea">
|
||||||
<div class="ui-block-a"><button type="submit" data-theme="d" class="cancelButton" data-icon="back" id="cancelemailsentbtn"><span id="cancelemailbtntxt">Nicht senden</span></button></div>
|
<div class="ui-block-a"><button type="submit" data-theme="d" class="cancelButton" data-icon="back" id="cancelemailsentbtn"><span id="cancelemailbtntxt">Nicht senden</span></button></div>
|
||||||
<div class="ui-block-b"><button type="submit" data-theme="f" class="applyButton" data-icon="check" id="sendemailbtn"><span id="sendemailtxtbtn">Senden</span></button></div>
|
<div class="ui-block-b"><button type="submit" data-theme="f" class="applyButton" data-icon="check" id="sendemailbtn"><span id="sendemailtxtbtn">Senden</span></button></div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</p>
|
|
||||||
</form>
|
</form>
|
||||||
</div> <!-- content -->
|
</div> <!-- content -->
|
||||||
</div> <!-- page for email sending -->
|
</div> <!-- page for email sending -->
|
||||||
|
@ -1075,13 +1048,15 @@ function bindRoomSelect(roomsectionid,roomselectid,tablesectionid,tableselectid,
|
||||||
<p><span id="clastcreatortxt">Letzte Änderung von</span>: <span id="clastcreator"></span></p>
|
<p><span id="clastcreatortxt">Letzte Änderung von</span>: <span id="clastcreator"></span></p>
|
||||||
<p><span id="clastchangetxt">zuletzt geändert</span>: <span id="clastchanged"></span></p>
|
<p><span id="clastchangetxt">zuletzt geändert</span>: <span id="clastchanged"></span></p>
|
||||||
|
|
||||||
|
<span id="cstarttimetxt" class="headerformat">Start-Uhrzeit</span>:
|
||||||
|
|
||||||
<div data-role="fieldcontain">
|
<div data-role="fieldcontain">
|
||||||
<label for="cdatepicker" style="width:200px;"><span id=cdatetxt>Datum</span>: </label>
|
<label for="cdatepicker" ><span id=cdatetxt>Datum</span>: </label>
|
||||||
<input data-role="date" data-inline="true" type="text" id="cdatepicker" data-theme="d" >
|
<input data-role="date" data-inline="true" type="text" id="cdatepicker" data-theme="d" >
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<label for="ctimefieldse" class="select" style="width:200px;"><span id="cstarttimetxt">Start-Uhrzeit</span>: </label>
|
<label for="ctimefieldse" ><span id="cstarttimehourtxt">Start-Uhrzeit</span>: </label>
|
||||||
<select name="ctimefieldse" id="ctimefieldse" >
|
<select name="ctimefieldse" id="ctimefieldse" data-theme="a" >
|
||||||
<option value="0">0</option>
|
<option value="0">0</option>
|
||||||
<option value="1">1</option>
|
<option value="1">1</option>
|
||||||
<option value="2">2</option>
|
<option value="2">2</option>
|
||||||
|
@ -1110,42 +1085,52 @@ function bindRoomSelect(roomsectionid,roomselectid,tablesectionid,tableselectid,
|
||||||
</div> <!-- fieldcontain for start time -->
|
</div> <!-- fieldcontain for start time -->
|
||||||
|
|
||||||
<div data-role="fieldcontain">
|
<div data-role="fieldcontain">
|
||||||
<label for="cdurationse" class="select" style="width:200px;"><span id="cdurationtxt">Dauer (Stunden)</span>: </label>
|
<label for="ctimefieldmin"><span id=cdatemintxt>Minute</span>: </label>
|
||||||
<select name="cdurationse" id="cdurationse" >
|
<select name="ctimefieldmin" id="ctimefieldmin" data-theme="a">
|
||||||
<option value="1">1</option>
|
<option value="0">0</option>
|
||||||
<option value="2" selected>2</option>
|
<option value="15">15</option>
|
||||||
<option value="3">3</option>
|
<option value="30">30</option>
|
||||||
<option value="4">4</option>
|
<option value="45">45</option>
|
||||||
<option value="5">5</option>
|
|
||||||
<option value="6">6</option>
|
|
||||||
<option value="7">7</option>
|
|
||||||
<option value="8">8</option>
|
|
||||||
<option value="9">9</option>
|
|
||||||
<option value="10">10</option>
|
|
||||||
<option value="11">11</option>
|
|
||||||
<option value="12">12</option>
|
|
||||||
</select>
|
</select>
|
||||||
</div> <!-- fieldcontain for duration -->
|
</div>
|
||||||
|
|
||||||
|
<span id="cdurationheadertxt" class="headerformat">Dauer</span>:
|
||||||
|
|
||||||
|
<div data-role="fieldcontain">
|
||||||
|
<label for="cdurationse"><span id="cdurationhourtxt">Stunden</span>: </label>
|
||||||
|
<select name="cdurationse" id="cdurationse" data-theme="a" >
|
||||||
|
<option value="0">0</option>
|
||||||
|
<option value="1">1</option>
|
||||||
|
<option value="2" selected>2</option>
|
||||||
|
<option value="3">3</option>
|
||||||
|
<option value="4">4</option>
|
||||||
|
<option value="5">5</option>
|
||||||
|
<option value="6">6</option>
|
||||||
|
<option value="7">7</option>
|
||||||
|
<option value="8">8</option>
|
||||||
|
<option value="9">9</option>
|
||||||
|
<option value="10">10</option>
|
||||||
|
<option value="11">11</option>
|
||||||
|
<option value="12">12</option>
|
||||||
|
</select>
|
||||||
|
</div> <!-- fieldcontain for duration hour -->
|
||||||
|
|
||||||
|
<div data-role="fieldcontain">
|
||||||
|
<label for="cdurationmin"><span id="cdurationmintxt">Minuten</span>: </label>
|
||||||
|
<select name="cdurationmin" id="cdurationmin" data-theme="a" >
|
||||||
|
<option value="0" selected>0</option>
|
||||||
|
<option value="15">15</option>
|
||||||
|
<option value="30">30</option>
|
||||||
|
<option value="45">45</option>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</div> <!-- fieldcontain for duration min -->
|
||||||
|
|
||||||
|
<span id="guestheadertxt" class="headerformat">Gästeinformation</span>:
|
||||||
|
|
||||||
<div data-role="fieldcontain">
|
<div data-role="fieldcontain">
|
||||||
<label for="cnoofguestse" class="select" style="width:200px;"><span id="cpersonstxt">Anzahl Gäste</span>: </label>
|
<label for="cnoofguestse"><span id="cpersonstxt">Anzahl Gäste</span>: </label>
|
||||||
<select name="cnoofguestse" id="cnoofguestse" >
|
<input data-wrapper-class="shortfield" type="text" name="cnoofguestse" id="cnoofguestse" class="whiteinput" />
|
||||||
<option value="1">1</option>
|
|
||||||
<option value="2" selected>2</option>
|
|
||||||
<option value="3">3</option>
|
|
||||||
<option value="4">4</option>
|
|
||||||
<option value="5">5</option>
|
|
||||||
<option value="6">6</option>
|
|
||||||
<option value="7">7</option>
|
|
||||||
<option value="8">8</option>
|
|
||||||
<option value="9">9</option>
|
|
||||||
<option value="10">10</option>
|
|
||||||
<option value="11">11-15</option>
|
|
||||||
<option value="15">15-20</option>
|
|
||||||
<option value="20">20-30</option>
|
|
||||||
<option value="30">30-40</option>
|
|
||||||
<option value="40">40+</option>
|
|
||||||
</select>
|
|
||||||
</div> <!-- fieldcontain for number of guests -->
|
</div> <!-- fieldcontain for number of guests -->
|
||||||
|
|
||||||
<div data-role="fieldcontain">
|
<div data-role="fieldcontain">
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
<link rel="stylesheet" href="php/3rdparty/jquery.mobile-1.4.0.min.css" type="text/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-2.0.3.min.js"></script>
|
||||||
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
|
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
|
||||||
<script src="utilities.js?v=1.5.33"></script>
|
<script src="utilities.js?v=1.6.1"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
@ -30,7 +30,7 @@ var SUM_REASON = ["Grund","Reason","Razón"];
|
||||||
var SUM_CANCEL_ITEM = ["Stornierung","Cancellation","Revocació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 SUM_CANCELLATION_OK = ["Die Zahlung wurde in OrderSprinter storniert.","The payment was cancelled in OrderSprinter.","El pago se canceló en OrderSprinter."];
|
||||||
|
|
||||||
var nextpage = "paydesk.html?version=1.5.33";
|
var nextpage = "paydesk.html?version=1.6.1";
|
||||||
|
|
||||||
var lang;
|
var lang;
|
||||||
|
|
||||||
|
@ -84,10 +84,10 @@ function setLanguage(language) {
|
||||||
|
|
||||||
if (nextPage == "p") {
|
if (nextPage == "p") {
|
||||||
$("#nextpagebtntxt").html(SUM_TO_PAYMENT[lang]);
|
$("#nextpagebtntxt").html(SUM_TO_PAYMENT[lang]);
|
||||||
nextpage = "paydesk.html?t=" + tableid + "&version=1.5.33";
|
nextpage = "paydesk.html?t=" + tableid + "&version=1.6.1";
|
||||||
} else {
|
} else {
|
||||||
$("#nextpagebtntxt").html(SUM_TO_ORDER[lang]);
|
$("#nextpagebtntxt").html(SUM_TO_ORDER[lang]);
|
||||||
nextpage = "waiter.html?version=1.5.33";
|
nextpage = "waiter.html?version=1.6.1";
|
||||||
}
|
}
|
||||||
|
|
||||||
var txt = "<table class='viewtable'>";
|
var txt = "<table class='viewtable'>";
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<meta name="author" content="Stefan Pichel">
|
<meta name="author" content="Stefan Pichel">
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.33">
|
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.1">
|
||||||
|
|
||||||
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
|
<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/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" />
|
<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-2.0.3.min.js"></script>
|
||||||
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
|
<script src="php/3rdparty/jquery.mobile-1.4.0.min.js"></script>
|
||||||
<script src="utilities.js?v=1.5.33"></script>
|
<script src="utilities.js?v=1.6.1"></script>
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
#tableWithPreparedProds,#tableWithDeliveredEntries,#headertableToCook
|
#tableWithPreparedProds,#tableWithDeliveredEntries,#headertableToCook
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<meta name="author" content="Stefan Pichel">
|
<meta name="author" content="Stefan Pichel">
|
||||||
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.33">
|
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.1">
|
||||||
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
|
<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/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-1.11.3.min.js"></script>
|
||||||
<script src="php/3rdparty/jquery.mobile-1.4.5.min.js"></script>
|
<script src="php/3rdparty/jquery.mobile-1.4.5.min.js"></script>
|
||||||
|
|
||||||
<script src="utilities.js?v=1.5.33"></script>
|
<script src="utilities.js?v=1.6.1"></script>
|
||||||
|
|
||||||
<link rel="stylesheet" href="php/3rdparty/jqueryui1-11-4/jquery-ui.min.css" />
|
<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.min.js"></script>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<meta name="author" content="Stefan Pichel">
|
<meta name="author" content="Stefan Pichel">
|
||||||
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.33">
|
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.1">
|
||||||
<link rel="stylesheet" href="php/contenthandler.php?module=admin&command=getmobilecss" />
|
<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/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-1.11.3.min.js"></script>
|
||||||
<script src="php/3rdparty/jquery.mobile-1.4.5.min.js"></script>
|
<script src="php/3rdparty/jquery.mobile-1.4.5.min.js"></script>
|
||||||
|
|
||||||
<script src="utilities.js?v=1.5.33"></script>
|
<script src="utilities.js?v=1.6.1"></script>
|
||||||
|
|
||||||
<link rel="stylesheet" href="php/3rdparty/jqueryui1-11-4/jquery-ui.min.css" />
|
<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.min.js"></script>
|
||||||
|
|
|
@ -345,6 +345,11 @@ function createLabelWithOption(prefix,id,aLabel,displayedName,allValues,theValue
|
||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function pad(num, size) {
|
||||||
|
var s = "000000000" + num;
|
||||||
|
return s.substr(s.length-size);
|
||||||
|
}
|
||||||
|
|
||||||
var g_units_arr = [
|
var g_units_arr = [
|
||||||
{ text: "Stück", value: 0, id: "piece", longtext: "Stück"},
|
{ text: "Stück", value: 0, id: "piece", longtext: "Stück"},
|
||||||
{ text: "Eingabe", value: 1, id: "input", longtext: "Preiseingabe"},
|
{ text: "Eingabe", value: 1, id: "input", longtext: "Preiseingabe"},
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -4,7 +4,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<meta name="author" content="Stefan Pichel">
|
<meta name="author" content="Stefan Pichel">
|
||||||
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.5.33">
|
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.6.1">
|
||||||
|
|
||||||
<link rel="stylesheet" href="css/ospage.css" />
|
<link rel="stylesheet" href="css/ospage.css" />
|
||||||
<link rel="stylesheet" href="css/tablepanel.css" />
|
<link rel="stylesheet" href="css/tablepanel.css" />
|
||||||
|
@ -16,7 +16,7 @@
|
||||||
<link rel="stylesheet" href="css/extraspanel.css" />
|
<link rel="stylesheet" href="css/extraspanel.css" />
|
||||||
<link rel="stylesheet" href="css/actpanel.css" />
|
<link rel="stylesheet" href="css/actpanel.css" />
|
||||||
<link rel="stylesheet" href="css/paypanel.css" />
|
<link rel="stylesheet" href="css/paypanel.css" />
|
||||||
<link rel="stylesheet" href="css/numfield.css?v=1.5.33" />
|
<link rel="stylesheet" href="css/numfield.css?v=1.6.1" />
|
||||||
|
|
||||||
<link rel="stylesheet" href="php/3rdparty/jqueryui1-12-0/jquery-ui.min.css" />
|
<link rel="stylesheet" href="php/3rdparty/jqueryui1-12-0/jquery-ui.min.css" />
|
||||||
<script src="php/3rdparty/jquery-2.2.4.min.js"></script>
|
<script src="php/3rdparty/jquery-2.2.4.min.js"></script>
|
||||||
|
|
Loading…
Reference in New Issue