MediaWiki  master
SpecialFewestRevisions.php
Go to the documentation of this file.
1 <?php
25 
33  function __construct( $name = 'Fewestrevisions' ) {
34  parent::__construct( $name );
35  }
36 
37  public function isExpensive() {
38  return true;
39  }
40 
41  function isSyndicated() {
42  return false;
43  }
44 
45  public function getQueryInfo() {
46  return [
47  'tables' => [ 'revision', 'page' ],
48  'fields' => [
49  'namespace' => 'page_namespace',
50  'title' => 'page_title',
51  'value' => 'COUNT(*)',
52  ],
53  'conds' => [
54  'page_namespace' => MediaWikiServices::getInstance()->getNamespaceInfo()->
55  getContentNamespaces(),
56  'page_id = rev_page',
57  'page_is_redirect = 0',
58  ],
59  'options' => [
60  'GROUP BY' => [ 'page_namespace', 'page_title' ]
61  ]
62  ];
63  }
64 
65  function sortDescending() {
66  return false;
67  }
68 
74  function formatResult( $skin, $result ) {
75  $nt = Title::makeTitleSafe( $result->namespace, $result->title );
76  if ( !$nt ) {
77  return Html::element(
78  'span',
79  [ 'class' => 'mw-invalidtitle' ],
81  $this->getContext(),
82  $result->namespace,
83  $result->title
84  )
85  );
86  }
87  $linkRenderer = $this->getLinkRenderer();
88  $text = MediaWikiServices::getInstance()->getContentLanguage()->
89  convert( htmlspecialchars( $nt->getPrefixedText() ) );
90  $plink = $linkRenderer->makeLink( $nt, new HtmlArmor( $text ) );
91 
92  $nl = $this->msg( 'nrevisions' )->numParams( $result->value )->text();
93  $redirect = isset( $result->redirect ) && $result->redirect ?
94  ' - ' . $this->msg( 'isredirect' )->escaped() : '';
95  $nlink = $linkRenderer->makeKnownLink(
96  $nt,
97  $nl,
98  [],
99  [ 'action' => 'history' ]
100  ) . $redirect;
101 
102  return $this->getLanguage()->specialList( $plink, $nlink );
103  }
104 
105  protected function getGroupName() {
106  return 'maintenance';
107  }
108 }
static element( $element, $attribs=[], $contents='')
Identical to rawElement(), but HTML-escapes $contents (like Xml::element()).
Definition: Html.php:231
getContext()
Gets the context this SpecialPage is executed in.
__construct( $name='Fewestrevisions')
This is a class for doing query pages; since they&#39;re almost all the same, we factor out some of the f...
Definition: QueryPage.php:36
msg( $key,... $params)
Wrapper around wfMessage that sets the current context.
Special page for listing the articles with the fewest revisions.
static makeTitleSafe( $ns, $title, $fragment='', $interwiki='')
Create a new Title from a namespace index and a DB key.
Definition: Title.php:612
getLanguage()
Shortcut to get user&#39;s language.
static getInvalidTitleDescription(IContextSource $context, $namespace, $title)
Get a message saying that an invalid title was encountered.
Definition: Linker.php:187
MediaWiki Linker LinkRenderer null $linkRenderer
Definition: SpecialPage.php:67