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
if ($rs = $DB->get_recordset_sql($sql)) {
$rs = $DB->get_recordset_sql($sql);
foreach ($rs as $record) {
$completion = new completion_criteria_completion((array)$record);
$completion->mark_complete($record->timecompleted);
}
$rs->close();
}
}
/**
* 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
if ($rs = $DB->get_recordset_sql($sql)) {
$rs = $DB->get_recordset_sql($sql);
foreach ($rs as $record) {
$completion = new completion_criteria_completion((array)$record);
$completion->mark_complete($record->timecompleted);
}
$rs->close();
}
}
/**
* 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
if ($rs = $DB->get_recordset_sql($sql, array(time()))) {
$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();
}
}
/**
* 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
$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) {
$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
if ($record->otimestart) {
$completion->mark_complete($record->ctimestart);
}
else {
} else {
$completion->mark_complete($record->ctimeenrolled);
}
}
$rs->close();
}
}
/**
* 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
if ($rs = $DB->get_recordset_sql($sql)) {
$rs = $DB->get_recordset_sql($sql);
foreach ($rs as $record) {
$completion = new completion_criteria_completion((array)$record);
$completion->mark_complete($record->timecompleted);
}
$rs->close();
}
}
/**
* Return criteria progress details for display in reports

View 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;
}