[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

/maintenance/ -> undelete.php (source)

   1  <?php
   2  /**
   3   * Undelete a page by fetching it from the archive table
   4   *
   5   * This program is free software; you can redistribute it and/or modify
   6   * it under the terms of the GNU General Public License as published by
   7   * the Free Software Foundation; either version 2 of the License, or
   8   * (at your option) any later version.
   9   *
  10   * This program is distributed in the hope that it will be useful,
  11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13   * GNU General Public License for more details.
  14   *
  15   * You should have received a copy of the GNU General Public License along
  16   * with this program; if not, write to the Free Software Foundation, Inc.,
  17   * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  18   * http://www.gnu.org/copyleft/gpl.html
  19   *
  20   * @file
  21   * @ingroup Maintenance
  22   */
  23  
  24  require_once  __DIR__ . '/Maintenance.php';
  25  
  26  class Undelete extends Maintenance {
  27  	public function __construct() {
  28          parent::__construct();
  29          $this->mDescription = "Undelete a page";
  30          $this->addOption( 'user', 'The user to perform the undeletion', false, true, 'u' );
  31          $this->addOption( 'reason', 'The reason to undelete', false, true, 'r' );
  32          $this->addArg( 'pagename', 'Page to undelete' );
  33      }
  34  
  35  	public function execute() {
  36          global $wgUser;
  37  
  38          $user = $this->getOption( 'user', 'Command line script' );
  39          $reason = $this->getOption( 'reason', '' );
  40          $pageName = $this->getArg();
  41  
  42          $title = Title::newFromText( $pageName );
  43          if ( !$title ) {
  44              $this->error( "Invalid title", true );
  45          }
  46          $wgUser = User::newFromName( $user );
  47          if ( !$wgUser ) {
  48              $this->error( "Invalid username", true );
  49          }
  50          $archive = new PageArchive( $title, RequestContext::getMain()->getConfig() );
  51          $this->output( "Undeleting " . $title->getPrefixedDBkey() . '...' );
  52          $archive->undelete( array(), $reason );
  53          $this->output( "done\n" );
  54      }
  55  }
  56  
  57  $maintClass = "Undelete";
  58  require_once RUN_MAINTENANCE_IF_MAIN;


Generated: Fri Nov 28 14:03:12 2014 Cross-referenced by PHPXref 0.7.1