MDL-25708 recordsets - fix completion
authorEloy Lafuente (stronk7) <stronk7@moodle.org>
Sun, 2 Jan 2011 15:39:29 +0000 (16:39 +0100)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Tue, 25 Jan 2011 18:59:00 +0000 (19:59 +0100)
lib/completion/completion_criteria_activity.php
lib/completion/completion_criteria_course.php
lib/completion/completion_criteria_date.php
lib/completion/completion_criteria_duration.php
lib/completion/completion_criteria_grade.php
lib/completion/cron.php

index feb5aa6..803dd94 100644 (file)
@@ -228,15 +228,13 @@ class completion_criteria_activity extends completion_criteria {
         ';
 
         // Loop through completions, and mark as complete
-        if ($rs = $DB->get_recordset_sql($sql)) {
-            foreach ($rs as $record) {
+        $rs = $DB->get_recordset_sql($sql);
+        foreach ($rs as $record) {
 
-                $completion = new completion_criteria_completion((array)$record);
-                $completion->mark_complete($record->timecompleted);
-            }
-
-            $rs->close();
+            $completion = new completion_criteria_completion((array)$record);
+            $completion->mark_complete($record->timecompleted);
         }
+        $rs->close();
     }
 
     /**
index afafeb5..2107c21 100644 (file)
@@ -185,14 +185,12 @@ class completion_criteria_course extends completion_criteria {
         ";
 
         // Loop through completions, and mark as complete
-        if ($rs = $DB->get_recordset_sql($sql)) {
-            foreach ($rs as $record) {
-                $completion = new completion_criteria_completion((array)$record);
-                $completion->mark_complete($record->timecompleted);
-            }
-
-            $rs->close();
+        $rs = $DB->get_recordset_sql($sql);
+        foreach ($rs as $record) {
+            $completion = new completion_criteria_completion((array)$record);
+            $completion->mark_complete($record->timecompleted);
         }
+        $rs->close();
     }
 
     /**
index 9551a88..9bd66a2 100644 (file)
@@ -178,15 +178,12 @@ class completion_criteria_date extends completion_criteria {
         ';
 
         // Loop through completions, and mark as complete
-        if ($rs = $DB->get_recordset_sql($sql, array(time()))) {
-            foreach ($rs as $record) {
-
-                $completion = new completion_criteria_completion((array)$record);
-                $completion->mark_complete($record->timeend);
-            }
-
-            $rs->close();
+        $rs = $DB->get_recordset_sql($sql, array(time()));
+        foreach ($rs as $record) {
+            $completion = new completion_criteria_completion((array)$record);
+            $completion->mark_complete($record->timeend);
         }
+        $rs->close();
     }
 
     /**
index 96847ec..bb4ab66 100644 (file)
@@ -219,22 +219,19 @@ class completion_criteria_duration extends completion_criteria {
 
         // Loop through completions, and mark as complete
         $now = time();
-        if ($rs = $DB->get_recordset_sql($sql, array($now, $now))) {
-            foreach ($rs as $record) {
+        $rs = $DB->get_recordset_sql($sql, array($now, $now));
+        foreach ($rs as $record) {
 
-                $completion = new completion_criteria_completion((array)$record);
+            $completion = new completion_criteria_completion((array)$record);
 
-                // Use time start if not 0, otherwise use timeenrolled
-                if ($record->otimestart) {
-                    $completion->mark_complete($record->ctimestart);
-                }
-                else {
-                    $completion->mark_complete($record->ctimeenrolled);
-                }
+            // Use time start if not 0, otherwise use timeenrolled
+            if ($record->otimestart) {
+                $completion->mark_complete($record->ctimestart);
+            } else {
+                $completion->mark_complete($record->ctimeenrolled);
             }
-
-            $rs->close();
         }
+        $rs->close();
     }
 
     /**
index 985942a..00e75ab 100644 (file)
@@ -214,15 +214,12 @@ class completion_criteria_grade extends completion_criteria {
         ';
 
         // Loop through completions, and mark as complete
-        if ($rs = $DB->get_recordset_sql($sql)) {
-            foreach ($rs as $record) {
-
-                $completion = new completion_criteria_completion((array)$record);
-                $completion->mark_complete($record->timecompleted);
-            }
-
-            $rs->close();
+        $rs = $DB->get_recordset_sql($sql);
+        foreach ($rs as $record) {
+            $completion = new completion_criteria_completion((array)$record);
+            $completion->mark_complete($record->timecompleted);
         }
+        $rs->close();
     }
 
     /**
index 1c30809..281a9d7 100644 (file)
@@ -118,9 +118,12 @@ function completion_cron_mark_started() {
             userid
     ";
 
-    // Check if result is empty
     $now = time();
-    if (!$rs = $DB->get_recordset_sql($sql, array($now, $now, $now, $now))) {
+    $rs = $DB->get_recordset_sql($sql, array($now, $now, $now, $now));
+
+    // Check if result is empty
+    if (!$rs->valid()) {
+        $rs->close(); // Not going to iterate (but exit), close rs
         return;
     }
 
@@ -267,8 +270,11 @@ function completion_cron_completions() {
             userid
     ';
 
+    $rs = $DB->get_recordset_sql($sql, array('timestarted' => $timestarted));
+
     // Check if result is empty
-    if (!$rs = $DB->get_recordset_sql($sql, array('timestarted' => $timestarted))) {
+    if (!$rs->valid()) {
+        $rs->close(); // Not going to iterate (but exit), close rs
         return;
     }