"Admin => Misc" - Fix validation of "Maximum File Size"
authorTim Otten <totten@civicrm.org>
Thu, 14 Jan 2021 03:15:11 +0000 (19:15 -0800)
committerTim Otten <totten@civicrm.org>
Thu, 14 Jan 2021 03:25:17 +0000 (19:25 -0800)
commit05358826de3a09e116e86548eff315477b02129e
treeabb35a9e2b2d98042348116d38e02df70e5142a4
parent61c99fc939d6368f9d6f9cc2f5363580d6afcfd6
"Admin => Misc" - Fix validation of "Maximum File Size"

The form "Administer => System Settings => Miscellaneous" has a field for "Maximum File Size".

I was on a workstation where the PHP-default and the Civi-default were disagreeable, so
(by default) I couldn't submit the form. So I noticed some quirks -- fixed below.

Before
------

* The error message tells you that the "Maximum File Size" disagrees with a setting in `php.ini`.
  Hopefully, you know what+where of "php.ini", otherwise you'll be at a loss for what value is acceptable.
* The validation assumes that `upload_max_filesize` is expressed in unit-megabytes. But `php.ini` actually
  allows different units (`2m`, `2048k`, `1g`, `2097152`). The comparison is incorrect
  if any other unit is used. (ex: If `php.ini has `upload_max_filesize=1g`, and if the requested
  limit is `2` megabytes, then it should accept - but it rejects due to mismatched units.)

After
-----

* Error message tells you what you need to know.
* Validator correctly interprets the units used in `php.ini`'s `upload_max_filesize`.
CRM/Admin/Form/Setting/Miscellaneous.php