diff options
author | Christian Klinger | 2016-08-22 11:24:03 +0200 |
---|---|---|
committer | Christian Klinger | 2016-08-22 11:24:03 +0200 |
commit | d3c689c6730ca6749c03ffd01c670f7b191e8355 (patch) | |
tree | 9e2d7caa1ed3c45b4757621202087a64e5e87cc9 /modules-available/baseconfig/inc | |
parent | css fix/hack to get roomplanner to work on medium sized screens. (diff) | |
parent | [dozmod] Expect the client to tell wether it is running in exam mode and comp... (diff) | |
download | slx-admin-d3c689c6730ca6749c03ffd01c670f7b191e8355.tar.gz slx-admin-d3c689c6730ca6749c03ffd01c670f7b191e8355.tar.xz slx-admin-d3c689c6730ca6749c03ffd01c670f7b191e8355.zip |
Merge branch 'modularization' of git.openslx.org:openslx-ng/slx-admin into modularization
Diffstat (limited to 'modules-available/baseconfig/inc')
-rw-r--r-- | modules-available/baseconfig/inc/baseconfigutil.inc.php | 22 |
1 files changed, 22 insertions, 0 deletions
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; + } + } + } + } + } + } |