Add "+setting" type code (adding to the existing global) into getAll, since that is what we use on Wikimedia

This commit is contained in:
Andrew Garrett 2008-08-20 12:56:59 +00:00
parent e75a08f1bc
commit 8736d07448

View file

@ -121,9 +121,18 @@ class SiteConfiguration {
function getAll( $wiki, $suffix, $params, $wikiTags = array() ) {
$localSettings = array();
foreach ( $this->settings as $varname => $stuff ) {
$append = false;
$var = $varname;
if ( substr( $varname, 0, 1 ) == '+' ) {
$append = true;
$var = substr( $varname, 1 );
}
$value = $this->get( $varname, $wiki, $suffix, $params, $wikiTags );
if ( $append && is_array($value) && is_array( $GLOBALS[$var] ) )
$value = array_merge( $value, $GLOBALS[$var] );
if ( !is_null( $value ) ) {
$localSettings[$varname] = $value;
$localSettings[$var] = $value;
}
}
return $localSettings;