]> scripts.mit.edu Git - autoinstalls/mediawiki.git/blob - maintenance/deleteDefaultMessages.php
Mediawiki 1.15.2
[autoinstalls/mediawiki.git] / maintenance / deleteDefaultMessages.php
1 <?php
2
3 /**
4  * Deletes all pages in the MediaWiki namespace which were last edited by 
5  * "MediaWiki default".
6  *
7  * @file
8  * @ingroup Maintenance
9  */
10
11 if ( !defined( 'MEDIAWIKI' ) ) {
12         require_once( 'commandLine.inc' );
13         deleteDefaultMessages();
14 }
15
16 function deleteDefaultMessages() {
17         $user = 'MediaWiki default';
18         $reason = 'No longer required';
19
20         global $wgUser;
21         $wgUser = User::newFromName( $user );
22         $wgUser->addGroup( 'bot' );
23         
24         $dbr = wfGetDB( DB_SLAVE );
25         $res = $dbr->select( array( 'page', 'revision' ),
26                 array( 'page_namespace', 'page_title' ),
27                 array(
28                         'page_namespace' => NS_MEDIAWIKI,
29                         'page_latest=rev_id',
30                         'rev_user_text' => 'MediaWiki default',
31                 )
32         );
33
34         $dbw = wfGetDB( DB_MASTER );
35
36         while ( $row = $dbr->fetchObject( $res ) ) {
37                 if ( function_exists( 'wfWaitForSlaves' ) ) {
38                         wfWaitForSlaves( 5 );
39                 }
40                 $dbw->ping();
41                 $title = Title::makeTitle( $row->page_namespace, $row->page_title );
42                 $article = new Article( $title );
43                 $dbw->begin();
44                 $article->doDeleteArticle( $reason );
45                 $dbw->commit();
46         }
47 }
48