mDescription = "Check for bad redirects"; } public function execute() { $this->output( "Fetching redirects...\n" ); $dbr = wfGetDB( DB_SLAVE ); $result = $dbr->select( array( 'page' ), array( 'page_namespace', 'page_title', 'page_latest' ), array( 'page_is_redirect' => 1 ) ); $count = $result->numRows(); $this->output( "Found $count redirects.\n" . "Checking for bad redirects:\n\n" ); foreach ( $result as $row ) { $title = Title::makeTitle( $row->page_namespace, $row->page_title ); $rev = Revision::newFromId( $row->page_latest ); if ( $rev ) { $target = Title::newFromRedirect( $rev->getText() ); if ( !$target ) { $this->output( $title->getPrefixedText() . "\n" ); } } } $this->output( "\nDone.\n" ); } } $maintClass = "CheckBadRedirects"; require_once( RUN_MAINTENANCE_IF_MAIN );