Go to the documentation of this file.
25 require_once __DIR__ .
'/Maintenance.php';
35 parent::__construct();
37 "Rollback all edits by a given user or IP provided they're the most recent edit" );
40 'A list of titles, none means all titles where the given user is the most recent',
44 $this->
addOption(
'user',
'A user or IP to rollback all edits for',
true,
true );
45 $this->
addOption(
'summary',
'Edit summary to use',
false,
true );
46 $this->
addOption(
'bot',
'Mark the edits as bot' );
57 $summary = $this->
getOption(
'summary', $this->mSelf .
' mass rollback' );
64 $this->
error(
'Invalid title, ' . $title );
74 $this->
output(
'No suitable titles to be rolled back.' );
81 foreach ( $titles as
$t ) {
83 $this->
output(
'Processing ' . $t->getPrefixedText() .
'... ' );
84 if ( !$page->commitRollback( $user, $summary, $bot, $results, $doer ) ) {
85 $this->
output(
"Done!\n" );
87 $this->
output(
"Failed!\n" );
102 $results =
$dbr->select(
103 [
'page',
'revision' ] + $actorQuery[
'tables'],
104 [
'page_namespace',
'page_title' ],
105 $actorQuery[
'conds'],
108 [
'revision' => [
'JOIN',
'page_latest = rev_id' ] ] + $actorQuery[
'joins']
110 foreach ( $results as $row ) {
const RUN_MAINTENANCE_IF_MAIN
static newFromText( $text, $defaultNamespace=NS_MAIN)
Create a new Title from text, such as what one would find in a link.
fatalError( $msg, $exitCode=1)
Output a message and terminate the current script.
addDescription( $text)
Set the description text.
getRollbackTitles( $user)
Get all pages that should be rolled back for a given user.
static newFromName( $name, $validate='valid')
Static factory method for creation from username.
Abstract maintenance class for quickly writing and churning out maintenance scripts with minimal effo...
Maintenance script to rollback all edits by a given user or IP provided they're the most recent edit.
__construct()
Default constructor.
static newMigration()
Static constructor.
static newSystemUser( $name, $options=[])
Static factory method for creation of a "system" user from username.
static factory(Title $title)
Create a WikiPage object of the appropriate class for the given title.
addOption( $name, $description, $required=false, $withArg=false, $shortName=false, $multiOccurrence=false)
Add a parameter to the script.
static isIP( $name)
Does the string match an anonymous IP address?
static makeTitle( $ns, $title, $fragment='', $interwiki='')
Create a new Title from a namespace index and a DB key.
execute()
Do the actual work.
getDB( $db, $groups=[], $dbDomain=false)
Returns a database to be used by current maintenance script.
getOption( $name, $default=null)
Get an option, or return the default.
static getCanonicalName( $name, $validate='valid')
Given unvalidated user input, return a canonical username, or false if the username is invalid.
error( $err, $die=0)
Throw an error to the user.
output( $out, $channel=null)
Throw some output to the user.
hasOption( $name)
Checks to see if a particular option exists.