- /** */
- function get( $setting, $wiki, $suffix, $params = array() ) {
- 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;
- }
+ /** */
+ function get( $settingName, $wiki, $suffix, $params = array(), $wikiTags = array() ) {
+ if ( array_key_exists( $settingName, $this->settings ) ) {
+ $thisSetting =& $this->settings[$settingName];
+ do {
+ if ( array_key_exists( $wiki, $thisSetting ) ) {
+ $retval = $thisSetting[$wiki];
+ break;
+ }
+ foreach ( $wikiTags as $tag ) {
+ if ( array_key_exists( $tag, $thisSetting ) ) {
+ $retval = $thisSetting[$tag];
+ break 2;
+ }
+ }
+ if ( array_key_exists( $suffix, $thisSetting ) ) {
+ $retval = $thisSetting[$suffix];
+ break;
+ }
+ if ( array_key_exists( 'default', $thisSetting ) ) {
+ $retval = $thisSetting['default'];
+ break;
+ }
+ $retval = null;
+ } while ( false );