From ca32f08966f1b51fcb19460f0996bb0c4048e6fe Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sat, 3 Dec 2011 13:29:22 +0100 Subject: Update to MediaWiki 1.18.0 * also update ArchLinux skin to chagnes in MonoBook * Use only css to hide our menu bar when printing --- includes/specials/SpecialLonelypages.php | 64 ++++++++++++++++---------------- 1 file changed, 33 insertions(+), 31 deletions(-) (limited to 'includes/specials/SpecialLonelypages.php') diff --git a/includes/specials/SpecialLonelypages.php b/includes/specials/SpecialLonelypages.php index 0788037f..0800e43c 100644 --- a/includes/specials/SpecialLonelypages.php +++ b/includes/specials/SpecialLonelypages.php @@ -29,9 +29,10 @@ */ class LonelyPagesPage extends PageQueryPage { - function getName() { - return "Lonelypages"; + function __construct( $name = 'Lonelypages' ) { + parent::__construct( $name ); } + function getPageHeader() { return wfMsgExt( 'lonelypagestext', array( 'parse' ) ); } @@ -45,35 +46,36 @@ class LonelyPagesPage extends PageQueryPage { } function isSyndicated() { return false; } - function getSQL() { - $dbr = wfGetDB( DB_SLAVE ); - list( $page, $pagelinks, $templatelinks ) = $dbr->tableNamesN( 'page', 'pagelinks', 'templatelinks' ); - - return - "SELECT 'Lonelypages' AS type, - page_namespace AS namespace, - page_title AS title, - page_title AS value - FROM $page - LEFT JOIN $pagelinks - ON page_namespace=pl_namespace AND page_title=pl_title - LEFT JOIN $templatelinks - ON page_namespace=tl_namespace AND page_title=tl_title - WHERE pl_namespace IS NULL - AND page_namespace=".NS_MAIN." - AND page_is_redirect=0 - AND tl_namespace IS NULL"; - + function getQueryInfo() { + return array ( + 'tables' => array ( 'page', 'pagelinks', + 'templatelinks' ), + 'fields' => array ( 'page_namespace AS namespace', + 'page_title AS title', + 'page_title AS value' ), + 'conds' => array ( 'pl_namespace IS NULL', + 'page_namespace' => MWNamespace::getContentNamespaces(), + 'page_is_redirect' => 0, + 'tl_namespace IS NULL' ), + 'join_conds' => array ( + 'pagelinks' => array ( + 'LEFT JOIN', array ( + 'pl_namespace = page_namespace', + 'pl_title = page_title' ) ), + 'templatelinks' => array ( + 'LEFT JOIN', array ( + 'tl_namespace = page_namespace', + 'tl_title = page_title' ) ) ) + ); } -} -/** - * Constructor - */ -function wfSpecialLonelypages() { - list( $limit, $offset ) = wfCheckLimits(); - - $lpp = new LonelyPagesPage(); - - return $lpp->doQuery( $offset, $limit ); + function getOrderFields() { + // For some crazy reason ordering by a constant + // causes a filesort in MySQL 5 + if( count( MWNamespace::getContentNamespaces() ) > 1 ) { + return array( 'page_namespace', 'page_title' ); + } else { + return array( 'page_title' ); + } + } } -- cgit v1.2.2