]> git.datanom.net - qtadmin.git/blobdiff - js/timer.js
Fix bug in session handler
[qtadmin.git] / js / timer.js
index 7f6cb1e392b1013988b60781f007f2582f469784..f68f0841f11d279fd19defce6ff5ccd026569796 100644 (file)
@@ -1,24 +1,28 @@
 /* vim: set ts=4 tw=4 sw=4 noet: */
 var timerRef=setInterval(function(){myTimer()}, 1000);
 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);
-    var last = 0;
 
     if (timeLeft < 0) {
         clearInterval(timerRef);
         console.log('Session expired, reload page');
+        last = -1;
         location.reload();
-    } else if (timeLeft < 1) {
-        timeLeft = 'Expired';
-        console.log('Session valid < 1');
-        document.getElementById("time").style.background = "red";
-        document.getElementById("timer").innerHTML = timeLeft;
+    } 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 {
-        if (timeLeft > last) {
+        if ((timeLeft < last && timeLeft > 0) || last == -1) {
             last = timeLeft;
             console.log('Session valid < ' + timeLeft);
             timeLeft = '< ' + timeLeft + ' min';
This page took 0.029583 seconds and 5 git commands to generate.