configuration of the live site
authorTim Starling <tstarling@users.mediawiki.org>
Sun, 23 May 2004 15:00:46 +0000 (15:00 +0000)
committerTim Starling <tstarling@users.mediawiki.org>
Sun, 23 May 2004 15:00:46 +0000 (15:00 +0000)
includes/SiteConfiguration.php [new file with mode: 0644]

diff --git a/includes/SiteConfiguration.php b/includes/SiteConfiguration.php
new file mode 100644 (file)
index 0000000..d717129
--- /dev/null
@@ -0,0 +1,64 @@
+<?php
+
+# This file is used to configure the live Wikimedia wikis. The file that includes
+# it contains passwords and other sensitive data, and there's currently no public
+# equivalent. 
+
+class SiteConfiguration {
+       var $suffixes, $wikis, $settings;
+       var $localDatabases;
+       
+       function get( $setting, $wiki, $suffix, $params = array() ) {
+               if ( array_key_exists( $this->settings[$setting], $wiki ) ) {
+                       $retval = $this->settings[$setting][$wiki];
+               } elseif ( array_key_exists( $this->settings[$setting], $suffix ) ) {
+                       $retval = $this->settings[$setting][$suffix];
+               } elseif ( array_key_exists( $this->settings[$setting], "default" ) ) {
+                       $retval = $this->settings[$setting]['default'];
+               } else {
+                       $retval = NULL;
+               }
+               if ( !is_null( $retval ) && count( $params ) ) {
+                       foreach ( $params as $key => $value ) {
+                               str_replace( "\${$key}", $value, $retval );
+                       }
+               }
+       }
+
+       function getBool( $setting, $wiki, $suffix ) {
+               return (bool)($this->get( $setting, $wiki, $suffix ));
+       }
+
+       function &getLocalDatabases() {
+               return $this->localDatabases();
+       }
+       
+       function initialise() {
+               foreach ( $this->wikis as $db ) {
+                       $this->localDatabases[$db] = $db;
+               }
+       }
+
+       function extractVar( $setting, $wiki, $suffix, &$var, &$params ) {
+               $value = $this->get( $settings, $wiki, $suffix, $params );
+               if ( !is_null( $value ) ) {
+                       $var = $value;
+               }
+       }
+       
+       function extractGlobal( $setting, $wiki, $suffix, &$params ) {
+               $value = $this->get( $settings, $wiki, $suffix, $params );
+               if ( !is_null( $value ) ) {
+                       $GLOBALS[$setting] = $value;
+               }
+       }
+
+       function extractAllGlobals( $wiki, $suffix, &$params ) {
+               foreach ( $settings as $varName => $setting ) {
+                       $this->extractGlobal( $varName, $wiki, $suffix, $params );
+               }
+       }
+}
+
+       
+?>