Remove never used stuff. There is some $rand = wfRandom calls that might
[lhc/web/wiklou.git] / includes / SpecialBrokenRedirects.php
index 8ae92c0..a78319f 100644 (file)
@@ -26,16 +26,24 @@ class BrokenRedirectsPage extends PageQueryPage {
        function isSyndicated() { return false; }
 
        function getPageHeader( ) {
-               return '<p>'.wfMsg('brokenredirectstext')."</p><br />\n";
+               return wfMsgWikiHtml('brokenredirectstext')."<br />\n";
        }
 
        function getSQL() {
                $dbr =& wfGetDB( DB_SLAVE );
-               extract( $dbr->tableNames( 'page', 'brokenlinks' ) );
+               extract( $dbr->tableNames( 'page', 'pagelinks' ) );
 
-               $sql = "SELECT 'BrokenRedirects' as type, page_namespace as namespace," .
-                          "page_title as title, bl_to FROM $brokenlinks,$page " .
-                      'WHERE page_is_redirect=1 AND bl_from=page_id ';
+               $sql = "SELECT 'BrokenRedirects'  AS type,
+                               p1.page_namespace AS namespace,
+                               p1.page_title     AS title,
+                               pl_namespace,
+                               pl_title
+                          FROM ($pagelinks, $page AS p1)
+                     LEFT JOIN $page AS p2
+                            ON pl_namespace=p2.page_namespace AND pl_title=p2.page_title
+                         WHERE p1.page_is_redirect=1
+                           AND pl_from=p1.page_id
+                           AND p2.page_namespace IS NULL";
                return $sql;
        }
 
@@ -44,11 +52,9 @@ class BrokenRedirectsPage extends PageQueryPage {
        }
 
        function formatResult( $skin, $result ) {
-               global $wgContLang ;
-               
                $fromObj = Title::makeTitle( $result->namespace, $result->title );
-               if ( isset( $result->bl_to ) ) {
-                       $toObj = Title::newFromText( $result->bl_to );
+               if ( isset( $result->pl_title ) ) {
+                       $toObj = Title::makeTitle( $result->pl_namespace, $result->pl_title );
                } else {
                        $blinks = $fromObj->getBrokenLinksFrom();
                        if ( $blinks ) {
@@ -59,15 +65,15 @@ class BrokenRedirectsPage extends PageQueryPage {
                }
 
                // $toObj may very easily be false if the $result list is cached
-               if ( !is_object( $toObj ) || !is_object( $fromObj ) ) {
-                       return '';
+               if ( !is_object( $toObj ) ) {
+                       return '<s>' . $skin->makeLinkObj( $fromObj ) . '</s>';
                }
 
                $from = $skin->makeKnownLinkObj( $fromObj ,'', 'redirect=no' );
                $edit = $skin->makeBrokenLinkObj( $fromObj , "(".wfMsg("qbedit").")" , 'redirect=no');
                $to   = $skin->makeBrokenLinkObj( $toObj );
                                
-               return "$from $edit => $to";
+               return "$from $edit &rarr; $to";
        }
 }