X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Finstaller%2FMysqlInstaller.php;h=1b0780bc8c810032f7f11ee9275b1743038cb4f4;hb=b3a4973cf89356bedd3255dd40a85588bdbc7f43;hp=6256204d97483e95e3c54d34dd7077acdba96c8f;hpb=0c2687f44eb0e8c7f480b7303f89056682ba0bfb;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/installer/MysqlInstaller.php b/includes/installer/MysqlInstaller.php index 6256204d97..1b0780bc8c 100644 --- a/includes/installer/MysqlInstaller.php +++ b/includes/installer/MysqlInstaller.php @@ -40,7 +40,6 @@ class MysqlInstaller extends DatabaseInstaller { 'wgDBpassword', 'wgDBprefix', 'wgDBTableOptions', - 'wgDBmysql5', ]; protected $internalDefaults = [ @@ -414,20 +413,6 @@ class MysqlInstaller extends DatabaseInstaller { $this->setVar( '_MysqlCharset', reset( $charsets ) ); } - // Do charset selector - if ( count( $charsets ) >= 2 ) { - // getRadioSet() builds a set of labeled radio buttons. - // For grep: The following messages are used as the item labels: - // config-mysql-binary, config-mysql-utf8 - $s .= $this->getRadioSet( [ - 'var' => '_MysqlCharset', - 'label' => 'config-mysql-charset', - 'itemLabelPrefix' => 'config-mysql-', - 'values' => $charsets - ] ); - $s .= $this->parent->getHelpBox( 'config-mysql-charset-help' ); - } - return $s; } @@ -500,18 +485,32 @@ class MysqlInstaller extends DatabaseInstaller { /** @var Database $conn */ $conn = $status->value; $dbName = $this->getVar( 'wgDBname' ); - if ( !$conn->selectDB( $dbName ) ) { + if ( !$this->databaseExists( $dbName ) ) { $conn->query( "CREATE DATABASE " . $conn->addIdentifierQuotes( $dbName ) . "CHARACTER SET utf8", __METHOD__ ); - $conn->selectDB( $dbName ); } + $conn->selectDB( $dbName ); $this->setupSchemaVars(); return $status; } + /** + * Try to see if a given database exists + * @param string $dbName Database name to check + * @return bool + */ + private function databaseExists( $dbName ) { + $encDatabase = $this->db->addQuotes( $dbName ); + + return $this->db->query( + "SELECT 1 FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = $encDatabase", + __METHOD__ + )->numRows() > 0; + } + /** * @return Status */ @@ -671,7 +670,6 @@ class MysqlInstaller extends DatabaseInstaller { } public function getLocalSettings() { - $dbmysql5 = wfBoolToStr( $this->getVar( 'wgDBmysql5', true ) ); $prefix = LocalSettingsGenerator::escapePhpString( $this->getVar( 'wgDBprefix' ) ); $tblOpts = LocalSettingsGenerator::escapePhpString( $this->getTableOptions() ); @@ -679,9 +677,6 @@ class MysqlInstaller extends DatabaseInstaller { \$wgDBprefix = \"{$prefix}\"; # MySQL table options to use during installation or update -\$wgDBTableOptions = \"{$tblOpts}\"; - -# Experimental charset support for MySQL 5.0. -\$wgDBmysql5 = {$dbmysql5};"; +\$wgDBTableOptions = \"{$tblOpts}\";"; } }