summaryrefslogtreecommitdiff
path: root/maintenance/checkBadRedirects.php
blob: 48a4b0e6d149c886660a18437f157e65f4ad7eb0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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";