From 95d5b0aab0972bd749c5ac7030ee33985520c6db Mon Sep 17 00:00:00 2001 From: Jun Pataleta Date: Tue, 28 Mar 2023 18:48:31 +0800 Subject: [PATCH] MDL-77105 core: Cast custom data to an array when evaluating filtericon Since other modules may treat custom data as an object, we need to make cast it to an array before evaluating for the `filtericon` custom data. --- lib/modinfolib.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/modinfolib.php b/lib/modinfolib.php index bb5b3bc3543..9d85fc872bb 100644 --- a/lib/modinfolib.php +++ b/lib/modinfolib.php @@ -1809,7 +1809,8 @@ class cm_info implements IteratorAggregate { // Determine whether the icon will be filtered in the CSS. // This can be controlled by the module by declaring a 'filtericon' custom data. // If the 'filtericon' custom data is not set, icon filtering will be determined whether the module has a `monologo` icon. - $filtericon = $this->customdata['filtericon'] ?? $ismonologo; + // Additionally, we need to cast custom data to array as some modules may treat it as an object. + $filtericon = ((array)$this->customdata)['filtericon'] ?? $ismonologo; if ($filtericon) { $icon->param('filtericon', 1); }