diff options
Diffstat (limited to 'includes/installer/Installer.php')
-rw-r--r-- | includes/installer/Installer.php | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/includes/installer/Installer.php b/includes/installer/Installer.php index 4d8e5f0d..9fd67c93 100644 --- a/includes/installer/Installer.php +++ b/includes/installer/Installer.php @@ -46,6 +46,14 @@ abstract class Installer { */ protected $settings; + + /** + * List of detected DBs, access using getCompiledDBs(). + * + * @var array + */ + protected $compiledDBs; + /** * Cached DB installer instances, access using getDBInstaller(). * @@ -173,7 +181,6 @@ abstract class Installer { protected $internalDefaults = array( '_UserLang' => 'en', '_Environment' => false, - '_CompiledDBs' => array(), '_SafeMode' => false, '_RaiseMemory' => false, '_UpgradeDone' => false, @@ -368,7 +375,7 @@ abstract class Installer { } } } - $this->setVar( '_CompiledDBs', $compiledDBs ); + $this->compiledDBs = $compiledDBs; $this->parserTitle = Title::newFromText( 'Installer' ); $this->parserOptions = new ParserOptions; // language will be wrong :( @@ -450,6 +457,15 @@ abstract class Installer { } /** + * Get a list of DBs supported by current PHP setup + * + * @return array + */ + public function getCompiledDBs() { + return $this->compiledDBs; + } + + /** * Get an instance of DatabaseInstaller for the specified DB type. * * @param $type Mixed: DB installer for which is needed, false to use default. @@ -647,13 +663,7 @@ abstract class Installer { $allNames[] = wfMessage( "config-type-$name" )->text(); } - // cache initially available databases to make sure that everything will be displayed correctly - // after a refresh on env checks page - $databases = $this->getVar( '_CompiledDBs-preFilter' ); - if ( !$databases ) { - $databases = $this->getVar( '_CompiledDBs' ); - $this->setVar( '_CompiledDBs-preFilter', $databases ); - } + $databases = $this->getCompiledDBs(); $databases = array_flip ( $databases ); foreach ( array_keys( $databases ) as $db ) { @@ -672,7 +682,6 @@ abstract class Installer { // @todo FIXME: This only works for the web installer! return false; } - $this->setVar( '_CompiledDBs', $databases ); return true; } |