From 21df5524273edd27c5726f3d6889b8ab02c842bb Mon Sep 17 00:00:00 2001 From: Alexandre Emsenhuber Date: Sat, 4 Aug 2012 22:08:59 +0200 Subject: [PATCH] Fixes to Special:Mostlinkedcategories. - Don't execute the LinkBatch if there are no rows. - Checks for invalid titles and output a message if this is the case. Change-Id: I934c151204ee26f2bbfe0dbc8068b96ae7465625 --- .../specials/SpecialMostlinkedcategories.php | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/includes/specials/SpecialMostlinkedcategories.php b/includes/specials/SpecialMostlinkedcategories.php index 7fb9dea998..408d79170a 100644 --- a/includes/specials/SpecialMostlinkedcategories.php +++ b/includes/specials/SpecialMostlinkedcategories.php @@ -55,6 +55,10 @@ class MostlinkedCategoriesPage extends QueryPage { * @param $res DatabaseResult */ function preprocessResults( $db, $res ) { + if ( !$res->numRows() ) { + return; + } + $batch = new LinkBatch; foreach ( $res as $row ) { $batch->add( NS_CATEGORY, $row->title ); @@ -62,10 +66,7 @@ class MostlinkedCategoriesPage extends QueryPage { $batch->execute(); // Back to start for display - if ( $db->numRows( $res ) > 0 ) { - // If there are no rows we get an error seeking. - $db->dataSeek( $res, 0 ); - } + $res->seek( 0 ); } /** @@ -76,7 +77,12 @@ class MostlinkedCategoriesPage extends QueryPage { function formatResult( $skin, $result ) { global $wgContLang; - $nt = Title::makeTitle( NS_CATEGORY, $result->title ); + $nt = Title::makeTitleSafe( NS_CATEGORY, $result->title ); + if ( !$nt ) { + return Html::element( 'span', array( 'class' => 'mw-invalidtitle' ), + Linker::getInvalidTitleDescription( $this->getContext(), NS_CATEGORY, $result->title ) ); + } + $text = $wgContLang->convert( $nt->getText() ); $plink = Linker::link( $nt, htmlspecialchars( $text ) ); -- 2.20.1