]> git.mjollnir.org Git - moodle.git/commitdiff
mod-lesson MDL-16706 Removed inline scripts and modified timer to take obj args
authorsamhemelryk <samhemelryk>
Thu, 25 Jun 2009 06:29:41 +0000 (06:29 +0000)
committersamhemelryk <samhemelryk>
Thu, 25 Jun 2009 06:29:41 +0000 (06:29 +0000)
mod/lesson/locallib.php
mod/lesson/timer.js
theme/standard/styles_layout.css

index d475e1b2dffe902cbb3b99dc16600a675aa84d94..aa11734fe23161f439ed4e9695314b96280ea081 100644 (file)
@@ -1765,25 +1765,21 @@ function lesson_print_mediafile_block($cmid, $lesson) {
  * @return void
  **/
 function lesson_print_clock_block($cmid, $lesson, $timer) {
-    global $CFG;
+    global $CFG, $PAGE;
 
     $context = get_context_instance(CONTEXT_MODULE, $cmid);
 
     // Display for timed lessons and for students only
     if($lesson->timed and !has_capability('mod/lesson:manage', $context) and !empty($timer)) {
-        $content  = '<script type="text/javascript" charset="utf-8">'."\n";
-        $content .= "<!--\n";
-        $content .= '    var starttime  = '.$timer->starttime.";\n";
-        $content .= '    var servertime = '.time().";\n";
-        $content .= '    var testlength = '.($lesson->maxtime * 60).";\n";
-        $content .= '    document.write(\'<script type="text/javascript" src="'.$CFG->wwwroot.'/mod/lesson/timer.js" charset="utf-8"><\/script>\');'."\n";
-        $content .= "    window.onload = function () { show_clock(); };\n";
-        $content .= "// -->\n";
-        $content .= "</script>\n";
-        $content .= "<noscript>\n";
+
+        $clocksettings = Array('starttime'=>$timer->starttime, 'servertime'=>time(),'testlength'=>($lesson->maxtime * 60));
+        $content = $PAGE->requires->data_for_js('clocksettings', $clocksettings)->asap();
+        $content .= $PAGE->requires->js('mod/lesson/timer.js')->asap();
+        $content .= $PAGE->requires->js_function_call('show_clock')->asap();
+        $content .= '<div class="jshidewhenenabled">';
         $content .= lesson_print_time_remaining($timer->starttime, $lesson->maxtime, true)."\n";
-        $content .= "</noscript>\n";
-    
+        $content .= '</div>';
+
         print_side_block(get_string('timeremaining', 'lesson'), $content, NULL, NULL, '', array('class' => 'clock'), get_string('timeremaining', 'lesson'));
     }
 }
index 4f6290d0d538b14e5372d3a22e64da6cd2bf4f5c..9b0aa4f633a9ea844d2302738eeeaec689249a47 100644 (file)
     var javatimeDate = new Date();
     var javatime = javatimeDate.getTime();
     javatime = Math.floor(javatime/1000);
-    
+
+    if (typeof(clocksettings)!='undefined') {
+        if (clocksettings.starttime) {
+            starttime = parseInt(clocksettings.starttime);
+        }
+        if (clocksettings.servertime) {
+            servertime =  parseInt(clocksettings.servertime);
+        }
+        if (clocksettings.testlength) {
+            testlength =  parseInt(clocksettings.testlength);
+        }
+    }
+   
     difference = javatime - servertime;    
     starttime = starttime + difference;
 
index 4516387a4c7fff1ee3a385c08d0fa1eee171a855..d20b5e7628f470cb2a27c26d904f0f6a5f541bfa 100644 (file)
@@ -4295,6 +4295,10 @@ body#mod-forum-search .introcontent {
   text-align: left;
 }
 
+body.jsenabled .jshidewhenenabled {
+  display:none;
+}
+
 /***
  *** Modules: Quiz
  ***/