X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=includes%2Fspecials%2FSpecialMostlinked.php;h=99f0ecf5ed47b481276ad5e71e9d53900ca8af47;hb=91d82fc4aa9a2c3c762a3e77e5f314f7523a7883;hp=6633e0a3ec7591eafea7c0d2a84f2fe76e2b9daf;hpb=b84a680a32ba03625d24ae3912c862d78ce73c16;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/specials/SpecialMostlinked.php b/includes/specials/SpecialMostlinked.php index 6633e0a3ec..99f0ecf5ed 100644 --- a/includes/specials/SpecialMostlinked.php +++ b/includes/specials/SpecialMostlinked.php @@ -31,7 +31,6 @@ * @ingroup SpecialPage */ class MostlinkedPage extends QueryPage { - function __construct( $name = 'Mostlinked' ) { parent::__construct( $name ); } @@ -45,18 +44,30 @@ class MostlinkedPage extends QueryPage { } function getQueryInfo() { - return array ( - 'tables' => array ( 'pagelinks', 'page' ), - 'fields' => array ( 'namespace' => 'pl_namespace', - 'title' => 'pl_title', - 'value' => 'COUNT(*)', - 'page_namespace' ), - 'options' => array ( 'HAVING' => 'COUNT(*) > 1', - 'GROUP BY' => array( 'pl_namespace', 'pl_title', - 'page_namespace' ) ), - 'join_conds' => array ( 'page' => array ( 'LEFT JOIN', - array ( 'page_namespace = pl_namespace', - 'page_title = pl_title' ) ) ) + return array( + 'tables' => array( 'pagelinks', 'page' ), + 'fields' => array( + 'namespace' => 'pl_namespace', + 'title' => 'pl_title', + 'value' => 'COUNT(*)', + 'page_namespace' + ), + 'options' => array( + 'HAVING' => 'COUNT(*) > 1', + 'GROUP BY' => array( + 'pl_namespace', 'pl_title', + 'page_namespace' + ) + ), + 'join_conds' => array( + 'page' => array( + 'LEFT JOIN', + array( + 'page_namespace = pl_namespace', + 'page_title = pl_title' + ) + ) + ) ); } @@ -69,9 +80,11 @@ class MostlinkedPage extends QueryPage { function preprocessResults( $db, $res ) { if ( $res->numRows() > 0 ) { $linkBatch = new LinkBatch(); + foreach ( $res as $row ) { $linkBatch->add( $row->namespace, $row->title ); } + $res->seek( 0 ); $linkBatch->execute(); } @@ -80,17 +93,19 @@ class MostlinkedPage extends QueryPage { /** * Make a link to "what links here" for the specified title * - * @param $title Title being queried - * @param string $caption text to display on the link - * @return String + * @param Title $title Title being queried + * @param string $caption Text to display on the link + * @return string */ function makeWlhLink( $title, $caption ) { $wlh = SpecialPage::getTitleFor( 'Whatlinkshere', $title->getPrefixedDBkey() ); + return Linker::linkKnown( $wlh, $caption ); } /** - * Make links to the page corresponding to the item, and the "what links here" page for it + * Make links to the page corresponding to the item, + * and the "what links here" page for it * * @param Skin $skin Skin to be used * @param object $result Result row @@ -99,12 +114,22 @@ class MostlinkedPage extends QueryPage { function formatResult( $skin, $result ) { $title = Title::makeTitleSafe( $result->namespace, $result->title ); if ( !$title ) { - return Html::element( 'span', array( 'class' => 'mw-invalidtitle' ), - Linker::getInvalidTitleDescription( $this->getContext(), $result->namespace, $result->title ) ); + return Html::element( + 'span', + array( 'class' => 'mw-invalidtitle' ), + Linker::getInvalidTitleDescription( + $this->getContext(), + $result->namespace, + $result->title ) + ); } + $link = Linker::link( $title ); - $wlh = $this->makeWlhLink( $title, - $this->msg( 'nlinks' )->numParams( $result->value )->escaped() ); + $wlh = $this->makeWlhLink( + $title, + $this->msg( 'nlinks' )->numParams( $result->value )->escaped() + ); + return $this->getLanguage()->specialList( $link, $wlh ); }