1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- /**
- * @file
- * @ingroup SpecialPage
- *
- * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- * @copyright Copyright © 2005, Ævar Arnfjörð Bjarmason
- * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
- */
- /**
- * implements Special:Mostcategories
- * @ingroup SpecialPage
- */
- class MostcategoriesPage extends QueryPage {
- function getName() { return 'Mostcategories'; }
- function isExpensive() { return true; }
- function isSyndicated() { return false; }
- function getSQL() {
- $dbr = wfGetDB( DB_SLAVE );
- list( $categorylinks, $page) = $dbr->tableNamesN( 'categorylinks', 'page' );
- return
- "
- SELECT
- 'Mostcategories' as type,
- page_namespace as namespace,
- page_title as title,
- COUNT(*) as value
- FROM $categorylinks
- LEFT JOIN $page ON cl_from = page_id
- WHERE page_namespace = " . NS_MAIN . "
- GROUP BY page_namespace, page_title
- HAVING COUNT(*) > 1
- ";
- }
- function formatResult( $skin, $result ) {
- global $wgLang;
- $title = Title::makeTitleSafe( $result->namespace, $result->title );
- $count = wfMsgExt( 'ncategories', array( 'parsemag', 'escape' ), $wgLang->formatNum( $result->value ) );
- $link = $skin->link( $title );
- return wfSpecialList( $link, $count );
- }
- }
- /**
- * constructor
- */
- function wfSpecialMostcategories() {
- list( $limit, $offset ) = wfCheckLimits();
- $wpp = new MostcategoriesPage();
- $wpp->doQuery( $offset, $limit );
- }
|