From 0491f5070c2e1c0931aeb74d06cd47101e9fdcd9 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 10 Aug 2016 12:24:01 +0200 Subject: [baseconfig] Make shadow definition a json (sub)object; fix some display errors --- .../baseconfig/inc/baseconfigutil.inc.php | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'modules-available/baseconfig/inc') diff --git a/modules-available/baseconfig/inc/baseconfigutil.inc.php b/modules-available/baseconfig/inc/baseconfigutil.inc.php index ebaefbcf..75173ee6 100644 --- a/modules-available/baseconfig/inc/baseconfigutil.inc.php +++ b/modules-available/baseconfig/inc/baseconfigutil.inc.php @@ -47,4 +47,26 @@ class BaseConfigUtil return $categories; } + /** + * Mark variables that would be shadowed according to the given values. + * + * @param $vars list of vars as obtained from BaseConfigUtil::getVariables() + * @param $values key-value-pairs of variable assignments to work with + */ + public static function markShadowedVars(&$vars, $values) { + foreach ($vars as $key => &$var) { + if (!isset($var['shadows'])) + continue; + foreach ($var['shadows'] as $triggerVal => $destSettings) { + if (isset($values[$key]) && $values[$key] !== $triggerVal) + continue; + foreach ($destSettings as $destSetting) { + if (isset($vars[$destSetting])) { + $vars[$destSetting]['shadowed'] = true; + } + } + } + } + } + } -- cgit v1.2.3-55-g7522