X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FSpecialPopularpages.php;h=eb5727367c6904bb0d39ace74669dc34e7d1f6c8;hb=903732fd15bfbabf758abec8b15fd3d29df44241;hp=8522b1223f1f013b7028e76280367d9b6b830156;hpb=0332f4c59809e5a89f626e8969cd76261819f432;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/SpecialPopularpages.php b/includes/SpecialPopularpages.php index 8522b1223f..eb5727367c 100644 --- a/includes/SpecialPopularpages.php +++ b/includes/SpecialPopularpages.php @@ -1,7 +1,13 @@ 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]; + } - function getSQL( $offset, $limit ) { - return "SELECT cur_title, cur_counter FROM cur " . - "WHERE cur_namespace=0 AND cur_is_redirect=0 ORDER BY " . - "cur_counter DESC LIMIT {$offset}, {$limit}"; + return $query . $where; } function formatResult( $skin, $result ) { - $link = $skin->makeKnownLink( $result->cur_title, "" ); - $nv = wfMsg( "nviews", $result->cur_counter ); - return "{$link} ({$nv})"; + global $wgLang, $wgContLang; + $title = Title::makeTitle( $result->namespace, $result->title ); + $link = $skin->makeKnownLinkObj( $title, htmlspecialchars( $wgContLang->convert( $title->getPrefixedText() ) ) ); + $nv = wfMsgExt( 'nviews', array( 'parsemag', 'escape'), + $wgLang->formatNum( $result->value ) ); + return wfSpecialList($link, $nv); } } -function wfSpecialPopularpages() -{ - list( $limit, $offset ) = wfCheckLimits(); - - $ppp = new PopularPagesPage(); - - return $ppp->doQuery( $offset, $limit ); -} +/** + * Constructor + */ +function wfSpecialPopularpages() { + list( $limit, $offset ) = wfCheckLimits(); + + $ppp = new PopularPagesPage(); -?> + return $ppp->doQuery( $offset, $limit ); +}