]> git.datanom.net - qtadmin.git/blobdiff - js/timer.js
Fix bug in session handler
[qtadmin.git] / js / timer.js
index 092213d7b21653f15c367cabcb2063bc89dc7ca3..f68f0841f11d279fd19defce6ff5ccd026569796 100644 (file)
@@ -1,21 +1,32 @@
 /* vim: set ts=4 tw=4 sw=4 noet: */
 /* vim: set ts=4 tw=4 sw=4 noet: */
-var timerRef=setInterval(function(){myTimer()},1000);
+var timerRef=setInterval(function(){myTimer()}, 1000);
 var timeStart = new Date().getTime() + timeout;
 var timeStart = new Date().getTime() + timeout;
+var last = -1;
 
 function myTimer() {
     var elapsed = new Date().getTime();
     var expire = timeStart - elapsed;
     var timeLeft = Math.round(((expire % 86400000) % 3600000) / 60000);
 
 
 function myTimer() {
     var elapsed = new Date().getTime();
     var expire = timeStart - elapsed;
     var timeLeft = Math.round(((expire % 86400000) % 3600000) / 60000);
 
-    if (timeLeft < 1) {
-        /*timeLeft = 'Expired';
-        document.getElementById("time").style.background = "red";*/
+    if (timeLeft < 0) {
         clearInterval(timerRef);
         clearInterval(timerRef);
+        console.log('Session expired, reload page');
+        last = -1;
         location.reload();
         location.reload();
+    } else if (timeLeft == 1) {
+        if (timeLeft < last || last == -1) {
+            last = timeLeft;
+            timeLeft = '< ' + timeLeft + ' min';
+            console.log('Session soon to expire');
+            document.getElementById("time").style.background = "red";
+            document.getElementById("timer").innerHTML = timeLeft;
+        }
     } else {
     } else {
-        //timeLeft += 1;
-        timeLeft = '< ' + timeLeft + ' min';
+        if ((timeLeft < last && timeLeft > 0) || last == -1) {
+            last = timeLeft;
+            console.log('Session valid < ' + timeLeft);
+            timeLeft = '< ' + timeLeft + ' min';
+            document.getElementById("timer").innerHTML = timeLeft;
+        }
     }
     }
-
-    document.getElementById("timer").innerHTML = timeLeft;
 }
 }
This page took 0.058161 seconds and 5 git commands to generate.