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/SpecialUncategorizedpages.php | 54 ++++++++++++------------- 1 file changed, 25 insertions(+), 29 deletions(-) (limited to 'includes/specials/SpecialUncategorizedpages.php') diff --git a/includes/specials/SpecialUncategorizedpages.php b/includes/specials/SpecialUncategorizedpages.php index c7fef5d2..08a69448 100644 --- a/includes/specials/SpecialUncategorizedpages.php +++ b/includes/specials/SpecialUncategorizedpages.php @@ -26,11 +26,12 @@ * * @ingroup SpecialPage */ +// @todo FIXME: Make $requestedNamespace selectable, unify all subclasses into one class UncategorizedPagesPage extends PageQueryPage { - var $requestedNamespace = NS_MAIN; + protected $requestedNamespace = false; - function getName() { - return "Uncategorizedpages"; + function __construct( $name = 'Uncategorizedpages' ) { + parent::__construct( $name ); } function sortDescending() { @@ -42,32 +43,27 @@ class UncategorizedPagesPage extends PageQueryPage { } function isSyndicated() { return false; } - function getSQL() { - $dbr = wfGetDB( DB_SLAVE ); - list( $page, $categorylinks ) = $dbr->tableNamesN( 'page', 'categorylinks' ); - $name = $dbr->addQuotes( $this->getName() ); - - return - " - SELECT - $name as type, - page_namespace AS namespace, - page_title AS title, - page_title AS value - FROM $page - LEFT JOIN $categorylinks ON page_id=cl_from - WHERE cl_from IS NULL AND page_namespace={$this->requestedNamespace} AND page_is_redirect=0 - "; + function getQueryInfo() { + return array ( + 'tables' => array ( 'page', 'categorylinks' ), + 'fields' => array ( 'page_namespace AS namespace', + 'page_title AS title', + 'page_title AS value' ), + // default for page_namespace is all content namespaces (if requestedNamespace is false) + // otherwise, page_namespace is requestedNamespace + 'conds' => array ( 'cl_from IS NULL', + 'page_namespace' => ( $this->requestedNamespace!==false ? $this->requestedNamespace : MWNamespace::getContentNamespaces() ), + 'page_is_redirect' => 0 ), + 'join_conds' => array ( 'categorylinks' => array ( + 'LEFT JOIN', 'cl_from = page_id' ) ) + ); } -} -/** - * constructor - */ -function wfSpecialUncategorizedpages() { - list( $limit, $offset ) = wfCheckLimits(); - - $lpp = new UncategorizedPagesPage(); - - return $lpp->doQuery( $offset, $limit ); + function getOrderFields() { + // For some crazy reason ordering by a constant + // causes a filesort + if( $this->requestedNamespace === false && count( MWNamespace::getContentNamespaces() ) > 1 ) + return array( 'page_namespace', 'page_title' ); + return array( 'page_title' ); + } } -- cgit v1.2.3-54-g00ecf