Fix bug http://bugzilla.wikipedia.org/show_bug.cgi?id=705
[lhc/web/wiklou.git] / includes / SpecialBrokenRedirects.php
1 <?php
2 /**
3 *
4 * @package MediaWiki
5 * @subpackage SpecialPage
6 */
7
8 /**
9 *
10 */
11 require_once('QueryPage.php');
12
13 /**
14 *
15 * @package MediaWiki
16 * @subpackage SpecialPage
17 */
18 class BrokenRedirectsPage extends PageQueryPage {
19
20 function getName() {
21 return 'brokenredirects';
22 }
23
24 function isExpensive( ) { return true; }
25 function isSyndicated() { return false; }
26
27 function getPageHeader( ) {
28 #FIXME : probably need to add a backlink to the maintenance page.
29 return '<p>'.wfMsg('brokenredirectstext')."</p><br />\n";
30 }
31
32 function getSQL() {
33 $dbr =& wfGetDB( DB_SLAVE );
34 extract( $dbr->tableNames( 'cur', 'brokenlinks' ) );
35
36 $sql = "SELECT bl_to,cur_title FROM $brokenlinks,$cur " .
37 "WHERE cur_is_redirect=1 AND cur_namespace=0 AND bl_from=cur_id ";
38 return $sql;
39 }
40
41 function getOrder() {
42 return '';
43 }
44
45 function formatResult( $skin, $result ) {
46 global $wgContLang ;
47
48 $ns = $wgContLang->getNamespaces() ; /* not used, why bother? */
49 $from = $skin->makeKnownLink( $result->cur_title ,'', 'redirect=no' );
50 $edit = $skin->makeBrokenLink( $result->cur_title , "(".wfMsg("qbedit").")" , 'redirect=no');
51 $to = $skin->makeBrokenLink( $result->bl_to );
52
53 return "$from $edit => $to";
54 }
55 }
56
57 /**
58 * constructor
59 */
60 function wfSpecialBrokenRedirects() {
61 list( $limit, $offset ) = wfCheckLimits();
62
63 $sbr = new BrokenRedirectsPage();
64
65 return $sbr->doQuery( $offset, $limit );
66
67 }
68 ?>