Merge "OutputPage: Support HTML5 elements in older browsers using html5shiv"
[lhc/web/wiklou.git] / maintenance / undelete.php
index adebd27..c2d5c2c 100644 (file)
@@ -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,7 +35,7 @@ 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();
 
@@ -43,13 +43,17 @@ class Undelete extends Maintenance {
                if ( !$title ) {
                        $this->error( "Invalid title", true );
                }
-               $wgUser = User::newFromName( $user );
+               if ( $user === false ) {
+                       $wgUser = User::newSystemUser( 'Command line script', [ 'steal' => true ] );
+               } else {
+                       $wgUser = User::newFromName( $user );
+               }
                if ( !$wgUser ) {
                        $this->error( "Invalid username", true );
                }
                $archive = new PageArchive( $title, RequestContext::getMain()->getConfig() );
                $this->output( "Undeleting " . $title->getPrefixedDBkey() . '...' );
-               $archive->undelete( array(), $reason );
+               $archive->undelete( [], $reason );
                $this->output( "done\n" );
        }
 }