| Index: trunk/phase3/includes/SiteConfiguration.php |
| — | — | @@ -19,17 +19,30 @@ |
| 20 | 20 | var $localVHosts = array(); |
| 21 | 21 | |
| 22 | 22 | /** */ |
| 23 | | - function get( $setting, $wiki, $suffix, $params = array() ) { |
| 24 | | - if ( array_key_exists( $setting, $this->settings ) ) { |
| 25 | | - if ( array_key_exists( $wiki, $this->settings[$setting] ) ) { |
| 26 | | - $retval = $this->settings[$setting][$wiki]; |
| 27 | | - } elseif ( array_key_exists( $suffix, $this->settings[$setting] ) ) { |
| 28 | | - $retval = $this->settings[$setting][$suffix]; |
| 29 | | - } elseif ( array_key_exists( 'default', $this->settings[$setting] ) ) { |
| 30 | | - $retval = $this->settings[$setting]['default']; |
| 31 | | - } else { |
| 32 | | - $retval = NULL; |
| 33 | | - } |
| | 23 | + function get( $settingName, $wiki, $suffix, $params = array(), $wikiTags = array() ) { |
| | 24 | + if ( array_key_exists( $settingName, $this->settings ) ) { |
| | 25 | + $thisSetting =& $this->settings[$settingName]; |
| | 26 | + do { |
| | 27 | + if ( array_key_exists( $wiki, $thisSetting ) ) { |
| | 28 | + $retval = $thisSetting[$wiki]; |
| | 29 | + break; |
| | 30 | + } |
| | 31 | + foreach ( $wikiTags as $tag ) { |
| | 32 | + if ( array_key_exists( $tag, $thisSetting ) ) { |
| | 33 | + $retval = $thisSetting[$tag]; |
| | 34 | + break 2; |
| | 35 | + } |
| | 36 | + } |
| | 37 | + if ( array_key_exists( $suffix, $thisSetting ) ) { |
| | 38 | + $retval = $thisSetting[$suffix]; |
| | 39 | + break; |
| | 40 | + } |
| | 41 | + if ( array_key_exists( 'default', $thisSetting ) ) { |
| | 42 | + $retval = $thisSetting['default']; |
| | 43 | + break; |
| | 44 | + } |
| | 45 | + $retval = null; |
| | 46 | + } while ( false ); |
| 34 | 47 | } else { |
| 35 | 48 | $retval = NULL; |
| 36 | 49 | } |
| — | — | @@ -57,10 +70,10 @@ |
| 58 | 71 | } |
| 59 | 72 | |
| 60 | 73 | /** */ |
| 61 | | - function getAll( $wiki, $suffix, $params ) { |
| | 74 | + function getAll( $wiki, $suffix, $params, $wikiTags = array() ) { |
| 62 | 75 | $localSettings = array(); |
| 63 | 76 | foreach ( $this->settings as $varname => $stuff ) { |
| 64 | | - $value = $this->get( $varname, $wiki, $suffix, $params ); |
| | 77 | + $value = $this->get( $varname, $wiki, $suffix, $params, $wikiTags ); |
| 65 | 78 | if ( !is_null( $value ) ) { |
| 66 | 79 | $localSettings[$varname] = $value; |
| 67 | 80 | } |
| — | — | @@ -69,8 +82,8 @@ |
| 70 | 83 | } |
| 71 | 84 | |
| 72 | 85 | /** */ |
| 73 | | - function getBool( $setting, $wiki, $suffix ) { |
| 74 | | - return (bool)($this->get( $setting, $wiki, $suffix )); |
| | 86 | + function getBool( $setting, $wiki, $suffix, $wikiTags = array() ) { |
| | 87 | + return (bool)($this->get( $setting, $wiki, $suffix, $wikiTags ) ); |
| 75 | 88 | } |
| 76 | 89 | |
| 77 | 90 | /** */ |
| — | — | @@ -83,25 +96,25 @@ |
| 84 | 97 | } |
| 85 | 98 | |
| 86 | 99 | /** */ |
| 87 | | - function extractVar( $setting, $wiki, $suffix, &$var, $params ) { |
| 88 | | - $value = $this->get( $setting, $wiki, $suffix, $params ); |
| | 100 | + function extractVar( $setting, $wiki, $suffix, &$var, $params, $wikiTags = array() ) { |
| | 101 | + $value = $this->get( $setting, $wiki, $suffix, $params, $wikiTags ); |
| 89 | 102 | if ( !is_null( $value ) ) { |
| 90 | 103 | $var = $value; |
| 91 | 104 | } |
| 92 | 105 | } |
| 93 | 106 | |
| 94 | 107 | /** */ |
| 95 | | - function extractGlobal( $setting, $wiki, $suffix, $params ) { |
| 96 | | - $value = $this->get( $setting, $wiki, $suffix, $params ); |
| | 108 | + function extractGlobal( $setting, $wiki, $suffix, $params, $wikiTags = array() ) { |
| | 109 | + $value = $this->get( $setting, $wiki, $suffix, $params, $wikiTags ); |
| 97 | 110 | if ( !is_null( $value ) ) { |
| 98 | 111 | $GLOBALS[$setting] = $value; |
| 99 | 112 | } |
| 100 | 113 | } |
| 101 | 114 | |
| 102 | 115 | /** */ |
| 103 | | - function extractAllGlobals( $wiki, $suffix, $params ) { |
| | 116 | + function extractAllGlobals( $wiki, $suffix, $params, $wikiTags = array() ) { |
| 104 | 117 | foreach ( $this->settings as $varName => $setting ) { |
| 105 | | - $this->extractGlobal( $varName, $wiki, $suffix, $params ); |
| | 118 | + $this->extractGlobal( $varName, $wiki, $suffix, $params, $wikiTags ); |
| 106 | 119 | } |
| 107 | 120 | } |
| 108 | 121 | |