X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2Fundelete.php;h=861f5ed06cd480427398712d20e9fcc2343b50d8;hb=faf7cc4a09848c538320bd2b9067b1a77c0a0183;hp=c890c69b6c686057c68568d44aaf8e98b2e5961a;hpb=9e0e8abd7eac4c16b22a0ff7c8381f0f7ecccf64;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/undelete.php b/maintenance/undelete.php index c890c69b6c..e9b2abd0f9 100644 --- a/maintenance/undelete.php +++ b/maintenance/undelete.php @@ -26,7 +26,7 @@ require_once __DIR__ . '/Maintenance.php'; class Undelete extends Maintenance { public function __construct() { parent::__construct(); - $this->mDescription = "Undelete a page"; + $this->addDescription( 'Undelete a page' ); $this->addOption( 'user', 'The user to perform the undeletion', false, true, 'u' ); $this->addOption( 'reason', 'The reason to undelete', false, true, 'r' ); $this->addArg( 'pagename', 'Page to undelete' ); @@ -35,24 +35,28 @@ class Undelete extends Maintenance { public function execute() { global $wgUser; - $user = $this->getOption( 'user', 'Command line script' ); + $user = $this->getOption( 'user', false ); $reason = $this->getOption( 'reason', '' ); $pageName = $this->getArg(); $title = Title::newFromText( $pageName ); if ( !$title ) { - $this->error( "Invalid title", true ); + $this->fatalError( "Invalid title" ); + } + if ( $user === false ) { + $wgUser = User::newSystemUser( 'Command line script', [ 'steal' => true ] ); + } else { + $wgUser = User::newFromName( $user ); } - $wgUser = User::newFromName( $user ); if ( !$wgUser ) { - $this->error( "Invalid username", true ); + $this->fatalError( "Invalid username" ); } - $archive = new PageArchive( $title ); + $archive = new PageArchive( $title, RequestContext::getMain()->getConfig() ); $this->output( "Undeleting " . $title->getPrefixedDBkey() . '...' ); - $archive->undelete( array(), $reason ); + $archive->undelete( [], $reason ); $this->output( "done\n" ); } } -$maintClass = "Undelete"; +$maintClass = Undelete::class; require_once RUN_MAINTENANCE_IF_MAIN;