]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - maintenance/checkBadRedirects.php
MediaWiki 1.14.0
[autoinstallsdev/mediawiki.git] / maintenance / checkBadRedirects.php
diff --git a/maintenance/checkBadRedirects.php b/maintenance/checkBadRedirects.php
new file mode 100644 (file)
index 0000000..48a4b0e
--- /dev/null
@@ -0,0 +1,30 @@
+<?php
+
+require "commandLine.inc";
+
+echo "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();
+echo "Found $count total redirects.\n";
+echo "Looking for bad redirects:\n";
+echo "\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 ) {
+                       echo $title->getPrefixedText();
+                       echo "\n";
+               }
+       }
+}
+
+echo "\n";
+echo "done.\n";