Changed how the search UI is rendered.
[mediawiki.git] / includes / specials / SpecialFewestrevisions.php
blob35311d7ed0ba3337dca70a7b21cb20d5a1f8d461
1 <?php
2 /**
3 * @file
4 * @ingroup SpecialPage
5 */
7 /**
8 * Special page for listing the articles with the fewest revisions.
10 * @ingroup SpecialPage
11 * @author Martin Drashkov
13 class FewestrevisionsPage extends QueryPage {
15 function getName() {
16 return 'Fewestrevisions';
19 function isExpensive() {
20 return true;
23 function isSyndicated() {
24 return false;
27 function getSql() {
28 $dbr = wfGetDB( DB_SLAVE );
29 list( $revision, $page ) = $dbr->tableNamesN( 'revision', 'page' );
31 return "SELECT 'Fewestrevisions' as type,
32 page_namespace as namespace,
33 page_title as title,
34 page_is_redirect as redirect,
35 COUNT(*) as value
36 FROM $revision
37 JOIN $page ON page_id = rev_page
38 WHERE page_namespace = " . NS_MAIN . "
39 GROUP BY page_namespace, page_title, page_is_redirect
40 HAVING COUNT(*) > 1";
41 // ^^^ This was probably here to weed out redirects.
42 // Since we mark them as such now, it might be
43 // useful to remove this. People _do_ create pages
44 // and never revise them, they aren't necessarily
45 // redirects.
48 function sortDescending() {
49 return false;
52 function formatResult( $skin, $result ) {
53 global $wgLang, $wgContLang;
55 $nt = Title::makeTitleSafe( $result->namespace, $result->title );
56 $text = $wgContLang->convert( $nt->getPrefixedText() );
58 $plink = $skin->linkKnown(
59 $nt,
60 $text
63 $nl = wfMsgExt( 'nrevisions', array( 'parsemag', 'escape' ),
64 $wgLang->formatNum( $result->value ) );
65 $redirect = $result->redirect ? ' - ' . wfMsgHtml( 'isredirect' ) : '';
66 $nlink = $skin->linkKnown(
67 $nt,
68 $nl,
69 array(),
70 array( 'action' => 'history' )
71 ) . $redirect;
73 return wfSpecialList( $plink, $nlink );
77 function wfSpecialFewestrevisions() {
78 list( $limit, $offset ) = wfCheckLimits();
79 $frp = new FewestrevisionsPage();
80 $frp->doQuery( $offset, $limit );