MantisBT: master 8107ea50

Author Committer Branch Timestamp Parent
dregad dregad master 2016-04-22 03:04 master a5a08a6f
Affected Issues  0020787: Setting of arrays (complex type) in Configuration Page doesn't work
 0020812: Setting of nested arrays in Configuration Page doesn't work
 0020813: Setting Configuration Page of arrays with strings containing escaped quotes does not work
 0020850: Configuration page parsing complex trims quotes incorrectly
 0020851: Configuration page parsing associative keys incorrectly
Changeset

Parse complex configs using PHP tokenizer

Implements 2 classes to parse 'complex' config options in admin
Configuration Report page using PHP tokenizer instead of relying on
regular expressions.

  • Tokenizer calls token_get_all() to build a list of tokens from the
    given code
  • Parser uses a Tokenizer object to convert the code (string) to an
    actual PHP array variable

TODO: Move classes to an API and write automated tests

Fixes 0020787, 0020812, 0020813, 0020850, 0020851

mod - adm_config_set.php Diff File
mod - core/constant_inc.php Diff File
mod - lang/strings_english.txt Diff File