MediaWiki
1.34.0
|
Maintenance script to rename titles affected by changes to Unicode (or otherwise to Language::ucfirst). More...
Public Member Functions | |
__construct () | |
Default constructor. More... | |
execute () | |
Do the actual work. More... | |
Public Member Functions inherited from Maintenance | |
checkRequiredExtensions () | |
Verify that the required extensions are installed. More... | |
cleanupChanneled () | |
Clean up channeled output. More... | |
clearParamsAndArgs () | |
Clear all params and arguments. More... | |
finalSetup () | |
Handle some last-minute setup here. More... | |
getConfig () | |
getDbType () | |
Does the script need different DB access? By default, we give Maintenance scripts normal rights to the DB. More... | |
getName () | |
Get the script's name. More... | |
globals () | |
Potentially debug globals. More... | |
isQuiet () | |
loadParamsAndArgs ( $self=null, $opts=null, $args=null) | |
Process command line arguments $mOptions becomes an array with keys set to the option names $mArgs becomes a zero-based array containing the non-option arguments. More... | |
loadSettings () | |
Generic setup for most installs. More... | |
loadWithArgv ( $argv) | |
Load params and arguments from a given array of command-line arguments. More... | |
memoryLimit () | |
Normally we disable the memory_limit when running admin scripts. More... | |
outputChanneled ( $msg, $channel=null) | |
Message outputter with channeled message support. More... | |
purgeRedundantText ( $delete=true) | |
Support function for cleaning up redundant text records. More... | |
runChild ( $maintClass, $classFile=null) | |
Run a child maintenance script. More... | |
setAgentAndTriggers () | |
Set triggers like when to try to run deferred updates. More... | |
setConfig (Config $config) | |
setDB (IMaintainableDatabase $db) | |
Sets database object to be returned by getDB(). More... | |
setup () | |
Do some sanity checking and basic setup. More... | |
updateSearchIndex ( $maxLockTime, $callback, $dbw, $results) | |
Perform a search index update with locking. More... | |
updateSearchIndexForPage ( $dbw, $pageId) | |
Update the searchindex table for a given pageid. More... | |
validateParamsAndArgs () | |
Run some validation checks on the params, etc. More... | |
Public Attributes | |
string null | $suffix = null |
Public Attributes inherited from Maintenance | |
resource | $fileHandle |
Used when creating separate schema files. More... | |
$mDbPass | |
array | $orderedOptions = [] |
Used to read the options in the order they were passed. More... | |
const | DB_ADMIN = 2 |
const | DB_NONE = 0 |
Constants for DB access type. More... | |
const | DB_STD = 1 |
const | STDIN_ALL = 'all' |
Private Member Functions | |
doMove (IDatabase $db, $ns, $title) | |
Use MovePage to move a title. More... | |
doUpdate (IDatabase $db, $table, $nsField, $titleField, $row) | |
Directly update a database row. More... | |
getLikeBatches (IDatabase $db, $field, $batchSize=100) | |
Get batched LIKE conditions from the charmap. More... | |
getNamespaces () | |
Get the list of namespaces to operate on. More... | |
isUserPage (IDatabase $db, $ns, $title) | |
Check if a ns+title is a registered user's page. More... | |
mungeTitle (IDatabase $db, Title $oldTitle, Title &$newTitle) | |
Munge a target title, if necessary. More... | |
processTable (IDatabase $db, $doMove, $table, $nsField, $titleField, $pkFields) | |
Rename entries in other tables. More... | |
processUsers (IDatabase $db) | |
List users needing renaming. More... | |
Private Attributes | |
array | $charmap = [] |
array null | $namespaces = null |
string null | $prefix = null |
int null | $prefixNs = null |
string | $reason = 'Uppercasing title for Unicode upgrade' |
bool | $run = false |
array | $seenUsers = [] |
string[] null | $tables = null |
string[] | $tags = [] |
User | $user |
Additional Inherited Members | |
Static Public Member Functions inherited from Maintenance | |
static | getTermSize () |
Get the terminal size as a two-element array where the first element is the width (number of columns) and the second element is the height (number of rows). More... | |
static | posix_isatty ( $fd) |
Wrapper for posix_isatty() We default as considering stdin a tty (for nice readline methods) but treating stout as not a tty to avoid color codes. More... | |
static | readconsole ( $prompt='> ') |
Prompt the console for input. More... | |
static | requireTestsAutoloader () |
Call this to set up the autoloader to allow classes to be used from the tests directory. More... | |
static | setLBFactoryTriggers (LBFactory $LBFactory, Config $config) |
static | shouldExecute () |
Should we execute the maintenance script, or just allow it to be included as a standalone class? It checks that the call stack only includes this function and "requires" (meaning was called from the file scope) More... | |
Protected Member Functions inherited from Maintenance | |
activateProfiler () | |
Activate the profiler (assuming $wgProfiler is set) More... | |
addArg ( $arg, $description, $required=true) | |
Add some args that are needed. More... | |
addDefaultParams () | |
Add the default parameters to the scripts. More... | |
addDescription ( $text) | |
Set the description text. More... | |
addOption ( $name, $description, $required=false, $withArg=false, $shortName=false, $multiOccurrence=false) | |
Add a parameter to the script. More... | |
adjustMemoryLimit () | |
Adjusts PHP's memory limit to better suit our needs, if needed. More... | |
afterFinalSetup () | |
Execute a callback function at the end of initialisation. More... | |
beginTransaction (IDatabase $dbw, $fname) | |
Begin a transcation on a DB. More... | |
commitTransaction (IDatabase $dbw, $fname) | |
Commit the transcation on a DB handle and wait for replica DBs to catch up. More... | |
countDown ( $seconds) | |
Count down from $seconds to zero on the terminal, with a one-second pause between showing each number. More... | |
deleteOption ( $name) | |
Remove an option. More... | |
error ( $err, $die=0) | |
Throw an error to the user. More... | |
fatalError ( $msg, $exitCode=1) | |
Output a message and terminate the current script. More... | |
getArg ( $argId=0, $default=null) | |
Get an argument. More... | |
getBatchSize () | |
Returns batch size. More... | |
getDB ( $db, $groups=[], $dbDomain=false) | |
Returns a database to be used by current maintenance script. More... | |
getDir () | |
Get the maintenance directory. More... | |
getOption ( $name, $default=null) | |
Get an option, or return the default. More... | |
getStdin ( $len=null) | |
Return input from stdin. More... | |
hasArg ( $argId=0) | |
Does a given argument exist? More... | |
hasOption ( $name) | |
Checks to see if a particular option exists. More... | |
loadSpecialVars () | |
Handle the special variables that are global to all scripts. More... | |
maybeHelp ( $force=false) | |
Maybe show the help. More... | |
output ( $out, $channel=null) | |
Throw some output to the user. More... | |
requireExtension ( $name) | |
Indicate that the specified extension must be loaded before the script can run. More... | |
rollbackTransaction (IDatabase $dbw, $fname) | |
Rollback the transcation on a DB handle. More... | |
setAllowUnregisteredOptions ( $allow) | |
Sets whether to allow unregistered options, which are options passed to a script that do not match an expected parameter. More... | |
setBatchSize ( $s=0) | |
Set the batch size. More... | |
supportsOption ( $name) | |
Checks to see if a particular option in supported. More... | |
Protected Attributes inherited from Maintenance | |
$mAllowUnregisteredOptions = false | |
$mArgList = [] | |
$mArgs = [] | |
int | $mBatchSize = null |
Batch size. More... | |
$mDbUser | |
$mDescription = '' | |
$mInputLoaded = false | |
$mOptions = [] | |
array[] | $mParams = [] |
Array of desired/allowed params. More... | |
$mQuiet = false | |
$mSelf | |
$mShortParamsMap = [] | |
Maintenance script to rename titles affected by changes to Unicode (or otherwise to Language::ucfirst).
Definition at line 36 of file uppercaseTitlesForUnicodeTransition.php.
UppercaseTitlesForUnicodeTransition::__construct | ( | ) |
Default constructor.
Children should call this first if implementing their own constructors
Reimplemented from Maintenance.
Definition at line 68 of file uppercaseTitlesForUnicodeTransition.php.
References Maintenance\addDescription(), Maintenance\addOption(), and Maintenance\setBatchSize().
|
private |
Use MovePage to move a title.
IDatabase | $db | Database handle |
int | $ns | |
string | $title |
Definition at line 344 of file uppercaseTitlesForUnicodeTransition.php.
References $status, $title, Maintenance\error(), isUserPage(), Title\makeTitle(), mungeTitle(), and Maintenance\output().
|
private |
Directly update a database row.
IDatabase | $db | Database handle |
string | $table | |
string | int | $nsField | |
string | $titleField |
Definition at line 399 of file uppercaseTitlesForUnicodeTransition.php.
References $title, Maintenance\error(), isUserPage(), Title\makeTitle(), mungeTitle(), Maintenance\output(), and Wikimedia\Rdbms\IDatabase\update().
Referenced by processTable().
UppercaseTitlesForUnicodeTransition::execute | ( | ) |
Do the actual work.
All child classes will need to implement this
Reimplemented from Maintenance.
Definition at line 106 of file uppercaseTitlesForUnicodeTransition.php.
References $prefix, $reason, $tables, $title, $user, DB_MASTER, DB_REPLICA, Maintenance\error(), Maintenance\fatalError(), Maintenance\getDB(), Maintenance\getOption(), User\isLoggedIn(), User\newFromName(), Title\newFromText(), User\newSystemUser(), NS_FILE, NS_MAIN, processTable(), and processUsers().
|
private |
Get batched LIKE conditions from the charmap.
IDatabase | $db | Database handle |
string | $field | Field name |
int | $batchSize | Size of the batches |
Definition at line 192 of file uppercaseTitlesForUnicodeTransition.php.
References Wikimedia\Rdbms\IDatabase\anyString(), Wikimedia\Rdbms\IDatabase\buildLike(), LIST_OR, and Wikimedia\Rdbms\IDatabase\makeList().
Referenced by processTable(), and processUsers().
|
private |
Get the list of namespaces to operate on.
We only care about namespaces where we can move pages and titles are capitalized.
Definition at line 216 of file uppercaseTitlesForUnicodeTransition.php.
References $namespaces.
Referenced by processTable().
|
private |
Check if a ns+title is a registered user's page.
IDatabase | $db | Database handle |
int | $ns | |
string | $title |
Definition at line 262 of file uppercaseTitlesForUnicodeTransition.php.
References $base, $title, NS_USER, NS_USER_TALK, and Wikimedia\Rdbms\IDatabase\selectField().
Referenced by doMove(), doUpdate(), and mungeTitle().
|
private |
Munge a target title, if necessary.
Definition at line 287 of file uppercaseTitlesForUnicodeTransition.php.
References $status, $suffix, Maintenance\error(), Title\exists(), Title\getNamespace(), Title\getPrefixedText(), Title\getText(), isUserPage(), Title\isValid(), and Title\makeTitle().
Referenced by doMove(), and doUpdate().
|
private |
Rename entries in other tables.
IDatabase | $db | Database handle |
bool | $doMove | Whether to use MovePage or direct table manipulation |
string | $table | |
string | int | $nsField | |
string | $titleField | |
string[] | $pkFields | Additional fields to match a unique index starting with $nsField and $titleField. |
Definition at line 451 of file uppercaseTitlesForUnicodeTransition.php.
References Maintenance\$lastReplicationWait, $namespaces, $res, Wikimedia\Rdbms\IDatabase\addQuotes(), doUpdate(), Maintenance\getBatchSize(), getLikeBatches(), getNamespaces(), Maintenance\output(), and Wikimedia\Rdbms\IDatabase\select().
Referenced by execute().
|
private |
List users needing renaming.
IDatabase | $db | Database handle |
Definition at line 539 of file uppercaseTitlesForUnicodeTransition.php.
References $fh, $last, Wikimedia\Rdbms\IDatabase\addQuotes(), Maintenance\error(), Maintenance\getBatchSize(), getLikeBatches(), Maintenance\getOption(), Maintenance\output(), and Wikimedia\Rdbms\IDatabase\selectFieldValues().
Referenced by execute().
|
private |
Definition at line 42 of file uppercaseTitlesForUnicodeTransition.php.
|
private |
Definition at line 57 of file uppercaseTitlesForUnicodeTransition.php.
Referenced by getNamespaces(), and processTable().
|
private |
Definition at line 60 of file uppercaseTitlesForUnicodeTransition.php.
Referenced by execute().
|
private |
Definition at line 63 of file uppercaseTitlesForUnicodeTransition.php.
|
private |
Definition at line 48 of file uppercaseTitlesForUnicodeTransition.php.
Referenced by execute().
|
private |
Definition at line 39 of file uppercaseTitlesForUnicodeTransition.php.
|
private |
Definition at line 54 of file uppercaseTitlesForUnicodeTransition.php.
string null UppercaseTitlesForUnicodeTransition::$suffix = null |
Definition at line 60 of file uppercaseTitlesForUnicodeTransition.php.
Referenced by mungeTitle().
|
private |
Definition at line 66 of file uppercaseTitlesForUnicodeTransition.php.
Referenced by execute().
|
private |
Definition at line 51 of file uppercaseTitlesForUnicodeTransition.php.
|
private |
Definition at line 45 of file uppercaseTitlesForUnicodeTransition.php.
Referenced by execute().