maintenance scripts: Reduce direct references to $wgUser

Only use `wgUser` when setting or retrieving the global, not for
the user object that it is set to

Bug: T243708
Change-Id: Ie962192f1dbc066ba71b9abb48dc9d522d472c78
This commit is contained in:
DannyS712 2020-06-05 01:37:01 +00:00
parent 453755080c
commit e176cb90cb
5 changed files with 33 additions and 26 deletions

View file

@ -49,12 +49,13 @@ class CleanupSpam extends Maintenance {
global $IP, $wgLocalDatabases, $wgUser;
$username = wfMessage( 'spambot_username' )->text();
$wgUser = User::newSystemUser( $username );
if ( !$wgUser ) {
$user = User::newSystemUser( $username );
if ( !$user ) {
$this->fatalError( "Invalid username specified in 'spambot_username' message: $username" );
}
// Hack: Grant bot rights so we don't flood RecentChanges
$wgUser->addGroup( 'bot' );
$user->addGroup( 'bot' );
$wgUser = $user;
$spec = $this->getArg( 0 );

View file

@ -60,16 +60,17 @@ class EditCLI extends Maintenance {
$slot = $this->getOption( 'slot', SlotRecord::MAIN );
if ( $userName === false ) {
$wgUser = User::newSystemUser( 'Maintenance script', [ 'steal' => true ] );
$user = User::newSystemUser( 'Maintenance script', [ 'steal' => true ] );
} else {
$wgUser = User::newFromName( $userName );
$user = User::newFromName( $userName );
}
if ( !$wgUser ) {
if ( !$user ) {
$this->fatalError( "Invalid username" );
}
if ( $wgUser->isAnon() ) {
$wgUser->addToDatabase();
if ( $user->isAnon() ) {
$user->addToDatabase();
}
$wgUser = $user;
$title = Title::newFromText( $this->getArg( 0 ) );
if ( !$title ) {
@ -98,7 +99,7 @@ class EditCLI extends Maintenance {
# Do the edit
$this->output( "Saving... " );
$updater = $page->newPageUpdater( $wgUser );
$updater = $page->newPageUpdater( $user );
$flags = ( $minor ? EDIT_MINOR : 0 ) |
( $bot ? EDIT_FORCE_BOT : 0 ) |

View file

@ -63,7 +63,7 @@ class MoveBatch extends Maintenance {
chdir( $oldCwd );
# Options processing
$user = $this->getOption( 'u', false );
$username = $this->getOption( 'u', false );
$reason = $this->getOption( 'r', '' );
$interval = $this->getOption( 'i', 0 );
$noredirects = $this->hasOption( 'noredirects' );
@ -77,14 +77,15 @@ class MoveBatch extends Maintenance {
if ( !$file ) {
$this->fatalError( "Unable to read file, exiting" );
}
if ( $user === false ) {
$wgUser = User::newSystemUser( 'Move page script', [ 'steal' => true ] );
if ( $username === false ) {
$user = User::newSystemUser( 'Move page script', [ 'steal' => true ] );
} else {
$wgUser = User::newFromName( $user );
$user = User::newFromName( $username );
}
if ( !$wgUser ) {
if ( !$user ) {
$this->fatalError( "Invalid username" );
}
$wgUser = $user;
# Setup complete, now start
$dbw = $this->getDB( DB_MASTER );
@ -109,7 +110,7 @@ class MoveBatch extends Maintenance {
$this->beginTransaction( $dbw, __METHOD__ );
$mp = MediaWikiServices::getInstance()->getMovePageFactory()
->newMovePage( $source, $dest );
$status = $mp->move( $wgUser, $reason, !$noredirects );
$status = $mp->move( $user, $reason, !$noredirects );
if ( !$status->isOK() ) {
$this->output( "\nFAILED: " . $status->getMessage( false, false, 'en' )->text() );
}

View file

@ -214,12 +214,14 @@ class PPFuzzTest {
public function execute() {
global $wgUser;
$wgUser = new PPFuzzUser;
$wgUser->mName = 'Fuzz';
$wgUser->mFrom = 'name';
$wgUser->ppfz_test = $this;
$user = new PPFuzzUser;
$user->mName = 'Fuzz';
$user->mFrom = 'name';
$user->ppfz_test = $this;
$options = ParserOptions::newFromUser( $wgUser );
$wgUser = $user;
$options = ParserOptions::newFromUser( $user );
$options->setTemplateCallback( [ $this, 'templateHook' ] );
$options->setTimestamp( wfTimestampNow() );
$this->output = call_user_func(

View file

@ -35,7 +35,7 @@ class Undelete extends Maintenance {
public function execute() {
global $wgUser;
$user = $this->getOption( 'user', false );
$username = $this->getOption( 'user', false );
$reason = $this->getOption( 'reason', '' );
$pageName = $this->getArg( 0 );
@ -43,17 +43,19 @@ class Undelete extends Maintenance {
if ( !$title ) {
$this->fatalError( "Invalid title" );
}
if ( $user === false ) {
$wgUser = User::newSystemUser( 'Command line script', [ 'steal' => true ] );
if ( $username === false ) {
$user = User::newSystemUser( 'Command line script', [ 'steal' => true ] );
} else {
$wgUser = User::newFromName( $user );
$user = User::newFromName( $username );
}
if ( !$wgUser ) {
if ( !$user ) {
$this->fatalError( "Invalid username" );
}
$wgUser = $user;
$archive = new PageArchive( $title, RequestContext::getMain()->getConfig() );
$this->output( "Undeleting " . $title->getPrefixedDBkey() . '...' );
$archive->undeleteAsUser( [], $wgUser, $reason );
$archive->undeleteAsUser( [], $user, $reason );
$this->output( "done\n" );
}
}