diff --git a/lib/pear/HTML/QuickForm.php b/lib/pear/HTML/QuickForm.php index 0f566f2db55..60d7ce60cdf 100644 --- a/lib/pear/HTML/QuickForm.php +++ b/lib/pear/HTML/QuickForm.php @@ -1571,15 +1571,16 @@ class HTML_QuickForm extends HTML_Common { $elementList = array_flip($elementList); } + $frozen = []; foreach (array_keys($this->_elements) as $key) { $name = $this->_elements[$key]->getName(); if ($this->_freezeAll || isset($elementList[$name])) { $this->_elements[$key]->freeze(); - unset($elementList[$name]); + $frozen[$name] = true; } } - if (!empty($elementList)) { + if (count($elementList) != count($frozen)) { return self::raiseError(null, QUICKFORM_NONEXIST_ELEMENT, null, E_USER_WARNING, "Nonexistant element(s): '" . implode("', '", array_keys($elementList)) . "' in HTML_QuickForm::freeze()", 'HTML_QuickForm_Error', true); } return true; diff --git a/lib/pear/readme_moodle.txt b/lib/pear/readme_moodle.txt index 827f650e652..0e4f33fc404 100644 --- a/lib/pear/readme_moodle.txt +++ b/lib/pear/readme_moodle.txt @@ -39,6 +39,7 @@ MDL-78145 - PHP 8.2 compliance. Added a missing class property that still need t to avoid dynamic properties deprecated error warning. And also remove the $_elementIdx because it is not needed in Moodle code. MDL-78527 - Adding a sixth parameter to allow groups to use attributes. +MDL-80818 - Freezing all elements with the same name (e.g. radio buttons) Pear ====