MOODLE-SPECIFIC PEAR MODIFICATIONS
==================================

XML/Parser
=================
1/ changed ereg_ to preg_
* http://cvs.moodle.org/moodle/lib/pear/XML/Parser.php.diff?r1=1.1&r2=1.2


Quickforms
==========
Full of our custom hacks, no way to upgrade to latest upstream.
Most probably we will stop using this library in the future.

Just dropping a couple of links here, for whenever we update/switch or whatever:
- QF2: https://github.com/pear/HTML_QuickForm2 (https://moodle.org/mod/forum/discuss.php?d=200124)
- Quickform (fork): https://github.com/openpsa/quickform

MDL-20876 - replaced split() with explode() or preg_split() where appropriate
MDL-40267 - Moodle core_text strlen functions used for range rule rule to be utf8 safe.
MDL-46467 - $mform->hardfreeze causes labels to loose their for HTML attribute
MDL-52081 - made all constructors PHP7 compatible
MDL-52826 - Remove onsubmit events pointing to the global validation functions and script
            tag moved after the HTML
MDL-50484 - _getPersistantData() returns id with _persistant prefixed to element id.
MDL-55123 - corrected call to non-static functions in HTML_QuickForm to be PHP7.1-compliant
MDL-60281 - replaced deprecated create_function() with lambda functions for PHP7.2 compatibility
MDL-70711 - removed unnecessary if-else conditional block in HTML_QuickForm as the given
            condition always evaluates to false due to the deprecated get_magic_quotes_gpc()
            which always returns false
MDL-70457 - PHP 7.4 curly brackets string access fix.
MDL-71126 - Quiz: Manual grading page size preference can get stuck at 0
            Including in this change:
             - New positiveint regex rule to check if the value is a positive integer
MDL-76102 / MDL-77081 / MDL-83835
            PHP 8.1 passing null to a non-nullable argument of a built-in function is deprecated
MDL-77164 - PHPdocs corrections
MDL-78145 - PHP 8.2 compliance. Added a missing class property that still need to be declared
            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)
MDL-80820 - PHPdocs corrections
MDL-73700 - remove old PHP version check and dead code
MDL-85820 - Remove unnecessary `-` character beside each client validation error message for consistency with the server side
            validation error messages.

Pear
====
It was decided that we will not upgrade this library from upstream any more, see MDL-52465

Changed constructors in classes PEAR and PEAR_ERROR to be __construct().
MDL-60281 - replaced deprecated function each() with foreach loop for PHP7.2 compatibility
