From 222b01f5169f1c7e69762e0e8904c24f78f71882 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Wed, 28 Jul 2010 11:52:48 +0200 Subject: update to MediaWiki 1.16.0 --- includes/specials/SpecialWantedpages.php | 93 +++++--------------------------- 1 file changed, 14 insertions(+), 79 deletions(-) (limited to 'includes/specials/SpecialWantedpages.php') diff --git a/includes/specials/SpecialWantedpages.php b/includes/specials/SpecialWantedpages.php index 7307b335..eeca87ab 100644 --- a/includes/specials/SpecialWantedpages.php +++ b/includes/specials/SpecialWantedpages.php @@ -8,7 +8,7 @@ * implements Special:Wantedpages * @ingroup SpecialPage */ -class WantedPagesPage extends QueryPage { +class WantedPagesPage extends WantedQueryPage { var $nlinks; function WantedPagesPage( $inc = false, $nlinks = true ) { @@ -20,11 +20,6 @@ class WantedPagesPage extends QueryPage { return 'Wantedpages'; } - function isExpensive() { - return true; - } - function isSyndicated() { return false; } - function getSQL() { global $wgWantedPagesThreshold; $count = $wgWantedPagesThreshold - 1; @@ -32,83 +27,23 @@ class WantedPagesPage extends QueryPage { $pagelinks = $dbr->tableName( 'pagelinks' ); $page = $dbr->tableName( 'page' ); $sql = "SELECT 'Wantedpages' AS type, - pl_namespace AS namespace, - pl_title AS title, - COUNT(*) AS value - FROM $pagelinks - LEFT JOIN $page AS pg1 - ON pl_namespace = pg1.page_namespace AND pl_title = pg1.page_title - LEFT JOIN $page AS pg2 - ON pl_from = pg2.page_id - WHERE pg1.page_namespace IS NULL - AND pl_namespace NOT IN ( 2, 3 ) - AND pg2.page_namespace != 8 - GROUP BY pl_namespace, pl_title - HAVING COUNT(*) > $count"; + pl_namespace AS namespace, + pl_title AS title, + COUNT(*) AS value + FROM $pagelinks + LEFT JOIN $page AS pg1 + ON pl_namespace = pg1.page_namespace AND pl_title = pg1.page_title + LEFT JOIN $page AS pg2 + ON pl_from = pg2.page_id + WHERE pg1.page_namespace IS NULL + AND pl_namespace NOT IN ( " . NS_USER . ", ". NS_USER_TALK . ") + AND pg2.page_namespace != " . NS_MEDIAWIKI . " + GROUP BY pl_namespace, pl_title + HAVING COUNT(*) > $count"; wfRunHooks( 'WantedPages::getSQL', array( &$this, &$sql ) ); return $sql; } - - /** - * Cache page existence for performance - */ - function preprocessResults( $db, $res ) { - $batch = new LinkBatch; - while ( $row = $db->fetchObject( $res ) ) - $batch->add( $row->namespace, $row->title ); - $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 ); - } - - /** - * Format an individual result - * - * @param $skin Skin to use for UI elements - * @param $result Result row - * @return string - */ - public function formatResult( $skin, $result ) { - $title = Title::makeTitleSafe( $result->namespace, $result->title ); - if( $title instanceof Title ) { - if( $this->isCached() ) { - $pageLink = $title->exists() - ? '' . $skin->makeLinkObj( $title ) . '' - : $skin->makeBrokenLinkObj( $title ); - } else { - $pageLink = $skin->makeBrokenLinkObj( $title ); - } - return wfSpecialList( $pageLink, $this->makeWlhLink( $title, $skin, $result ) ); - } else { - $tsafe = htmlspecialchars( $result->title ); - return wfMsg( 'wantedpages-badtitle', $tsafe ); - } - } - - /** - * Make a "what links here" link for a specified result if required - * - * @param $title Title to make the link for - * @param $skin Skin to use - * @param $result Result row - * @return string - */ - private function makeWlhLink( $title, $skin, $result ) { - global $wgLang; - if( $this->nlinks ) { - $wlh = SpecialPage::getTitleFor( 'Whatlinkshere' ); - $label = wfMsgExt( 'nlinks', array( 'parsemag', 'escape' ), - $wgLang->formatNum( $result->value ) ); - return $skin->makeKnownLinkObj( $wlh, $label, 'target=' . $title->getPrefixedUrl() ); - } else { - return null; - } - } - } /** -- cgit v1.2.3-54-g00ecf