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->linkKnown( $nt, $text ); 00046 00047 $nl = wfMsgExt( 'nrevisions', array( 'parsemag', 'escape'), 00048 $wgLang->formatNum( $result->value ) ); 00049 $nlink = $skin->linkKnown( 00050 $nt, 00051 $nl, 00052 array(), 00053 array( 'action' => 'history' ) 00054 ); 00055 00056 return wfSpecialList($plink, $nlink); 00057 } 00058 } 00059 00063 function wfSpecialMostrevisions() { 00064 list( $limit, $offset ) = wfCheckLimits(); 00065 00066 $wpp = new MostrevisionsPage(); 00067 00068 $wpp->doQuery( $offset, $limit ); 00069 }