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 }