* (bug 6489) Use appropriate link colour on Special:Shortpages
authorRob Church <robchurch@users.mediawiki.org>
Thu, 29 Jun 2006 13:28:19 +0000 (13:28 +0000)
committerRob Church <robchurch@users.mediawiki.org>
Thu, 29 Jun 2006 13:28:19 +0000 (13:28 +0000)
RELEASE-NOTES
includes/SpecialShortpages.php

index df8a8b1..f9baa05 100644 (file)
@@ -600,6 +600,7 @@ Some default configuration options have changed:
 * (bug 6484) Don't do message transformations when preloading messages for editing
 * (bug 6201) Treat spaces as underscores in parameters to {{ns:}}
 * (bug 6006) Allow hiding the password change fields using an authentication plugin
+* (bug 6489) Use appropriate link colour on Special:Shortpages
 
 == Compatibility ==
 
index d1592c4..d8e13c7 100644 (file)
@@ -43,19 +43,37 @@ class ShortPagesPage extends QueryPage {
                        WHERE page_namespace=".NS_MAIN." AND page_is_redirect=0";
        }
 
+       function preprocessResults( &$dbo, $res ) {
+               # There's no point doing a batch check if we aren't caching results;
+               # the page must exist for it to have been pulled out of the table
+               if( $this->isCached() ) {
+                       $batch = new LinkBatch();
+                       while( $row = $dbo->fetchObject( $res ) )
+                               $batch->addObj( Title::makeTitleSafe( $row->namespace, $row->title ) );
+                       $batch->execute();
+                       if( $dbo->numRows( $res ) > 0 )
+                               $dbo->dataSeek( $res, 0 );
+               }
+       }
+
        function sortDescending() {
                return false;
        }
 
        function formatResult( $skin, $result ) {
                global $wgLang, $wgContLang;
-               $nb = wfMsgExt( 'nbytes', array('parsemag', 'escape'), $wgLang->formatNum( $result->value ) );
-               $title = Title::makeTitle( $result->namespace, $result->title );
-               $link = $skin->makeKnownLinkObj( $title, htmlspecialchars( $wgContLang->convert( $title->getPrefixedText() ) ) );
-               $histlink = $skin->makeKnownLinkObj( $title, wfMsgHtml('hist'), 'action=history' );
-               $dirmark = $wgContLang->getDirMark();
-
-               return "({$histlink}) {$dirmark}$link {$dirmark}({$nb})";
+               $dm = $wgContLang->getDirMark();
+               
+               $title = Title::makeTitleSafe( $result->namespace, $result->title );
+               $hlink = $skin->makeKnownLinkObj( $title, wfMsgHtml( 'hist' ), 'action=history' );
+               $plink = $this->isCached()
+                                       ? $skin->makeLinkObj( $title )
+                                       : $skin->makeKnownLinkObj( $title );
+               $size = wfMsgHtml( 'nbytes', $wgLang->formatNum( htmlspecialchars( $result->value ) ) );
+               
+               return $title->exists()
+                               ? "({$hlink}) {$dm}{$plink} {$dm}[{$size}]"
+                               : "<s>({$hlink}) {$dm}{$plink} {$dm}[{$size}]</s>";
        }
 }