aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2014-08-09 11:43:56 +0200
committerJoas Schilling <nickvergessen@gmx.de>2014-08-09 11:43:56 +0200
commit7a016572bdc57d46624042abdbb47195033aaea6 (patch)
treecc9913c8c47be7b1af3ff7720f97aa686c24853a /phpBB/includes
parentdeaa0a8c758acb14a1944c5d3c1fa24364f503c4 (diff)
parentced76b5f4daed59f7b58fadc8c955c7b76373cf5 (diff)
downloadforums-7a016572bdc57d46624042abdbb47195033aaea6.tar
forums-7a016572bdc57d46624042abdbb47195033aaea6.tar.gz
forums-7a016572bdc57d46624042abdbb47195033aaea6.tar.bz2
forums-7a016572bdc57d46624042abdbb47195033aaea6.tar.xz
forums-7a016572bdc57d46624042abdbb47195033aaea6.zip
Merge pull request #2724 from VSEphpbb/ticket/12841
[ticket/12841] Allow extensions to position new config vars * VSEphpbb/ticket/12841: [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/includes')
-rw-r--r--phpBB/includes/functions_acp.php27
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;
+}