MediaWiki  1.23.13
MysqlInstaller Class Reference

Class for setting up the MediaWiki database using MySQL. More...

Inheritance diagram for MysqlInstaller:
Collaboration diagram for MysqlInstaller:

Public Member Functions

 canCreateAccounts ()
 Return true if the install user can create accounts. More...
 
 getCharsets ()
 Get a list of character sets that are available and supported. More...
 
 getConnectForm ()
 
 getEngines ()
 Get a list of storage engines that are available and supported. More...
 
 getGlobalDefaults ()
 
 getLocalSettings ()
 Get the DBMS-specific options for LocalSettings.php generation. More...
 
 getName ()
 
 getSchemaVars ()
 Get variables to substitute into tables.sql and the SQL patch files. More...
 
 getSettingsForm ()
 
 isCompiled ()
 
 openConnection ()
 
 preInstall ()
 Allow DB installers a chance to make last-minute changes before installation occurs. More...
 
 preUpgrade ()
 Allow DB installers a chance to make checks before upgrade. More...
 
 setupDatabase ()
 
 setupUser ()
 
 submitConnectForm ()
 Set variables based on the request array, assuming it was submitted via the form returned by getConnectForm(). More...
 
 submitSettingsForm ()
 
- Public Member Functions inherited from DatabaseInstaller
 __construct ( $parent)
 Construct and initialise parent. More...
 
 checkPrerequisites ()
 Checks for installation prerequisites other than those checked by isCompiled() More...
 
 createExtensionTables ()
 Create the tables for each extension the user enabled. More...
 
 createTables ()
 Create database tables from scratch. More...
 
 doUpgrade ()
 Perform database upgrades. More...
 
 enableLB ()
 Set up LBFactory so that wfGetDB() etc. More...
 
 getCheckBox ( $var, $label, $attribs=array(), $helpData="")
 Get a labelled checkbox to configure a local boolean variable. More...
 
 getConnection ()
 Connect to the database using the administrative user/password currently defined in the session. More...
 
 getGlobalNames ()
 Get an array of MW configuration globals that will be configured by this class. More...
 
 getInstallUserBox ()
 Get a standard install-user fieldset. More...
 
 getInternalDefaults ()
 Get a name=>value map of internal variables used during installation. More...
 
 getPasswordBox ( $var, $label, $attribs=array(), $helpData="")
 Get a labelled password box to configure a local variable. More...
 
 getRadioSet ( $params)
 Get a set of labelled radio buttons. More...
 
 getReadableName ()
 Get the internationalised name for this DBMS. More...
 
 getTextBox ( $var, $label, $attribs=array(), $helpData="")
 Get a labelled text box to configure a local variable. More...
 
 getVar ( $var, $default=null)
 Get a variable, taking local defaults into account. More...
 
 getWebUserBox ( $noCreateMsg=false)
 Get a standard web-user fieldset. More...
 
 needsUpgrade ()
 Determine whether an existing installation of MediaWiki is present in the configured administrative connection. More...
 
 outputHandler ( $string)
 
 populateInterwikiTable ()
 Common function for databases that don't understand the MySQLish syntax of interwiki.sql. More...
 
 setupSchemaVars ()
 Set appropriate schema variables in the current database connection. More...
 
 setVar ( $name, $value)
 Convenience alias for $this->parent->setVar() More...
 
 setVarsFromRequest ( $varNames)
 Convenience function to set variables based on form data. More...
 
 submitInstallUserBox ()
 Submit a standard install user fieldset. More...
 
 submitWebUserBox ()
 Submit the form from getWebUserBox(). More...
 

Public Attributes

 $minimumVersion = '5.0.2'
 
 $supportedEngines = array( 'InnoDB', 'MyISAM' )
 
 $webUserPrivs
 
- Public Attributes inherited from DatabaseInstaller
DatabaseBase $db = null
 The database connection. More...
 
WebInstaller $parent
 The Installer object. More...
 

Protected Member Functions

 getTableOptions ()
 Return any table options to be applied to all tables that don't override them. More...
 

Protected Attributes

 $globalNames
 
 $internalDefaults
 
- Protected Attributes inherited from DatabaseInstaller
array $globalNames = array()
 Array of MW configuration globals this class uses. More...
 
array $internalDefaults = array()
 Internal variables for installation. More...
 

Private Member Functions

 buildFullUserName ( $name, $host)
 Return a formal 'User'@'Host' username for use in queries. More...
 
 userDefinitelyExists ( $host, $user)
 Try to see if the user account exists. More...
 

Additional Inherited Members

- Static Protected Member Functions inherited from DatabaseInstaller
static checkExtension ( $name)
 Convenience function. More...
 

Detailed Description

Class for setting up the MediaWiki database using MySQL.

Since
1.17

Definition at line 30 of file MysqlInstaller.php.

Member Function Documentation

◆ buildFullUserName()

MysqlInstaller::buildFullUserName (   $name,
  $host 
)
private

Return a formal 'User'@'Host' username for use in queries.

Parameters
string$nameUsername, quotes will be added
string$hostHostname, quotes will be added
Returns
String

Definition at line 608 of file MysqlInstaller.php.

References $name.

Referenced by setupUser().

◆ canCreateAccounts()

MysqlInstaller::canCreateAccounts ( )

Return true if the install user can create accounts.

Returns
bool

Definition at line 274 of file MysqlInstaller.php.

References $res, array(), as, DatabaseInstaller\getConnection(), and DatabaseInstaller\getVar().

Referenced by getSettingsForm(), and submitSettingsForm().

◆ getCharsets()

MysqlInstaller::getCharsets ( )

Get a list of character sets that are available and supported.

Returns
array

Definition at line 265 of file MysqlInstaller.php.

References array().

Referenced by getSettingsForm(), and submitSettingsForm().

◆ getConnectForm()

MysqlInstaller::getConnectForm ( )

◆ getEngines()

MysqlInstaller::getEngines ( )

Get a list of storage engines that are available and supported.

Returns
array

Definition at line 240 of file MysqlInstaller.php.

References $res, array(), as, and DatabaseInstaller\getConnection().

Referenced by getSettingsForm(), and submitSettingsForm().

◆ getGlobalDefaults()

MysqlInstaller::getGlobalDefaults ( )
Returns
array

Reimplemented from DatabaseInstaller.

Definition at line 77 of file MysqlInstaller.php.

References array().

◆ getLocalSettings()

MysqlInstaller::getLocalSettings ( )

Get the DBMS-specific options for LocalSettings.php generation.

Returns
String

Reimplemented from DatabaseInstaller.

Definition at line 662 of file MysqlInstaller.php.

References LocalSettingsGenerator\escapePhpString(), getTableOptions(), DatabaseInstaller\getVar(), and wfBoolToStr().

◆ getName()

MysqlInstaller::getName ( )
Returns
string

Reimplemented from DatabaseInstaller.

Definition at line 63 of file MysqlInstaller.php.

◆ getSchemaVars()

MysqlInstaller::getSchemaVars ( )

Get variables to substitute into tables.sql and the SQL patch files.

Returns
array

Reimplemented from DatabaseInstaller.

Definition at line 653 of file MysqlInstaller.php.

References array(), getTableOptions(), and DatabaseInstaller\getVar().

◆ getSettingsForm()

◆ getTableOptions()

MysqlInstaller::getTableOptions ( )
protected

Return any table options to be applied to all tables that don't override them.

Returns
String

Definition at line 636 of file MysqlInstaller.php.

References $options, array(), and DatabaseInstaller\getVar().

Referenced by getLocalSettings(), and getSchemaVars().

◆ isCompiled()

MysqlInstaller::isCompiled ( )
Returns
Bool

Reimplemented from DatabaseInstaller.

Definition at line 70 of file MysqlInstaller.php.

References DatabaseInstaller\checkExtension().

◆ openConnection()

MysqlInstaller::openConnection ( )

◆ preInstall()

MysqlInstaller::preInstall ( )

Allow DB installers a chance to make last-minute changes before installation occurs.

This happens before setupDatabase() or createTables() is called, but long after the constructor. Helpful for things like modifying setup steps :)

Reimplemented from DatabaseInstaller.

Definition at line 472 of file MysqlInstaller.php.

References array().

◆ preUpgrade()

MysqlInstaller::preUpgrade ( )

Allow DB installers a chance to make checks before upgrade.

Reimplemented from DatabaseInstaller.

Definition at line 176 of file MysqlInstaller.php.

References $res, DatabaseInstaller\getConnection(), DatabaseInstaller\getVar(), global, and DatabaseInstaller\setVar().

◆ setupDatabase()

MysqlInstaller::setupDatabase ( )

◆ setupUser()

◆ submitConnectForm()

MysqlInstaller::submitConnectForm ( )

Set variables based on the request array, assuming it was submitted via the form returned by getConnectForm().

Validate the connection settings by attempting to connect with them.

If this is called, $this->parent can be assumed to be a WebInstaller.

Returns
Status

Reimplemented from DatabaseInstaller.

Definition at line 101 of file MysqlInstaller.php.

References $version, array(), DatabaseInstaller\getConnection(), Status\newFatal(), Status\newGood(), DatabaseInstaller\setVarsFromRequest(), and DatabaseInstaller\submitInstallUserBox().

◆ submitSettingsForm()

◆ userDefinitelyExists()

MysqlInstaller::userDefinitelyExists (   $host,
  $user 
)
private

Try to see if the user account exists.

Our "superuser" may not have access to mysql.user, so false means "no" or "maybe"

Parameters
string$hostHostname to check
string$userUsername to check
Returns
boolean

Definition at line 619 of file MysqlInstaller.php.

References $res, $user, and array().

Referenced by setupUser().

Member Data Documentation

◆ $globalNames

MysqlInstaller::$globalNames
protected
Initial value:
'wgDBserver',
'wgDBname',
'wgDBuser',
'wgDBpassword',
'wgDBprefix',
'wgDBTableOptions',
'wgDBmysql5',
)

Definition at line 32 of file MysqlInstaller.php.

◆ $internalDefaults

MysqlInstaller::$internalDefaults
protected
Initial value:
'_MysqlEngine' => 'InnoDB',
'_MysqlCharset' => 'binary',
'_InstallUser' => 'root',
)

Definition at line 42 of file MysqlInstaller.php.

◆ $minimumVersion

MysqlInstaller::$minimumVersion = '5.0.2'

Definition at line 50 of file MysqlInstaller.php.

◆ $supportedEngines

MysqlInstaller::$supportedEngines = array( 'InnoDB', 'MyISAM' )

Definition at line 48 of file MysqlInstaller.php.

◆ $webUserPrivs

MysqlInstaller::$webUserPrivs
Initial value:
'DELETE',
'INSERT',
'SELECT',
'UPDATE',
'CREATE TEMPORARY TABLES',
)

Definition at line 52 of file MysqlInstaller.php.


The documentation for this class was generated from the following file:
array
the array() calling protocol came about after MediaWiki 1.4rc1.
List of Api Query prop modules.