00001 <?php 00024 require_once( dirname(__FILE__) . '/Maintenance.php' ); 00025 00026 class DeleteDefaultMessages extends Maintenance { 00027 public function __construct() { 00028 parent::__construct(); 00029 $this->mDescription = "Deletes all pages in the MediaWiki namespace" . 00030 " which were last edited by \"MediaWiki default\""; 00031 } 00032 00033 public function execute() { 00034 self::reallyExecute(); 00035 } 00036 00037 public static function reallyExecute() { 00038 $user = 'MediaWiki default'; 00039 $reason = 'No longer required'; 00040 00041 global $wgUser; 00042 $wgUser = User::newFromName( $user ); 00043 $wgUser->addGroup( 'bot' ); 00044 00045 $dbr = wfGetDB( DB_SLAVE ); 00046 $res = $dbr->select( array( 'page', 'revision' ), 00047 array( 'page_namespace', 'page_title' ), 00048 array( 00049 'page_namespace' => NS_MEDIAWIKI, 00050 'page_latest=rev_id', 00051 'rev_user_text' => 'MediaWiki default', 00052 ) 00053 ); 00054 00055 $dbw = wfGetDB( DB_MASTER ); 00056 00057 foreach ( $res as $row ) { 00058 if ( function_exists( 'wfWaitForSlaves' ) ) { 00059 wfWaitForSlaves( 5 ); 00060 } 00061 $dbw->ping(); 00062 $title = Title::makeTitle( $row->page_namespace, $row->page_title ); 00063 $article = new Article( $title ); 00064 $dbw->begin(); 00065 $article->doDeleteArticle( $reason ); 00066 $dbw->commit(); 00067 } 00068 } 00069 } 00070 00071 $maintClass = "DeleteDefaultMessages"; 00072 require_once( DO_MAINTENANCE );