From c9340121f6fe3e250fcc60a7c362639e84446428 Mon Sep 17 00:00:00 2001 From: Alexandre Emsenhuber Date: Sat, 3 Mar 2012 18:02:21 +0000 Subject: [PATCH] * Removed check for invalid object in formatResult(), Title::makeTitle() always returns an object * Don't call Title::exists() when result is not cached since the page must exist, and this was issuing a database query per row * Reorder some variables for better clarity * Don't execute the LinkBatch if there are now rows * Call methods directly on ResultWrapper instead of DatabaseBase in preprocessResults() * Use local context to get message --- includes/specials/SpecialShortpages.php | 42 ++++++++++++++----------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/includes/specials/SpecialShortpages.php b/includes/specials/SpecialShortpages.php index 7b06139f48..8622b928c1 100644 --- a/includes/specials/SpecialShortpages.php +++ b/includes/specials/SpecialShortpages.php @@ -61,16 +61,17 @@ class ShortPagesPage extends QueryPage { function preprocessResults( $db, $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(); - foreach ( $res as $row ) { - $batch->add( $row->namespace, $row->title ); - } - $batch->execute(); - if ( $db->numRows( $res ) > 0 ) { - $db->dataSeek( $res, 0 ); - } + if ( !$this->isCached() || !$res->numRows() ) { + return; } + + $batch = new LinkBatch(); + foreach ( $res as $row ) { + $batch->add( $row->namespace, $row->title ); + } + $batch->execute(); + + $res->seek( 0 ); } function sortDescending() { @@ -81,23 +82,26 @@ class ShortPagesPage extends QueryPage { $dm = $this->getLanguage()->getDirMark(); $title = Title::makeTitle( $result->namespace, $result->title ); - if ( !$title ) { - return ''; - } + $hlink = Linker::linkKnown( $title, - wfMsgHtml( 'hist' ), + $this->msg( 'hist' )->escaped(), array(), array( 'action' => 'history' ) ); - $plink = $this->isCached() - ? Linker::link( $title ) - : Linker::linkKnown( $title ); - $size = $this->msg( 'nbytes' )->numParams( $result->value )->escaped(); - $hlinkInParentheses = $this->msg( 'parentheses' )->rawParams( $hlink )->escaped(); - return $title->exists() + if ( $this->isCached() ) { + $plink = Linker::link( $title ); + $exists = $title->exists(); + } else { + $plink = Linker::linkKnown( $title ); + $exists = true; + } + + $size = $this->msg( 'nbytes' )->numParams( $result->value )->escaped(); + + return $exists ? "${hlinkInParentheses} {$dm}{$plink} {$dm}[{$size}]" : "${hlinkInParentheses} {$dm}{$plink} {$dm}[{$size}]"; } -- 2.20.1