From 8e98f82f12d0a5d360100342be3a7f2da5ff5764 Mon Sep 17 00:00:00 2001 From: "Eloy Lafuente (stronk7)" Date: Mon, 28 Oct 2019 02:50:24 +0100 Subject: [PATCH] MDL-67049 grading: options are array, ensure json_decode() knows it By default json_decode() returns object for associative arrays. That was not a problem till now becuause array_key_exists() worked with objects too. But in php74 that emits a warning. So we need to ensure that the information arriving to it is an array, allowing everything to continue working ok. --- grade/grading/form/rubric/lib.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grade/grading/form/rubric/lib.php b/grade/grading/form/rubric/lib.php index 361e73beecb..a5783156642 100644 --- a/grade/grading/form/rubric/lib.php +++ b/grade/grading/form/rubric/lib.php @@ -386,7 +386,7 @@ class gradingform_rubric_controller extends gradingform_controller { public function get_options() { $options = self::get_default_options(); if (!empty($this->definition->options)) { - $thisoptions = json_decode($this->definition->options); + $thisoptions = json_decode($this->definition->options, true); // Assoc. array is expected. foreach ($thisoptions as $option => $value) { $options[$option] = $value; } -- 2.43.0