00001 <?php
00015 class MostrevisionsPage extends QueryPage {
00016
00017 function getName() { return 'Mostrevisions'; }
00018 function isExpensive() { return true; }
00019 function isSyndicated() { return false; }
00020
00021 function getSQL() {
00022 $dbr = wfGetDB( DB_SLAVE );
00023 list( $revision, $page ) = $dbr->tableNamesN( 'revision', 'page' );
00024 return
00025 "
00026 SELECT
00027 'Mostrevisions' as type,
00028 page_namespace as namespace,
00029 page_title as title,
00030 COUNT(*) as value
00031 FROM $revision
00032 JOIN $page ON page_id = rev_page
00033 WHERE page_namespace = " . NS_MAIN . "
00034 GROUP BY page_namespace, page_title
00035 HAVING COUNT(*) > 1
00036 ";
00037 }
00038
00039 function formatResult( $skin, $result ) {
00040 global $wgLang, $wgContLang;
00041
00042 $nt = Title::makeTitle( $result->namespace, $result->title );
00043 $text = $wgContLang->convert( $nt->getPrefixedText() );
00044
00045 $plink = $skin->makeKnownLinkObj( $nt, $text );
00046
00047 $nl = wfMsgExt( 'nrevisions', array( 'parsemag', 'escape'),
00048 $wgLang->formatNum( $result->value ) );
00049 $nlink = $skin->makeKnownLinkObj( $nt, $nl, 'action=history' );
00050
00051 return wfSpecialList($plink, $nlink);
00052 }
00053 }
00054
00058 function wfSpecialMostrevisions() {
00059 list( $limit, $offset ) = wfCheckLimits();
00060
00061 $wpp = new MostrevisionsPage();
00062
00063 $wpp->doQuery( $offset, $limit );
00064 }