Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

MDL-34589 quiz report graphs: PHP5.4 issue with unset($array[$float]).

Thanks to Matthew Davidson for diagnosing the problem.
  • Loading branch information...
commit 59b983a5d9d642ff2541469fe5627f92301bea1d 1 parent 6975216
@timhunt timhunt authored
View
4 mod/quiz/report/overview/overviewgraph.php
@@ -89,7 +89,9 @@
}
}
-$bands = ceil($bands);
+// See MDL-34589. Using doubles as array keys causes problems in PHP 5.4,
+// hence the explicit cast to int.
+$bands = (int) ceil($bands);
$bandwidth = $quiz->grade / $bands;
$bandlabels = array();
for ($i = 1; $i <= $bands; $i++) {
View
7 mod/quiz/report/reportlib.php
@@ -191,6 +191,11 @@ function quiz_report_qm_filter_select($quiz, $quizattemptsalias = 'quiza') {
*/
function quiz_report_grade_bands($bandwidth, $bands, $quizid, $userids = array()) {
global $DB;
+ if (!is_int($bands)) {
+ debugging('$bands passed to quiz_report_grade_bands must be an integer. (' .
+ gettype($bands) . ' passed.)', DEBUG_DEVELOPER);
+ $bands = (int) $bands;
+ }
if ($userids) {
list($usql, $params) = $DB->get_in_or_equal($userids, SQL_PARAMS_NAMED, 'u');
@@ -220,7 +225,7 @@ function quiz_report_grade_bands($bandwidth, $bands, $quizid, $userids = array()
$data = $DB->get_records_sql_menu($sql, $params);
// We need to create array elements with values 0 at indexes where there is no element.
- $data = $data + array_fill(0, $bands+1, 0);
+ $data = $data + array_fill(0, $bands + 1, 0);
ksort($data);
// Place the maximum (prefect grade) into the last band i.e. make last
Please sign in to comment.
Something went wrong with that request. Please try again.