MDL-44732 add cli script for execution of scheduled tasks
[moodle.git] / mod / lesson / timer.js
blobd21267d53ab37b0f9216c9e0b054328a44b2b556
1 /*/////////////////////////////////////////////////////////
2 // This code is based off of
3 // "Live Clock Lite" script - Version 1.0
4 // By Mark Plachetta (astroboy@zip.com.au)
5 //
6 // The original script displayed a clock.
7 // Mark Nielsen modified it to be a countdown timer
8 // for the lesson module in moodle.
9 //
10 //    Below is the code that is used to call this page.
11 //    echo "<script type=\"text/javascript\">\n";
12 //        echo "var starttime = ". $timer->starttime . ";\n";
13 //        echo "var servertime = ". time() . ";\n";
14 //        echo "var testlength = ". $lesson->maxtime * 60 .";\n";
15 //        echo "document.write('<script type=\"text/javascript\" src=\"liveclock_lite.js\"><\/script>');\n";
16 //        echo "window.onload = function () { show_clock(); }";
17 //    echo "</script>\n";
19 //////////////////////////////////////////////////////////*/
21     var myfont_face = "Arial";
22     var myfont_size = "12";
23     var myfont_color = "#000000";
24     var myback_color = "#FFFFFF";
25     var mywidth = 80;
26     var my12_hour = 1;
27     var stopclock = 0;
28     var myclock = '';
29     var timeleft, hours, minutes, secs;
30     var javatimeDate = new Date();
31     var javatime = javatimeDate.getTime();
32     javatime = Math.floor(javatime/1000);
34     var dn = "";
35     var old = "";
37     if (document.all||document.getElementById) {
38         document.write('<span id="LiveClockIE" style="width:'+mywidth+'px;"></span>');
39     } else if (document.layers) {
40         document.write('<ilayer id="ClockPosNS"><layer width="'+mywidth+'" id="LiveClockNS"></layer></ilayer>');
41     } else {
42         old = "true"; show_clock();
43     }
45     /*function leave() {  // feable attempt to run a script when someone leaves a timed test early, failed so far
46         window.onunload = window.open('http://www.google.com','','toolbar=no,menubar=no,location=no,height=500,width=500');
47     }
48     leave();*/
50     function show_clock() {
52         if (typeof(clocksettings) != 'undefined') {
53             if (clocksettings.starttime) {
54                 starttime = parseInt(clocksettings.starttime);
55             }
56             if (clocksettings.servertime) {
57                 servertime =  parseInt(clocksettings.servertime);
58             }
59             if (clocksettings.testlength) {
60                 testlength =  parseInt(clocksettings.testlength);
61             }
62         }
64         difference = javatime - servertime;
65         starttime = starttime + difference;
67         //show clock in NS 4
68         if (document.layers)
69                 document.ClockPosNS.visibility="show";
70         if (old == "die") { return; }
72         currentDate = new Date();
73         current = currentDate.getTime();
74         current = Math.floor(current/1000);
76         var myclock = '<font style="color:'+myfont_color+'; font-family:'+myfont_face+'; font-size:'+myfont_size+'pt;">';
77         if (current > starttime + testlength) {
78             myclock += "Time is up";
79             stopclock = 1;
80         } else {
81             timeleft = starttime + testlength - current;
82             hours = Math.floor(timeleft/3600);
83             timeleft = timeleft - (hours * 3600);
84             minutes = Math.floor(timeleft/60);
85             secs = timeleft - (minutes * 60);
87             if (secs < 10) {
88                 secs = "0"+secs;
89             }
90             if (minutes < 10) {
91                 minutes = "0"+minutes;
92             }
93             myclock += hours+":"+minutes+":"+secs;
94         }
95         myclock += '</font>';
97         if (old == "true") {
98             document.write(myclock);
99             old = "die"; return;
100         }
102         if (document.layers) {
103             clockpos = document.ClockPosNS;
104             liveclock = clockpos.document.LiveClockNS;
105             liveclock.document.write(myclock);
106             liveclock.document.close();
107         } else if (document.all) {
108             LiveClockIE.innerHTML = myclock;
109         } else if (document.getElementById) {
110             document.getElementById("LiveClockIE").innerHTML = myclock;
111         }
113         if (stopclock == 0) {
114             setTimeout("show_clock()",1000);
115         }