summaryrefslogtreecommitdiff
path: root/includes/specials/SpecialPopularpages.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/specials/SpecialPopularpages.php')
-rw-r--r--includes/specials/SpecialPopularpages.php51
1 files changed, 15 insertions, 36 deletions
diff --git a/includes/specials/SpecialPopularpages.php b/includes/specials/SpecialPopularpages.php
index 375cefdf..7c7190ad 100644
--- a/includes/specials/SpecialPopularpages.php
+++ b/includes/specials/SpecialPopularpages.php
@@ -28,8 +28,8 @@
*/
class PopularPagesPage extends QueryPage {
- function getName() {
- return "Popularpages";
+ function __construct( $name = 'Popularpages' ) {
+ parent::__construct( $name );
}
function isExpensive() {
@@ -38,31 +38,21 @@ class PopularPagesPage extends QueryPage {
}
function isSyndicated() { return false; }
- function getSQL() {
- $dbr = wfGetDB( DB_SLAVE );
- $page = $dbr->tableName( 'page' );
-
- $query =
- "SELECT 'Popularpages' as type,
- page_namespace as namespace,
- page_title as title,
- page_counter as value
- FROM $page ";
- $where =
- "WHERE page_is_redirect=0 AND page_namespace";
-
- global $wgContentNamespaces;
- if( empty( $wgContentNamespaces ) ) {
- $where .= '='.NS_MAIN;
- } else if( count( $wgContentNamespaces ) > 1 ) {
- $where .= ' in (' . implode( ', ', $wgContentNamespaces ) . ')';
- } else {
- $where .= '='.$wgContentNamespaces[0];
- }
-
- return $query . $where;
+ function getQueryInfo() {
+ return array (
+ 'tables' => array( 'page' ),
+ 'fields' => array( 'page_namespace AS namespace',
+ 'page_title AS title',
+ 'page_counter AS value'),
+ 'conds' => array( 'page_is_redirect' => 0,
+ 'page_namespace' => MWNamespace::getContentNamespaces() ) );
}
+ /**
+ * @param $skin Skin
+ * @param $result
+ * @return string
+ */
function formatResult( $skin, $result ) {
global $wgLang, $wgContLang;
$title = Title::makeTitle( $result->namespace, $result->title );
@@ -78,14 +68,3 @@ class PopularPagesPage extends QueryPage {
return wfSpecialList($link, $nv);
}
}
-
-/**
- * Constructor
- */
-function wfSpecialPopularpages() {
- list( $limit, $offset ) = wfCheckLimits();
-
- $ppp = new PopularPagesPage();
-
- return $ppp->doQuery( $offset, $limit );
-}