summaryrefslogtreecommitdiffstats
path: root/modules-available/locationinfo/frontend/doorsign.html
diff options
context:
space:
mode:
authorMichael Scherle2016-11-21 08:56:59 +0100
committerMichael Scherle2016-11-21 08:56:59 +0100
commitc130f506835bc87577d2231197ae3c47cc7ff7bc (patch)
tree90dfefbec28d1fa79f058c7a9181506afb9cbda0 /modules-available/locationinfo/frontend/doorsign.html
parentrewrote GetNextOpening and GetNextClosing (diff)
downloadslx-admin-c130f506835bc87577d2231197ae3c47cc7ff7bc.tar.gz
slx-admin-c130f506835bc87577d2231197ae3c47cc7ff7bc.tar.xz
slx-admin-c130f506835bc87577d2231197ae3c47cc7ff7bc.zip
fixed countdown
Diffstat (limited to 'modules-available/locationinfo/frontend/doorsign.html')
-rwxr-xr-xmodules-available/locationinfo/frontend/doorsign.html57
1 files changed, 37 insertions, 20 deletions
diff --git a/modules-available/locationinfo/frontend/doorsign.html b/modules-available/locationinfo/frontend/doorsign.html
index fa78a829..ad0c4fa4 100755
--- a/modules-available/locationinfo/frontend/doorsign.html
+++ b/modules-available/locationinfo/frontend/doorsign.html
@@ -3,7 +3,7 @@
parameter
required:
-
+ id: [integer] room id, see in admin panel
optional:
lang:[en,de] set the language
@@ -437,14 +437,14 @@ optional:
var tmp = openingTimes[day];
if (tmp != null) {
for (var i = 0; i < tmp.length; i++) {
- var openDate = new Date();
+ var closeDate = new Date();
closeDate.setDate(now.getDate()+offset)
closeDate.setHours(tmp[i].HourClose);
closeDate.setMinutes(tmp[i].MinutesClose);
- if (openDate > now) {
+ if (closeDate > now) {
if(!IsOpen(new Date(closeDate.getTime()+60000))){
- if(bestdate == null || bestdate > openDate) {
- bestdate = openDate;
+ if(bestdate == null || bestdate > closeDate) {
+ bestdate = closeDate;
}
}
}
@@ -509,7 +509,7 @@ optional:
if(tmp == null){
return false;
}
- for (i = 0; i < tmp.length; i++) {
+ for (var i = 0; i < tmp.length; i++) {
var openDate = new Date();
openDate.setHours(tmp[i].HourOpen);
openDate.setMinutes(tmp[i].MinutesOpen);
@@ -528,7 +528,7 @@ optional:
if(tmp == null){
return false;
}
- for (i = 0; i < tmp.length; i++) {
+ for (var i = 0; i < tmp.length; i++) {
var openDate = new Date();
openDate.setHours(tmp[i].HourOpen);
openDate.setMinutes(tmp[i].MinutesOpen);
@@ -667,38 +667,55 @@ optional:
}
var closing = GetNextClosing();
var event = getNextEvent(data);
+
+ // no event and no closing
if(closing == null && event == null){
state = {state: "FreeNoEnd", end: "", titel: "", next: ""};
+ return;
}
- if(closing == null){
- state = {state: "ClaendarEvent", end: event.start.end, titel: event.start.title, next: ""};
- }
+
+ // no event so closing is next
if(event == null){
state = {state: "Free", end: closing, titel: "", next: "closing"};
+ return;
}
- if(event.start.getTime()< closing.getTime()){
- state = {state: "ClaendarEvent", end: event.start.end, titel: event.start.title, next: ""};
- } else {
+
+ // event is at the moment
+ if(event.start.getTime() > closing.getTime() && event.end.getTime() < closing.getTime()){
+ state = {state: "ClaendarEvent", end: event.end, titel: event.title, next: ""};
+ return;
+ }
+ // no closing so event is next
+ if(closing == null){
+ state = {state: "Free", end: event.start, titel: "", next: "event"};
+ return;
+ }
+
+ // event sooner then closing
+ if(event.start.getTime() < closing) {
+ state = {state: "Free", end: event.start, titel: "", next: "event"};
+ return;
+ } else if (event.start.getTime() > closing) {
state = {state: "Free", end: closing, titel: "", next: "closing"};
+ return;
}
}
function getNextEvent(json) {
var event;
var now = new Date()
-
- for (var i = 1; i < json.length;i++){
+ for (var i = 0; i < json.length;i++){
//event is now active
- if(event.start.getTime() < now.getTime() && event.end.getTime() > now.getTime()){
- return event;
+ if(json[i].start.getTime() < now.getTime() && json[i].end.getTime() > now.getTime()){
+ return json[i];
}
//first element to consider
if(event == null){
- if(json[i].start.getTime()> now.getTime() ){
+ if(json[i].start.getTime() > now.getTime() ){
event = json[i];
}
}
- if(json[i].start.getTime() > now.getTime() && event.start.getTime() < json[i].start.getTime()) {
+ if(json[i].start.getTime() > now.getTime() && event.start.getTime() > json[i].start.getTime()) {
event = json[i];
}
}
@@ -937,7 +954,7 @@ optional:
sParameterName,
i;
- for (i = 0; i < sURLVariables.length; i++) {
+ for (var i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam) {