MediaWiki
1.30.0
|
Class for setting up the MediaWiki database using MySQL. More...
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... | |
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=[], $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... | |
getGlobalDefaults () | |
Get a name=>value map of MW configuration globals for the default values. 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=[], $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... | |
getSchemaPath ( $db) | |
Return a path to the DBMS-specific schema file, otherwise default to tables.sql. More... | |
getTextBox ( $var, $label, $attribs=[], $helpData="") | |
Get a labelled text box to configure a local variable. More... | |
getUpdateKeysPath ( $db) | |
Return a path to the DBMS-specific update key file, otherwise default to update-keys.sql. More... | |
getVar ( $var, $default=null) | |
Get a variable, taking local defaults into account. More... | |
getWebUserBox ( $noCreateMsg=false) | |
Get a standard web-user fieldset. More... | |
insertUpdateKeys () | |
Insert update keys into table to prevent running unneded updates. 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 | |
$supportedEngines = [ 'InnoDB', 'MyISAM' ] | |
$webUserPrivs | |
Public Attributes inherited from DatabaseInstaller | |
Database | $db = null |
The database connection. More... | |
WebInstaller | $parent |
The Installer object. More... | |
Static Public Attributes | |
static | $minimumVersion = '5.5.8' |
Static Public Attributes inherited from DatabaseInstaller | |
static string | $minimumVersion |
Set by subclasses. More... | |
Protected Member Functions | |
escapeLikeInternal ( $s, $escapeChar='`') | |
getTableOptions () | |
Return any table options to be applied to all tables that don't override them. More... | |
likeToRegex ( $wildcard) | |
Convert a wildcard (as used in LIKE) to a regex Slashes are escaped, slash terminators included. More... | |
Protected Attributes | |
$globalNames | |
$internalDefaults | |
Protected Attributes inherited from DatabaseInstaller | |
array | $globalNames = [] |
Array of MW configuration globals this class uses. More... | |
array | $internalDefaults = [] |
Internal variables for installation. More... | |
Static Protected Attributes | |
static | $notMiniumumVerisonMessage = 'config-mysql-old' |
Static Protected Attributes inherited from DatabaseInstaller | |
static string | $notMiniumumVerisonMessage |
Set by subclasses. 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 Public Member Functions inherited from DatabaseInstaller | |
static | meetsMinimumRequirement ( $serverVersion) |
Whether the provided version meets the necessary requirements for this type. More... | |
Static Protected Member Functions inherited from DatabaseInstaller | |
static | checkExtension ( $name) |
Convenience function. More... | |
Class for setting up the MediaWiki database using MySQL.
Definition at line 34 of file MysqlInstaller.php.
|
private |
Return a formal 'User'@'Host' username for use in queries.
string | $name | Username, quotes will be added |
string | $host | Hostname, quotes will be added |
Definition at line 619 of file MysqlInstaller.php.
References $name.
Referenced by setupUser().
MysqlInstaller::canCreateAccounts | ( | ) |
Return true if the install user can create accounts.
Definition at line 270 of file MysqlInstaller.php.
References $res, as, captcha-old\count, DatabaseInstaller\getConnection(), DatabaseInstaller\getVar(), and likeToRegex().
Referenced by getSettingsForm(), and submitSettingsForm().
|
protected |
string | $s | |
string | $escapeChar |
Definition at line 225 of file MysqlInstaller.php.
References $s.
Referenced by preUpgrade().
MysqlInstaller::getCharsets | ( | ) |
Get a list of character sets that are available and supported.
Definition at line 261 of file MysqlInstaller.php.
Referenced by getSettingsForm(), and submitSettingsForm().
MysqlInstaller::getConnectForm | ( | ) |
Reimplemented from DatabaseInstaller.
Definition at line 82 of file MysqlInstaller.php.
References Html\closeElement(), Html\element(), DatabaseInstaller\getInstallUserBox(), DatabaseInstaller\getTextBox(), Html\openElement(), text, and wfMessage().
MysqlInstaller::getEngines | ( | ) |
Get a list of storage engines that are available and supported.
Definition at line 236 of file MysqlInstaller.php.
References $res, as, and DatabaseInstaller\getConnection().
Referenced by getSettingsForm(), and submitSettingsForm().
MysqlInstaller::getLocalSettings | ( | ) |
Get the DBMS-specific options for LocalSettings.php generation.
Reimplemented from DatabaseInstaller.
Definition at line 673 of file MysqlInstaller.php.
References LocalSettingsGenerator\escapePhpString(), getTableOptions(), DatabaseInstaller\getVar(), and wfBoolToStr().
MysqlInstaller::getName | ( | ) |
Reimplemented from DatabaseInstaller.
Definition at line 68 of file MysqlInstaller.php.
MysqlInstaller::getSchemaVars | ( | ) |
Get variables to substitute into tables.sql and the SQL patch files.
Reimplemented from DatabaseInstaller.
Definition at line 664 of file MysqlInstaller.php.
References getTableOptions(), and DatabaseInstaller\getVar().
MysqlInstaller::getSettingsForm | ( | ) |
Reimplemented from DatabaseInstaller.
Definition at line 357 of file MysqlInstaller.php.
References $s, canCreateAccounts(), Xml\closeElement(), captcha-old\count, getCharsets(), getEngines(), DatabaseInstaller\getRadioSet(), DatabaseInstaller\getVar(), DatabaseInstaller\getWebUserBox(), Xml\openElement(), DatabaseInstaller\setVar(), text, and wfMessage().
|
protected |
Return any table options to be applied to all tables that don't override them.
Definition at line 647 of file MysqlInstaller.php.
References $options, and DatabaseInstaller\getVar().
Referenced by getLocalSettings(), and getSchemaVars().
MysqlInstaller::isCompiled | ( | ) |
Reimplemented from DatabaseInstaller.
Definition at line 75 of file MysqlInstaller.php.
References DatabaseInstaller\checkExtension().
|
protected |
Convert a wildcard (as used in LIKE) to a regex Slashes are escaped, slash terminators included.
string | $wildcard |
Definition at line 345 of file MysqlInstaller.php.
Referenced by canCreateAccounts().
MysqlInstaller::openConnection | ( | ) |
Reimplemented from DatabaseInstaller.
Definition at line 143 of file MysqlInstaller.php.
References DatabaseInstaller\$db, $e, DatabaseInstaller\getVar(), and StatusValue\newGood().
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 483 of file MysqlInstaller.php.
MysqlInstaller::preUpgrade | ( | ) |
Allow DB installers a chance to make checks before upgrade.
Reimplemented from DatabaseInstaller.
Definition at line 161 of file MysqlInstaller.php.
References $res, $wgDBpassword, $wgDBuser, escapeLikeInternal(), DatabaseInstaller\getConnection(), DatabaseInstaller\getVar(), global, and DatabaseInstaller\setVar().
MysqlInstaller::setupDatabase | ( | ) |
Reimplemented from DatabaseInstaller.
Definition at line 495 of file MysqlInstaller.php.
References DatabaseInstaller\getConnection(), DatabaseInstaller\getVar(), and DatabaseInstaller\setupSchemaVars().
MysqlInstaller::setupUser | ( | ) |
Definition at line 518 of file MysqlInstaller.php.
References $e, $name, as, buildFullUserName(), DatabaseInstaller\getConnection(), DatabaseInstaller\getVar(), StatusValue\newGood(), DatabaseInstaller\setupSchemaVars(), and userDefinitelyExists().
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.
Reimplemented from DatabaseInstaller.
Definition at line 99 of file MysqlInstaller.php.
References DatabaseInstaller\getConnection(), StatusValue\newGood(), DatabaseInstaller\setVarsFromRequest(), and DatabaseInstaller\submitInstallUserBox().
MysqlInstaller::submitSettingsForm | ( | ) |
Reimplemented from DatabaseInstaller.
Definition at line 437 of file MysqlInstaller.php.
References $e, canCreateAccounts(), getCharsets(), getEngines(), DatabaseInstaller\getVar(), StatusValue\newFatal(), StatusValue\newGood(), DatabaseInstaller\setVar(), DatabaseInstaller\setVarsFromRequest(), and DatabaseInstaller\submitWebUserBox().
|
private |
Try to see if the user account exists.
Our "superuser" may not have access to mysql.user, so false means "no" or "maybe"
string | $host | Hostname to check |
string | $user | Username to check |
Definition at line 630 of file MysqlInstaller.php.
Referenced by setupUser().
|
protected |
Definition at line 36 of file MysqlInstaller.php.
|
protected |
Definition at line 46 of file MysqlInstaller.php.
|
static |
Definition at line 54 of file MysqlInstaller.php.
|
staticprotected |
Definition at line 55 of file MysqlInstaller.php.
MysqlInstaller::$supportedEngines = [ 'InnoDB', 'MyISAM' ] |
Definition at line 52 of file MysqlInstaller.php.
MysqlInstaller::$webUserPrivs |
Definition at line 57 of file MysqlInstaller.php.