MDL-25708 recordsets - fix completion

This commit is contained in:
Eloy Lafuente (stronk7) 2011-01-02 16:39:29 +01:00
parent b967c54185
commit 419178d713
6 changed files with 38 additions and 45 deletions

View file

@ -228,16 +228,14 @@ class completion_criteria_activity extends completion_criteria {
'; ';
// Loop through completions, and mark as complete // Loop through completions, and mark as complete
if ($rs = $DB->get_recordset_sql($sql)) { $rs = $DB->get_recordset_sql($sql);
foreach ($rs as $record) { foreach ($rs as $record) {
$completion = new completion_criteria_completion((array)$record); $completion = new completion_criteria_completion((array)$record);
$completion->mark_complete($record->timecompleted); $completion->mark_complete($record->timecompleted);
} }
$rs->close(); $rs->close();
} }
}
/** /**
* Return criteria progress details for display in reports * Return criteria progress details for display in reports

View file

@ -185,15 +185,13 @@ class completion_criteria_course extends completion_criteria {
"; ";
// Loop through completions, and mark as complete // Loop through completions, and mark as complete
if ($rs = $DB->get_recordset_sql($sql)) { $rs = $DB->get_recordset_sql($sql);
foreach ($rs as $record) { foreach ($rs as $record) {
$completion = new completion_criteria_completion((array)$record); $completion = new completion_criteria_completion((array)$record);
$completion->mark_complete($record->timecompleted); $completion->mark_complete($record->timecompleted);
} }
$rs->close(); $rs->close();
} }
}
/** /**
* Return criteria progress details for display in reports * Return criteria progress details for display in reports

View file

@ -178,16 +178,13 @@ class completion_criteria_date extends completion_criteria {
'; ';
// Loop through completions, and mark as complete // Loop through completions, and mark as complete
if ($rs = $DB->get_recordset_sql($sql, array(time()))) { $rs = $DB->get_recordset_sql($sql, array(time()));
foreach ($rs as $record) { foreach ($rs as $record) {
$completion = new completion_criteria_completion((array)$record); $completion = new completion_criteria_completion((array)$record);
$completion->mark_complete($record->timeend); $completion->mark_complete($record->timeend);
} }
$rs->close(); $rs->close();
} }
}
/** /**
* Return criteria progress details for display in reports * Return criteria progress details for display in reports

View file

@ -219,7 +219,7 @@ class completion_criteria_duration extends completion_criteria {
// Loop through completions, and mark as complete // Loop through completions, and mark as complete
$now = time(); $now = time();
if ($rs = $DB->get_recordset_sql($sql, array($now, $now))) { $rs = $DB->get_recordset_sql($sql, array($now, $now));
foreach ($rs as $record) { foreach ($rs as $record) {
$completion = new completion_criteria_completion((array)$record); $completion = new completion_criteria_completion((array)$record);
@ -227,15 +227,12 @@ class completion_criteria_duration extends completion_criteria {
// Use time start if not 0, otherwise use timeenrolled // Use time start if not 0, otherwise use timeenrolled
if ($record->otimestart) { if ($record->otimestart) {
$completion->mark_complete($record->ctimestart); $completion->mark_complete($record->ctimestart);
} } else {
else {
$completion->mark_complete($record->ctimeenrolled); $completion->mark_complete($record->ctimeenrolled);
} }
} }
$rs->close(); $rs->close();
} }
}
/** /**
* Return criteria progress details for display in reports * Return criteria progress details for display in reports

View file

@ -214,16 +214,13 @@ class completion_criteria_grade extends completion_criteria {
'; ';
// Loop through completions, and mark as complete // Loop through completions, and mark as complete
if ($rs = $DB->get_recordset_sql($sql)) { $rs = $DB->get_recordset_sql($sql);
foreach ($rs as $record) { foreach ($rs as $record) {
$completion = new completion_criteria_completion((array)$record); $completion = new completion_criteria_completion((array)$record);
$completion->mark_complete($record->timecompleted); $completion->mark_complete($record->timecompleted);
} }
$rs->close(); $rs->close();
} }
}
/** /**
* Return criteria progress details for display in reports * Return criteria progress details for display in reports

View file

@ -118,9 +118,12 @@ function completion_cron_mark_started() {
userid userid
"; ";
// Check if result is empty
$now = time(); $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; return;
} }
@ -267,8 +270,11 @@ function completion_cron_completions() {
userid userid
'; ';
$rs = $DB->get_recordset_sql($sql, array('timestarted' => $timestarted));
// Check if result is empty // 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; return;
} }