View Issue Details

IDProjectCategoryView StatusLast Update
0016932mantisbtcode cleanuppublic2016-06-12 00:42
Reporterdregad Assigned Todregad  
PrioritylowSeverityminorReproducibilityN/A
Status closedResolutionfixed 
Target Version1.3.0-rc.2Fixed in Version1.3.0-rc.2 
Summary0016932: Move functions defined in adm_config_set.php to a core API
Description

As suggested by rombert [1], these functions ought to be moved to a core API file. This will enable implementation of PHPUnit tests for them (see 0016931).

[1] https://github.com/mantisbt/mantisbt/pull/131#issuecomment-34375823

Additional Information

Functions to move:

  • process_complex_value()
  • special_split()
  • constant_replace()
TagsNo tags attached.

Relationships

related to 0013298 closeddregad commas and multi-dimensional arrays in adm_config_set 
related to 0020787 closeddregad Setting of arrays (complex type) in Configuration Page doesn't work 
child of 0016931 closeddregad PHPUnit tests for admin config functions 

Activities

There are no notes attached to this issue.

Related Changesets

MantisBT: master 3ed60df1

2016-04-30 03:53

dregad


Details Diff
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

Includes PHPUnit test cases for the new parser code.

Fixes 0020787, 0020812, 0020813, 0020850, 0020851, 0016931, 0016932
PR https://github.com/mantisbt/mantisbt/pull/761
Affected Issues
0016931, 0016932, 0020787, 0020812, 0020813, 0020850, 0020851
mod - adm_config_set.php Diff File
add - core/classes/ConfigParser.class.php Diff File
add - core/classes/Tokenizer.class.php Diff File
mod - core/constant_inc.php Diff File
mod - lang/strings_english.txt Diff File
mod - tests/Mantis/AllTests.php Diff File
add - tests/Mantis/ConfigParserTest.php Diff File