MDL-36855 scorm: update to api get_scorm_question_count()
authorAnkit Agarwal <ankit@moodle.com>
Thu, 3 Jan 2013 06:40:03 +0000 (14:40 +0800)
committerAnkit Agarwal <ankit@moodle.com>
Thu, 3 Jan 2013 06:42:18 +0000 (14:42 +0800)
get_scorm_question_count() should return 0 not 1 when no attempt is made in a scorm by any student

mod/scorm/report/reportlib.php

index 8ea5525..21aa851 100644 (file)
@@ -68,14 +68,16 @@ function get_scorm_question_count($scormid) {
     $params[] = "cmi.interactions_%.id";
     $rs = $DB->get_recordset_select("scorm_scoes_track", $select, $params, 'element');
     $keywords = array("cmi.interactions_", ".id");
-    foreach ($rs as $record) {
-        $num = trim(str_ireplace($keywords, '', $record->element));
-        if (is_numeric($num) && $num > $count) {
-            $count = $num;
+    if ($rs->valid()) {
+        // Done as interactions start at 0 (do only if we have something to report).
+        $count++;
+        foreach ($rs as $record) {
+            $num = trim(str_ireplace($keywords, '', $record->element));
+            if (is_numeric($num) && $num > $count) {
+                $count = $num;
+            }
         }
     }
-    //done as interactions start at 0
-    $count++;
     $rs->close(); // closing recordset
     return $count;
 }