MediaWiki  master
SpecialDeadendPages.php
Go to the documentation of this file.
1 <?php
25 
32 
33  function __construct( $name = 'Deadendpages' ) {
34  parent::__construct( $name );
35  }
36 
37  function getPageHeader() {
38  return $this->msg( 'deadendpagestext' )->parseAsBlock();
39  }
40 
46  function isExpensive() {
47  return true;
48  }
49 
50  function isSyndicated() {
51  return false;
52  }
53 
57  function sortDescending() {
58  return false;
59  }
60 
61  function getQueryInfo() {
62  return [
63  'tables' => [ 'page', 'pagelinks' ],
64  'fields' => [
65  'namespace' => 'page_namespace',
66  'title' => 'page_title',
67  'value' => 'page_title'
68  ],
69  'conds' => [
70  'pl_from IS NULL',
71  'page_namespace' => MediaWikiServices::getInstance()->getNamespaceInfo()->
72  getContentNamespaces(),
73  'page_is_redirect' => 0
74  ],
75  'join_conds' => [
76  'pagelinks' => [
77  'LEFT JOIN',
78  [ 'page_id=pl_from' ]
79  ]
80  ]
81  ];
82  }
83 
84  function getOrderFields() {
85  // For some crazy reason ordering by a constant
86  // causes a filesort
87  if ( count( MediaWikiServices::getInstance()->getNamespaceInfo()->
88  getContentNamespaces() ) > 1
89  ) {
90  return [ 'page_namespace', 'page_title' ];
91  } else {
92  return [ 'page_title' ];
93  }
94  }
95 
96  protected function getGroupName() {
97  return 'maintenance';
98  }
99 }
A special page that list pages that contain no link to other pages.
msg( $key,... $params)
Wrapper around wfMessage that sets the current context.
isExpensive()
LEFT JOIN is expensive.
__construct( $name='Deadendpages')
Variant of QueryPage which formats the result as a simple link to the page.