MDL-26242 quiz reports. No students in course => get_in_or_equal doesn't like empty arrays error

This commit is contained in:
Tim Hunt
2011-02-02 16:40:14 +00:00
parent eef3578af0
commit 5f11e00db1
+11 -9
View File
@@ -57,16 +57,18 @@ class quiz_report_overview_table extends table_sql {
$this->add_data_keyed($groupaveragerow);
}
list($s_usql, $s_params) = $DB->get_in_or_equal($this->students);
$overallaverage = $DB->get_record_sql($averagesql." AND qg.userid $s_usql", array_merge($params, $s_params));
$overallaveragerow = array($namekey => get_string('overallaverage', 'grades'),
'sumgrades' => quiz_format_grade($this->quiz, $overallaverage->grade),
'feedbacktext'=> strip_tags(quiz_report_feedback_for_grade($overallaverage->grade, $this->quiz->id, $this->context)));
if($this->detailedmarks && ($this->qmsubselect || $this->quiz->attempts == 1)) {
$avggradebyq = quiz_get_average_grade_for_questions($this->quiz, $this->students);
$overallaveragerow += quiz_format_average_grade_for_questions($avggradebyq, $this->questions, $this->quiz, $this->is_downloading());
if ($this->students) {
list($s_usql, $s_params) = $DB->get_in_or_equal($this->students);
$overallaverage = $DB->get_record_sql($averagesql." AND qg.userid $s_usql", array_merge($params, $s_params));
$overallaveragerow = array($namekey => get_string('overallaverage', 'grades'),
'sumgrades' => quiz_format_grade($this->quiz, $overallaverage->grade),
'feedbacktext'=> strip_tags(quiz_report_feedback_for_grade($overallaverage->grade, $this->quiz->id, $this->context)));
if($this->detailedmarks && ($this->qmsubselect || $this->quiz->attempts == 1)) {
$avggradebyq = quiz_get_average_grade_for_questions($this->quiz, $this->students);
$overallaveragerow += quiz_format_average_grade_for_questions($avggradebyq, $this->questions, $this->quiz, $this->is_downloading());
}
$this->add_data_keyed($overallaveragerow);
}
$this->add_data_keyed($overallaveragerow);
}
}