X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fspecials%2FSpecialMostlinked.php;h=ae0b07087e3ebd21d92f37a0590bf0442d178b24;hb=b51076a84446d157bed511246450e70d26e0f945;hp=be28b99d9dab2a256787e21cb7939f2ed6c2825e;hpb=5b4652628eb3b47cbbc9d0d7736eb0cd25c88c8d;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/specials/SpecialMostlinked.php b/includes/specials/SpecialMostlinked.php index be28b99d9d..ae0b07087e 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 ); } @@ -47,31 +46,45 @@ 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' ) ) ) + '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' + ) + ) + ) ); } /** * Pre-fill the link cache * - * @param DatabaseBase $db + * @param IDatabase $db * @param ResultWrapper $res */ 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 ); }