00001 <?php 00002 00003 require "commandLine.inc"; 00004 00005 echo "Fetching redirects...\n"; 00006 $dbr = wfGetDB( DB_SLAVE ); 00007 $result = $dbr->select( 00008 array( 'page' ), 00009 array( 'page_namespace','page_title', 'page_latest' ), 00010 array( 'page_is_redirect' => 1 ) ); 00011 00012 $count = $result->numRows(); 00013 echo "Found $count total redirects.\n"; 00014 echo "Looking for bad redirects:\n"; 00015 echo "\n"; 00016 00017 foreach( $result as $row ) { 00018 $title = Title::makeTitle( $row->page_namespace, $row->page_title ); 00019 $rev = Revision::newFromId( $row->page_latest ); 00020 if( $rev ) { 00021 $target = Title::newFromRedirect( $rev->getText() ); 00022 if( !$target ) { 00023 echo $title->getPrefixedText(); 00024 echo "\n"; 00025 } 00026 } 00027 } 00028 00029 echo "\n"; 00030 echo "done.\n";