|
MediaWiki
master
|
Maintenance script that checks for articles to fix after adding/deleting namespaces. More...


Public Member Functions | |
| __construct () | |
| execute () | |
Public Member Functions inherited from Maintenance | |
| __construct () | |
| Default constructor. More... | |
| checkRequiredExtensions () | |
| Verify that the required extensions are installed. More... | |
| cleanupChanneled () | |
| Clean up channeled output. More... | |
| clearParamsAndArgs () | |
| Clear all params and arguments. More... | |
| execute () | |
| Do the actual work. 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... | |
| setConfig (Config $config) | |
| setDB (IDatabase $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... | |
Protected Attributes | |
| DatabaseBase | $db |
Protected Attributes inherited from Maintenance | |
| $mArgList = [] | |
| $mArgs = [] | |
| int | $mBatchSize = null |
| Batch size. More... | |
| $mDbUser | |
| $mDescription = '' | |
| $mInputLoaded = false | |
| $mOptions = [] | |
| $mParams = [] | |
| $mQuiet = false | |
| $mSelf | |
| $mShortParamsMap = [] | |
Private Member Functions | |
| canMerge ($id, LinkTarget $linkTarget, &$logStatus) | |
| Determine if we can merge a page. More... | |
| checkAll ($options) | |
| Check all namespaces. More... | |
| checkLinkTable ($table, $fieldPrefix, $ns, $name, $options, $extraConds=[]) | |
| Check and repair the destination fields in a link table. More... | |
| checkNamespace ($ns, $name, $options) | |
| Check a given prefix and try to move it into the given destination namespace. More... | |
| checkPrefix ($options) | |
| Move the given pseudo-namespace, either replacing the colon with a hyphen (useful for pseudo-namespaces that conflict with interwiki links) or move them to another namespace if specified. More... | |
| getAlternateTitle (LinkTarget $linkTarget, $options) | |
| Get an alternative title to move a page to. More... | |
| getDestinationTitle ($ns, $name, $sourceNs, $sourceDbk, $options) | |
| Get the preferred destination title for a given target page. More... | |
| getInterwikiList () | |
| Get the interwiki list. More... | |
| getTargetList ($ns, $name, $options) | |
| Find pages in main and talk namespaces that have a prefix of the new namespace so we know titles that will need migrating. More... | |
| mergePage ($row, Title $newTitle) | |
| Merge page histories. More... | |
| movePage ($id, LinkTarget $newLinkTarget) | |
| Move a page. More... | |
Private Attributes | |
| $resolvableLinks = 0 | |
| $resolvablePages = 0 | |
| $totalLinks = 0 | |
| $totalPages = 0 | |
Additional Inherited Members | |
Static Public Member Functions inherited from Maintenance | |
| 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 | 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... | |
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' |
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 slaves to catch up. More... | |
| deleteOption ($name) | |
| Remove an option. More... | |
| error ($err, $die=0) | |
| Throw an error to the user. More... | |
| getArg ($argId=0, $default=null) | |
| Get an argument. More... | |
| getDB ($db, $groups=[], $wiki=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 param 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... | |
| setBatchSize ($s=0) | |
| Set the batch size. More... | |
| validateParamsAndArgs () | |
| Run some validation checks on the params, etc. More... | |
Maintenance script that checks for articles to fix after adding/deleting namespaces.
Definition at line 37 of file namespaceDupes.php.
| NamespaceConflictChecker::__construct | ( | ) |
Definition at line 50 of file namespaceDupes.php.
References Maintenance\addDescription(), and Maintenance\addOption().
|
private |
Determine if we can merge a page.
We check if an inaccessible revision would become the latest and deny the merge if so – it's theoretically possible to update the latest revision, but opens a can of worms – search engine updates, recentchanges review, etc.
| integer | $id | The page_id |
| LinkTarget | $linkTarget | The new link target |
| string | $logStatus | This is set to the log status message on failure |
Definition at line 559 of file namespaceDupes.php.
References Revision\newFromPageId(), Revision\newFromTitle(), and IDBAccessObject\READ_LATEST.
Referenced by checkNamespace().
|
private |
Check all namespaces.
| array | $options | Associative array of validated command-line options |
Definition at line 103 of file namespaceDupes.php.
References $name, $options, $wgCapitalLinks, $wgContLang, $wgNamespaceAliases, as, checkLinkTable(), checkNamespace(), MWNamespace\getCanonicalNamespaces(), getInterwikiList(), global, Maintenance\output(), and use.
Referenced by execute().
|
private |
Check and repair the destination fields in a link table.
| string | $table | The link table name |
| string | $fieldPrefix | The field prefix in the link table |
| int | $ns | Destination namespace id |
| string | $name | |
| array | $options | Associative array of validated command-line options |
| array | $extraConds | Extra conditions for the SQL query |
Definition at line 340 of file namespaceDupes.php.
References $name, $options, $res, as, getDestinationTitle(), Maintenance\output(), and wfWaitForSlaves().
Referenced by checkAll().
|
private |
Check a given prefix and try to move it into the given destination namespace.
| int | $ns | Destination namespace id |
| string | $name | |
| array | $options | Associative array of validated command-line options |
Definition at line 244 of file namespaceDupes.php.
References $count, $name, $options, as, canMerge(), getAlternateTitle(), getDestinationTitle(), getTargetList(), mergePage(), movePage(), and Maintenance\output().
Referenced by checkAll(), and checkPrefix().
|
private |
Move the given pseudo-namespace, either replacing the colon with a hyphen (useful for pseudo-namespaces that conflict with interwiki links) or move them to another namespace if specified.
| array | $options | Associative array of validated command-line options |
Definition at line 419 of file namespaceDupes.php.
References $options, checkNamespace(), and Maintenance\output().
Referenced by execute().
| NamespaceConflictChecker::execute | ( | ) |
Definition at line 71 of file namespaceDupes.php.
References $options, $retval, checkAll(), checkPrefix(), DB_MASTER, Maintenance\getDB(), Maintenance\getOption(), Maintenance\hasOption(), and Maintenance\output().
|
private |
Get an alternative title to move a page to.
This is used if the preferred destination title already exists.
| LinkTarget | $linkTarget | |
| array | $options | Associative array of validated command-line options |
Definition at line 493 of file namespaceDupes.php.
References $options, $title, MediaWiki\Linker\LinkTarget\getDBkey(), MediaWiki\Linker\LinkTarget\getNamespace(), and Title\makeTitleSafe().
Referenced by checkNamespace().
|
private |
Get the preferred destination title for a given target page.
| integer | $ns | The destination namespace ID |
| string | $name | The conflicting prefix |
| integer | $sourceNs | The source namespace |
| integer | $sourceDbk | The source DB key (i.e. page_title) |
| array | $options | Associative array of validated command-line options |
Definition at line 467 of file namespaceDupes.php.
References MWNamespace\getTalk(), MWNamespace\isSubject(), Title\makeTitleSafe(), and NS_TALK.
Referenced by checkLinkTable(), and checkNamespace().
|
private |
Get the interwiki list.
Definition at line 226 of file namespaceDupes.php.
References as, and Interwiki\getAllPrefixes().
Referenced by checkAll().
|
private |
Find pages in main and talk namespaces that have a prefix of the new namespace so we know titles that will need migrating.
| int | $ns | Destination namespace id |
| string | $name | Prefix that is being made a namespace |
| array | $options | Associative array of validated command-line options |
Definition at line 437 of file namespaceDupes.php.
References $options, MWNamespace\isSubject(), NS_MAIN, and NS_TALK.
Referenced by checkNamespace().
|
private |
Merge page histories.
| integer | $id | The page_id |
| Title | $newTitle | The new title |
Definition at line 577 of file namespaceDupes.php.
References Maintenance\beginTransaction(), Maintenance\commitTransaction(), Title\getArticleID(), and Title\makeTitle().
Referenced by checkNamespace().
|
private |
Move a page.
| integer | $id | The page_id |
| LinkTarget | $newLinkTarget | The new title link target |
Definition at line 518 of file namespaceDupes.php.
References as, MediaWiki\Linker\LinkTarget\getDBkey(), MediaWiki\Linker\LinkTarget\getNamespace(), and list.
Referenced by checkNamespace().
|
protected |
Definition at line 42 of file namespaceDupes.php.
|
private |
Definition at line 47 of file namespaceDupes.php.
|
private |
Definition at line 44 of file namespaceDupes.php.
|
private |
Definition at line 48 of file namespaceDupes.php.
|
private |
Definition at line 45 of file namespaceDupes.php.