X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;ds=sidebyside;f=includes%2FSiteConfiguration.php;h=8fd5d6b6bdb9daded40e277b5af441f1a800319d;hb=da174ad7c49abb560a9a571de2580ea2d59d9a99;hp=e3befe7dbce6ce451cd92dc130448b69b6397473;hpb=157861bc31bdf7058328cee47ec296cb693c6a55;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/SiteConfiguration.php b/includes/SiteConfiguration.php index e3befe7dbc..8fd5d6b6bd 100644 --- a/includes/SiteConfiguration.php +++ b/includes/SiteConfiguration.php @@ -1,12 +1,12 @@ settings[$setting] ) ) { - $retval = $this->settings[$setting][$wiki]; - } elseif ( array_key_exists( $suffix, $this->settings[$setting] ) ) { - $retval = $this->settings[$setting][$suffix]; - } elseif ( array_key_exists( 'default', $this->settings[$setting] ) ) { - $retval = $this->settings[$setting]['default']; + if ( array_key_exists( $setting, $this->settings ) ) { + if ( array_key_exists( $wiki, $this->settings[$setting] ) ) { + $retval = $this->settings[$setting][$wiki]; + } elseif ( array_key_exists( $suffix, $this->settings[$setting] ) ) { + $retval = $this->settings[$setting][$suffix]; + } elseif ( array_key_exists( 'default', $this->settings[$setting] ) ) { + $retval = $this->settings[$setting]['default']; + } else { + $retval = NULL; + } } else { $retval = NULL; } + if ( !is_null( $retval ) && count( $params ) ) { foreach ( $params as $key => $value ) { $retval = str_replace( '$' . $key, $value, $retval ); @@ -40,6 +44,18 @@ class SiteConfiguration { return $retval; } + /** */ + function getAll( $wiki, $suffix, $params ) { + $localSettings = array(); + foreach ( $this->settings as $varname => $stuff ) { + $value = $this->get( $varname, $wiki, $suffix, $params ); + if ( !is_null( $value ) ) { + $localSettings[$varname] = $value; + } + } + return $localSettings; + } + /** */ function getBool( $setting, $wiki, $suffix ) { return (bool)($this->get( $setting, $wiki, $suffix )); @@ -47,14 +63,11 @@ class SiteConfiguration { /** */ function &getLocalDatabases() { - return $this->localDatabases; + return $this->wikis; } /** */ function initialise() { - foreach ( $this->wikis as $db ) { - $this->localDatabases[$db] = $db; - } } /** */ @@ -94,6 +107,7 @@ class SiteConfiguration { break; } } + $lang = str_replace( '_', '-', $lang ); return array( $site, $lang ); } @@ -103,5 +117,5 @@ class SiteConfiguration { } } } - + ?>