This is a workaround to make the output of xmlClass::xml2array() in PHP
7.2 equal to that of prior PHP versions.
Consider this fix to be a part 2 of #3026.
PHP 7.2 changed the behavior of how we extract tags from
SimpleXMLElement resources. This hack adds a toleration for either the
PHP 7.2 behavior and the past behavior, which allows consistent parsing
of XML files.
One side effect of this change is the fixing of an innocuous bug that
provided blank values in some "@value" keys that should not have existed
in the first place. This should hopefully have no practical effect on
current uses of the modified method.
Fixes: #3027
Since PHP 7.2, running get_object_vars() on a SimpleXMLElement object
may return sequential arrays rather than nothing if there were no
children.
This commit introduces a sanity check in xmlClass::xml2array() that
ensures child tags are processed rather than sequential array keys.
This sanity check does not affect past major versions of PHP.
Fixes: #3018
Supersedes: #3019
Implementation parses db_query parameter and extracts the offset and/or
count from `LIMIT {offset} OFFSET {count}` or syntactically similar
Fixes: #3015
Supersedes: #3016
Eliminated e107 dependency on the MySQL/MariaDB CREATE PROCEDURE permission
As a bonus, any attempt to use e107's native custom sorting (e.g.
`?field=cat_name&asc=desc`) will preserve the correct tree hierarchy. The past
behavior was to sort as requested but keep showing depth, even though the
apparent tree hierarchy would be wrong.
Fixes: #3015
Supercedes: #2929
db_verify::diffStructurePermissive() now checks for all MySQL/MariaDB numeric
types and permissively allows the expected and actual default values to be
strings rather than numerical.
Fixes: #3011
Related: #2998
Some e107 users and admins may use whitespace in their passwords, but the
client-side HTML validation currently prohibited them by default.
The server accepts passwords with whitespace if this client-side validation is
disabled, so there does not appear to be a technical reason for this
restriction.
This commit allows whitespaces in passwords by default.
Fixes: #3006
SMTP server max string length increased from 50 to 128
SMTP username max string length increased from 50 to 128
SMTP password max string length increased from 50 to 128
SMTP password is actually optional now, as intended
SMTP password now accepts spaces
SMTP password needs to be at least 4 characters long
Autocomplete disabled for Firefox 38+, Chrome 34+, and Internet Explorer 11+
Fixes: #3003
Regression in #2999 prevents db_verify from distinguishing fields from indices
This prevents database migrations where both the fields and the indices of a
field need to be updated in one migration.
This commit fixes that.
Fixes: #3001