X-Git-Url: https://git.cyclocoop.org/admin/?a=blobdiff_plain;f=maintenance%2Fundelete.php;h=e9b2abd0f91b9e509c1c55db5c1b14277337c1e1;hb=39d55d812c32d9fc3b326cb96831d61d781e9647;hp=adebd277aa9283325ce6dd29fb9620294bdbf963;hpb=a8b5e408bf8df6a02d18c70ad22ec14f2333abd4;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/undelete.php b/maintenance/undelete.php index adebd277aa..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, 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;