diff --git a/javaprinter/javaprinter.jar b/javaprinter/javaprinter.jar
index d840991..0622ea5 100644
Binary files a/javaprinter/javaprinter.jar and b/javaprinter/javaprinter.jar differ
diff --git a/printserver/OrderSprinterPrintserver.exe b/printserver/OrderSprinterPrintserver.exe
index 78f11a0..0371a59 100755
Binary files a/printserver/OrderSprinterPrintserver.exe and b/printserver/OrderSprinterPrintserver.exe differ
diff --git a/webapp/OrderSprinterPrintserver.exe b/webapp/OrderSprinterPrintserver.exe
index 78f11a0..0371a59 100755
Binary files a/webapp/OrderSprinterPrintserver.exe and b/webapp/OrderSprinterPrintserver.exe differ
diff --git a/webapp/bar.html b/webapp/bar.html
index 9d17882..67922d4 100644
--- a/webapp/bar.html
+++ b/webapp/bar.html
@@ -5,7 +5,7 @@
-
+
diff --git a/webapp/bill.html b/webapp/bill.html
index 40b8fdd..82f1a7d 100644
--- a/webapp/bill.html
+++ b/webapp/bill.html
@@ -5,7 +5,7 @@
-
+
diff --git a/webapp/feedback.html b/webapp/feedback.html
index 3f20d27..fa2a54e 100644
--- a/webapp/feedback.html
+++ b/webapp/feedback.html
@@ -4,7 +4,7 @@
-
+
diff --git a/webapp/index.html b/webapp/index.html
index fec54f8..5bf2afe 100644
--- a/webapp/index.html
+++ b/webapp/index.html
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/webapp/install.html b/webapp/install.html
index 94fd59a..abfd1bf 100644
--- a/webapp/install.html
+++ b/webapp/install.html
@@ -679,7 +679,7 @@ $(document).ready(function() {
|
-
+
|
|
diff --git a/webapp/install/installer.php b/webapp/install/installer.php
index f44dae1..81ae371 100644
--- a/webapp/install/installer.php
+++ b/webapp/install/installer.php
@@ -1086,6 +1086,35 @@ return false;
}
}
+function updateUserTable1127_1128($prefix,$version) {
+$pdo = $this->pdo;
+try {
+if ($version != "1.1.27") {
+$ret = $this->updateUserTable1126_1127($prefix,$version);
+if (!$ret) {
+return false;
+}
+}
+
+$adminCl = new Admin();
+DbUtils::overrulePrefix($prefix);
+
+$rect = "l;\nt:llllllllllllllllllll; f: ; a_ID:rrrrrrrr\n;f: ;d:w\n\ng:v; c:v\n\nk:rrr; s: ; m:v; s: ; n:rrrrrr; o:rrrrrrr\nf:-\n";
+$rect .= "START_PRODUCTS\na:rrr; s: ; c:v; s: ; b:rrrrrr; d:rrrrrrr\nEND_PRODUCTS\n\n";
+$rect .= "p:rrrrr; q:rrrrrr; r:rrrrrrrr; n:rrrrrrrr\nSTART_TAXES\nt:rrrrr; m:rrrrrr; n:rrrrrrrr; b:rrrrrrrr\nEND_TAXES\n\n";
+$rect .= "f: ; E_Summe:llllllllllllllllllll;\n\nj:l;";
+
+$sql = "INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL,?,?)";
+$stmt = $pdo->prepare($this->basedb->resolveTablenamesInSqlString($sql));
+$stmt->execute(array('rectemplate',$rect));
+
+$this->updateVersion($pdo, '1.1.28');
+return true;
+} catch (PDOException $e) {
+return false;
+}
+}
+
function setVersion($prefix,$theVersion) {
$pdo = $this->pdo;
try {
@@ -1138,6 +1167,13 @@ $this->basedb->createExtrasTable($pdo);
$this->basedb->createExtrasprodsTable($pdo);
$this->basedb->createQueueExtrasTable($pdo);
+$rect = "l;\nt:llllllllllllllllllll; f: ; a_ID:rrrrrrrr\n;f: ;d:w\n\ng:v; c:v\n\nk:rrr; s: ; m:v; s: ; n:rrrrrr; o:rrrrrrr\nf:-\n";
+$rect .= "START_PRODUCTS\na:rrr; s: ; c:v; s: ; b:rrrrrr; d:rrrrrrr\nEND_PRODUCTS\n\n";
+$rect .= "p:rrrrr; q:rrrrrr; r:rrrrrrrr; n:rrrrrrrr\nSTART_TAXES\nt:rrrrr; m:rrrrrr; n:rrrrrrrr; b:rrrrrrrr\nEND_TAXES\n\n";
+$rect .= "f: ; E_Summe:llllllllllllllllllll;\n\nj:l;";
+
+$printpass = md5("123");
+
$this->basedb->doSQL($pdo,"INSERT INTO `%pricelevel%` (`id` , `name`,`info`,`info_en`,`info_esp`) VALUES ('1', 'A', 'Normale Preisstufe', 'Normal', 'Normal')");
$this->basedb->doSQL($pdo,"INSERT INTO `%pricelevel%` (`id` , `name`,`info`,`info_en`,`info_esp`) VALUES ('2', 'B', 'Wochenendtarif', 'Weekend prices','Tarifa del fin de semana')");
$this->basedb->doSQL($pdo,"INSERT INTO `%pricelevel%` (`id` , `name`,`info`,`info_en`,`info_esp`) VALUES ('3', 'C', 'Happy Hour', 'Happy Hour','Happy Hour')");
@@ -1146,8 +1182,9 @@ $this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VAL
$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'tax', '19.0')");
$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'togotax', '7.0')");
$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'stornocode', '123')");
-$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'printpass', 'printen')");
+$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'printpass', '$printpass')");
$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'companyinfo', 'Musterrestaurant\nBeispielstrasse 123\n12345 Musterort')");
+$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'rectemplate', '$rect')");
$resTxt = 'Vielen Dank für Ihre Reservierung am DATUM um ZEIT Uhr für ANZAHL Personen.\n\nWir freuen uns auf Ihren Besuch!\n\nBETRIEBSINFO';
$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'reservationnote', '$resTxt')");
$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'serverurl', '')");
@@ -1157,7 +1194,7 @@ $this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VAL
$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'billlanguage', $billlanguage)");
$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'currency', '$currency')");
$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'receiptfontsize', '12')");
-$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'version', '1.1.27')");
+$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'version', '1.1.28')");
$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'paymentconfig', '0')");
$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'remoteaccesscode', null)");
$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'decpoint', '$decpoint')");
@@ -1520,7 +1557,7 @@ $zones[] = $timezone_identifiers[$i];
}
echo json_encode($zones);
} else if ($command == 'update') {
-$installerVersion = "1.1.27";
+$installerVersion = "1.1.28";
$admin = new InstallAdmin();
$pdo = $admin->openDbAndReturnPdo($_POST['host'],$_POST['db'],$_POST['user'],$_POST['password']);
@@ -1549,7 +1586,7 @@ $supportedVersions = array("1.0.22","1.0.23","1.0.24","1.0.25","1.0.26","1.0.27"
"1.0.30","1.0.31","1.0.32","1.0.33","1.0.34","1.0.35","1.0.36","1.0.37","1.0.38","1.0.39",
"1.0.40","1.0.41","1.0.42","1.0.43",
"1.1.0","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5","1.1.6","1.1.7","1.1.8", "1.1.9","1.1.10","1.1.11","1.1.12","1.1.13","1.1.14","1.1.15","1.1.16","1.1.17",
-"1.1.18","1.1.19","1.1.20","1.1.21","1.1.22","1.1.23","1.1.24","1.1.25","1.1.26"
+"1.1.18","1.1.19","1.1.20","1.1.21","1.1.22","1.1.23","1.1.24","1.1.25","1.1.26","1.1.27"
);
if (!in_array($version, $supportedVersions)) {
@@ -1557,7 +1594,7 @@ echo json_encode("Quellversion nicht unterstützt");
return;
}
-$ret = $admin->updateUserTable1126_1127($_POST['prefix'], $version);
+$ret = $admin->updateUserTable1127_1128($_POST['prefix'], $version);
if(session_id() == '') {
session_start();
diff --git a/webapp/kitchen.html b/webapp/kitchen.html
index c57a6ea..8bd1177 100644
--- a/webapp/kitchen.html
+++ b/webapp/kitchen.html
@@ -5,7 +5,7 @@
-
+
diff --git a/webapp/manager.html b/webapp/manager.html
index 556593c..89020d2 100644
--- a/webapp/manager.html
+++ b/webapp/manager.html
@@ -5,7 +5,7 @@
-
+
@@ -184,6 +184,9 @@ var MAN_WORKFLOW_WR_AND_TRANSFER = ["Arbeitsbons mit Serverübermittlung", "Work
var MAN_WORKFLOW_WR_AND_TRANSFER_HLP = ["Hinweis: 'Arbeitsbons mit Serverübermittlung': In der Bestellansicht werden die Artikel bei Druck auf 'Bestellung senden' an den Server übermittelt, durchlaufen aber nicht die Ansichten Küche/Bar und Bereitstellung und es wird in diesem Fall kein Arbeitsbon gedruckt.",
"Hint: 'Work receipts and server transmit': In the waiter's view the orders can be sent to the server without printining a work receipt. In this case the items won't pass the modules kitchen/bar and supplydesk.",
"Información: 'Tiques de trabajar y enviar a servidor': El camarero puede enviar las ordenes al servidor sin imprimir un tique de trabajo."];
+var MAN_RECTEMPLATE_HINT = ["Hinweis: Die Anpassung der Bonvorlage ist in der Anleitung und auf der Produktwebseite beschrieben.",
+ "Hint: The customization of the receipt template is described in the manual and on the product home page.",
+ "Nota: La adapción del template esta explicada en la página web y el manual."];
var MAN_NO_ADMIN = ["Um Admin-Rechte zu bearbeiten, muss der Benutzer selbst Adminrechte besitzen.", "Modifying admin rights require that the changing user has also admin rights.", "Necesitas derecho de admin para modificar derecho de admin para otros usarios."];
var MAN_NO_ADMIN_CREATE = ["Nur Admin-Benutzer können andere Admin-Benutzer anlegen",
"Only admin users can create other admin users",
@@ -279,6 +282,7 @@ var generalValuesSettings = [
["stornocode","Stornocode","i",1,"Stornocode wurde nicht angegeben!"],
["printpass","Printcode","i",1,"Printcode wurde nicht angegeben"],
["companyinfo","Betriebsinfo","i",0],
+ ["rectemplate","Bonvorlage","i",0],
["serverUrl","Serveradresse","i",0],
["email","Emailadresse","i",0],
["emailbadrating","Emailadresse schlechte Bewertung","i",0],
@@ -406,6 +410,8 @@ function setLanguage(l) {
$("#taxapplytxt").html(MAN_APPLY[l]);
$("#taxusage").html("(" + MAN_TAX_USE[l] + ")");
+
+ $("#rectemplatehint").html(MAN_RECTEMPLATE_HINT[l]);
}
function createMonthSelection(label) {
@@ -463,6 +469,7 @@ function insertGeneralConfigItems(configResult) {
$("#togotaxval").val(usstGerVal);
$("#companyinfo").val(values.companyinfo);
+ $("#rectemplate").val(values.rectemplate);
$("#reservationnote").val(values.reservationnote);
@@ -2194,6 +2201,11 @@ $(document).on("pageinit", "#admin-page", function () {
+
+
+
+ Hinweis: siehe Anleitung
+
diff --git a/webapp/paydesk.html b/webapp/paydesk.html
index 4da4d8f..3685970 100644
--- a/webapp/paydesk.html
+++ b/webapp/paydesk.html
@@ -5,7 +5,7 @@
-
+
diff --git a/webapp/php/admin.php b/webapp/php/admin.php
index 39205c7..ab8f7be 100644
--- a/webapp/php/admin.php
+++ b/webapp/php/admin.php
@@ -652,7 +652,11 @@ class Admin {
$stmt->execute(array("companyinfo"));
$row = $stmt->fetchObject();
- $companyInfo = $row->setting;
+ $companyInfo = $row->setting;
+
+ $stmt->execute(array("rectemplate"));
+ $row = $stmt->fetchObject();
+ $rectemplate = $row->setting;
$stmt->execute(array("decpoint"));
$row = $stmt->fetchObject();
@@ -810,7 +814,7 @@ class Admin {
date_default_timezone_set(DbUtils::getTimeZone());
$now = getdate();
- $retVal = array("companyinfo" => $companyInfo, "version" => $version, "decpoint" => $decpoint,
+ $retVal = array("companyinfo" => $companyInfo, "rectemplate" => $rectemplate, "version" => $version, "decpoint" => $decpoint,
"serverurl" => $serverurl, "email" => $email, "receiveremail" => $receiveremail, "billlanguage" => $billlanguage,
"payprinttype" => $payprinttype, "tax" => $tax, "togotax" => $togotax, "currency" => $currency,
"userlanguage" => $userlang, "receiptprinter" => $receiptprinter,
@@ -1133,19 +1137,19 @@ class Admin {
$right_rating = $_SESSION['right_rating'];
if (!self::isOnlyRatingUser($rights, $right_rating, true)) {
- if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waitertxt[$lang], "link" => "waiter.html?v=1.1.27"); };
- if ($_SESSION['right_kitchen']) { $mainMenu[] = array("name" => $kitchentxt[$lang], "link" => "kitchen.html?v=1.1.27"); };
- if ($_SESSION['right_bar']) { $mainMenu[] = array("name" => "Bar", "link" => "bar.html?v=1.1.27"); };
- if ($_SESSION['right_supply']) { $mainMenu[] = array("name" => $supplytxt[$lang], "link" => "supplydesk.html?v=1.1.27"); };
+ if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waitertxt[$lang], "link" => "waiter.html?v=1.1.28"); };
+ if ($_SESSION['right_kitchen']) { $mainMenu[] = array("name" => $kitchentxt[$lang], "link" => "kitchen.html?v=1.1.28"); };
+ if ($_SESSION['right_bar']) { $mainMenu[] = array("name" => "Bar", "link" => "bar.html?v=1.1.28"); };
+ if ($_SESSION['right_supply']) { $mainMenu[] = array("name" => $supplytxt[$lang], "link" => "supplydesk.html?v=1.1.28"); };
if ($_SESSION['right_paydesk']) { $mainMenu[] = array("name" => $paydesktxt[$lang], "link" => "paydesk.html"); };
- if ($_SESSION['right_statistics']) { $mainMenu[] = array("name" => $stattxt[$lang], "link" => "reports.html?v=1.1.27"); };
- if ($_SESSION['right_bill']) { $mainMenu[] = array("name" => $bontxt[$lang], "link" => "bill.html?v=1.1.27"); };
- if ($_SESSION['right_products']) { $mainMenu[] = array("name" => $prodtxt[$lang], "link" => "products.html?v=1.1.27"); };
- if ($_SESSION['right_reservation']) { $mainMenu[] = array("name" => $restxt[$lang], "link" => "reservation.html?v=1.1.27"); };
- if ($_SESSION['right_rating']) { $mainMenu[] = array("name" => $ratingtxt[$lang], "link" => "rating.html?v=1.1.27"); };
- if ($_SESSION['right_manager'] || $_SESSION['is_admin']) { $mainMenu[] = array("name" => $admintxt[$lang], "link" => "manager.html?v=1.1.27"); };
- $mainMenu[] = array("name" => $settingtxt[$lang], "link" => "preferences.html?v=1.1.27");
- $mainMenu[] = array("name" => "Feedback", "link" => "feedback.html?v=1.1.27");
+ if ($_SESSION['right_statistics']) { $mainMenu[] = array("name" => $stattxt[$lang], "link" => "reports.html?v=1.1.28"); };
+ if ($_SESSION['right_bill']) { $mainMenu[] = array("name" => $bontxt[$lang], "link" => "bill.html?v=1.1.28"); };
+ if ($_SESSION['right_products']) { $mainMenu[] = array("name" => $prodtxt[$lang], "link" => "products.html?v=1.1.28"); };
+ if ($_SESSION['right_reservation']) { $mainMenu[] = array("name" => $restxt[$lang], "link" => "reservation.html?v=1.1.28"); };
+ if ($_SESSION['right_rating']) { $mainMenu[] = array("name" => $ratingtxt[$lang], "link" => "rating.html?v=1.1.28"); };
+ if ($_SESSION['right_manager'] || $_SESSION['is_admin']) { $mainMenu[] = array("name" => $admintxt[$lang], "link" => "manager.html?v=1.1.28"); };
+ $mainMenu[] = array("name" => $settingtxt[$lang], "link" => "preferences.html?v=1.1.28");
+ $mainMenu[] = array("name" => "Feedback", "link" => "feedback.html?v=1.1.28");
}
$mainMenu[] = array("name" => $logout[$lang], "link" => "logout.php");
@@ -1154,7 +1158,7 @@ class Admin {
$waiterMessage = $this->getMessage(null, "waitermessage");
}
// CAUTION: change version also in config.txt!!!
- $mainMenuAndVersion = array ("version" => "OrderSprinter 1.1.27",
+ $mainMenuAndVersion = array ("version" => "OrderSprinter 1.1.28",
"user" => $currentUser,
"menu" => $mainMenu,
"waitermessage" => $waiterMessage,
@@ -1342,6 +1346,7 @@ class Admin {
"stornocode" => array("dbcol" => "stornocode","checknum" => 0),
"printpass" => array("dbcol" => "printpass","checknum" => 0),
"companyinfo" => array("dbcol" => "companyinfo","checknum" => 0),
+ "rectemplate" => array("dbcol" => "rectemplate","checknum" => 0),
"serverUrl" => array("dbcol" => "serverurl","checknum" => 0),
"email" => array("dbcol" => "email","checknum" => 0),
"emailbadrating" => array("dbcol" => "emailbadrating","checknum" => 0),
diff --git a/webapp/php/printqueue.php b/webapp/php/printqueue.php
index 846aa2c..4b53a8c 100644
--- a/webapp/php/printqueue.php
+++ b/webapp/php/printqueue.php
@@ -20,10 +20,15 @@ class PrintQueue {
function handleCommand($command) {
// these command are only allowed for user with waiter rights
if ($command == 'getNextReceiptPrintJobs') {
+ // REM* feature level
+ $fl = null;
+ if (isset($_GET['fl'])) {
+ $fl = $_GET['fl'];
+ }
if(isset($_GET['printers'])) {
- $this->getNextReceiptPrintJobs($_POST['pass'],$_GET['language'],$_GET['printers']);
+ $this->getNextReceiptPrintJobs($_POST['pass'],$_GET['language'],$_GET['printers'],$fl);
} else {
- $this->getNextReceiptPrintJobs($_POST['pass'],$_GET['language'],"1,2,3,4,5,6");
+ $this->getNextReceiptPrintJobs($_POST['pass'],$_GET['language'],"1,2,3,4,5,6",$fl);
}
} else if ($command == 'getNextClosingPrintJobs') {
$this->getNextClosingPrintJobs($_POST['pass'],$_GET['language']);
@@ -302,7 +307,7 @@ class PrintQueue {
}
}
- function getNextReceiptPrintJobs($md5pass,$language,$printers) {
+ function getNextReceiptPrintJobs($md5pass,$language,$printers,$fl) {
$isCorrect = $this->isPasswordCorrect($md5pass,false);
if ($isCorrect) {
ob_start();
@@ -310,6 +315,13 @@ class PrintQueue {
$pdo = $this->dbutils->openDbAndReturnPdo();
+ // REM* get the template
+ $sql = "SELECT setting FROM %config% WHERE name=?";
+ $stmt = $pdo->prepare(DbUtils::substTableAlias($sql));
+ $stmt->execute(array("rectemplate"));
+ $row =$stmt->fetchObject();
+ $template = $row->setting;
+
if (intval($language) > 2) {
$genInfo = $this->admin->getGeneralConfigItems(false,$pdo);
$language = $genInfo["billlanguage"];
@@ -331,7 +343,12 @@ class PrintQueue {
$printer = $aBill["printer"];
if (in_array($printer, $printersArr)) {
- $receiptJob = array("id" => $printJobId,"bill" => $bill->getBillWithId($pdo,$aBillId,$language,$printer));
+ if (is_null($fl)) {
+ // REM* no feature level -> do not sent template
+ $receiptJob = array("id" => $printJobId,"bill" => $bill->getBillWithId($pdo,$aBillId,$language,$printer));
+ } else if ($fl == 1) {
+ $receiptJob = array("id" => $printJobId,"bill" => $bill->getBillWithId($pdo,$aBillId,$language,$printer), "template" => $template);
+ }
$billarray[] = $receiptJob;
}
}
diff --git a/webapp/preferences.html b/webapp/preferences.html
index 0f0f2d6..2a0df5d 100644
--- a/webapp/preferences.html
+++ b/webapp/preferences.html
@@ -5,7 +5,7 @@
-
+
diff --git a/webapp/products.html b/webapp/products.html
index 9346d16..78afd37 100644
--- a/webapp/products.html
+++ b/webapp/products.html
@@ -7,7 +7,7 @@
-
+
diff --git a/webapp/rating.html b/webapp/rating.html
index be64be5..edb80da 100644
--- a/webapp/rating.html
+++ b/webapp/rating.html
@@ -7,7 +7,7 @@
-
+
diff --git a/webapp/reports.html b/webapp/reports.html
index 7c56e70..47b1f63 100644
--- a/webapp/reports.html
+++ b/webapp/reports.html
@@ -7,7 +7,7 @@
-
+
@@ -24,7 +24,7 @@
var REP_USERSUM = ["Kassenbestände ","Open paydesks", "Cajas" ];
var REP_USER = ["Benutzer","User","Usario"];
-var REP_USER_TXT = ["Dise Übersicht umfasst den derzeitigen Brutto-Kassenbestand pro Kasse inkl. aller Zahlungswege und Ein-/Auslagen.",
+var REP_USER_TXT = ["Diese Übersicht umfasst den derzeitigen Brutto-Kassenbestand pro Kasse inkl. aller Zahlungswege und Ein-/Auslagen.",
"This overview contains the current sum of all paydesks including all payment types and cash inserts/extracs.",
"Esta table contiene todos las cajas incluyendo todas los tipos the pagamientos"];
var REP_TODAY = ["Heute","Today","Hoy"];
@@ -241,4 +241,4 @@ function setLanguage(language) {