* Array of domains that are local and can be handled by the same server
*/
public $localVHosts = array();
+
+ /**
+ * Optional callback to load full configuration data.
+ */
+ public $fullLoadCallback = null;
+
+ /** Whether or not all data has been loaded */
+ public $fullLoadDone = false;
/**
* A callback function that returns an array with the following keys (all
return $out;
}
+
+ public function loadFullData() {
+ if ($this->fullLoadCallback && !$this->fullLoadDone) {
+ call_user_func( $this->fullLoadCallback );
+ $this->fullLoadDone = true;
+ }
+ }
}
-}
+} // End of multiple inclusion guard
class WikiMap {
static function getWiki( $wikiID ) {
global $wgConf, $IP;
- static $initialiseSettingsDone = false;
-
- // This is a damn dirty hack
- if ( !$initialiseSettingsDone ) {
- $initialiseSettingsDone = true;
- if( file_exists( "$IP/InitialiseSettings.php" ) ) {
- require_once "$IP/InitialiseSettings.php";
- }
- }
+
+ $wgConf->loadFullData();
list( $major, $minor ) = $wgConf->siteFromDB( $wikiID );
if( isset( $major ) ) {