aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2014-08-09 11:44:18 +0200
committerJoas Schilling <nickvergessen@gmx.de>2014-08-09 11:44:18 +0200
commitd497104671834c4f9e37453379a072a3ef602954 (patch)
tree8df840a7eefef6e0a77c3cabca6c339e690fb7a0 /phpBB
parent44295bae74cdb9969a45d81ff5e629ca9e430c95 (diff)
parent7a016572bdc57d46624042abdbb47195033aaea6 (diff)
downloadforums-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.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;
+}