diff options
| author | Joas Schilling <nickvergessen@gmx.de> | 2014-08-09 11:44:18 +0200 |
|---|---|---|
| committer | Joas Schilling <nickvergessen@gmx.de> | 2014-08-09 11:44:18 +0200 |
| commit | d497104671834c4f9e37453379a072a3ef602954 (patch) | |
| tree | 8df840a7eefef6e0a77c3cabca6c339e690fb7a0 /phpBB | |
| parent | 44295bae74cdb9969a45d81ff5e629ca9e430c95 (diff) | |
| parent | 7a016572bdc57d46624042abdbb47195033aaea6 (diff) | |
| download | forums-d497104671834c4f9e37453379a072a3ef602954.tar forums-d497104671834c4f9e37453379a072a3ef602954.tar.gz forums-d497104671834c4f9e37453379a072a3ef602954.tar.bz2 forums-d497104671834c4f9e37453379a072a3ef602954.tar.xz forums-d497104671834c4f9e37453379a072a3ef602954.zip | |
Merge branch 'develop-ascraeus' into develop
* develop-ascraeus:
[ticket/12841] Make config position default to after
[ticket/12841] Update comments in tests making after default
[ticket/12841] prefix function name with phpbb_
[ticket/12841] Add a tests for the new function
[ticket/12841] Fix white space issues reported by sniffer
[ticket/12841] Allow extensions to position new config vars
Diffstat (limited to 'phpBB')
| -rw-r--r-- | phpBB/includes/functions_acp.php | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/phpBB/includes/functions_acp.php b/phpBB/includes/functions_acp.php index ad5a359710..abf726581d 100644 --- a/phpBB/includes/functions_acp.php +++ b/phpBB/includes/functions_acp.php @@ -655,3 +655,30 @@ function validate_range($value_ary, &$error) } } } + +/** +* Inserts new config display_vars into an exisiting display_vars array +* at the given position. +* +* @param array $display_vars An array of existing config display vars +* @param array $add_config_vars An array of new config display vars +* @param array $where Where to place the new config vars, +* before or after an exisiting config, as an array +* of the form: array('after' => 'config_name') or +* array('before' => 'config_name'). +* @return array The array of config display vars +*/ +function phpbb_insert_config_array($display_vars, $add_config_vars, $where) +{ + if (is_array($where) && array_key_exists(current($where), $display_vars)) + { + $position = array_search(current($where), array_keys($display_vars)) + ((key($where) == 'before') ? 0 : 1); + $display_vars = array_merge( + array_slice($display_vars, 0, $position), + $add_config_vars, + array_slice($display_vars, $position) + ); + } + + return $display_vars; +} |
