Merge maintenance-work branch:
[lhc/web/wiklou.git] / maintenance / deleteDefaultMessages.php
1 <?php
2 /**
3 * Deletes all pages in the MediaWiki namespace which were last edited by
4 * "MediaWiki default".
5 *
6 * @ingroup Maintenance
7 */
8
9 require_once( "Maintenance.php" );
10
11 class DeleteDefaultMessages extends Maintenance {
12 public function __construct() {
13 parent::__construct();
14 $this->mDescription = "Deletes all pages in the MediaWiki namespace" .
15 " which were last edited by \"MediaWiki default\"";
16 }
17
18 public function execute() {
19 $user = 'MediaWiki default';
20 $reason = 'No longer required';
21
22 global $wgUser;
23 $wgUser = User::newFromName( $user );
24 $wgUser->addGroup( 'bot' );
25
26 $dbr = wfGetDB( DB_SLAVE );
27 $res = $dbr->select( array( 'page', 'revision' ),
28 array( 'page_namespace', 'page_title' ),
29 array(
30 'page_namespace' => NS_MEDIAWIKI,
31 'page_latest=rev_id',
32 'rev_user_text' => 'MediaWiki default',
33 )
34 );
35
36 $dbw = wfGetDB( DB_MASTER );
37
38 while ( $row = $dbr->fetchObject( $res ) ) {
39 if ( function_exists( 'wfWaitForSlaves' ) ) {
40 wfWaitForSlaves( 5 );
41 }
42 $dbw->ping();
43 $title = Title::makeTitle( $row->page_namespace, $row->page_title );
44 $article = new Article( $title );
45 $dbw->begin();
46 $article->doDeleteArticle( $reason );
47 $dbw->commit();
48 }
49 }
50 }
51
52 $maintClass = "DeleteDefaultMessages";
53 require_once( DO_MAINTENANCE );