MediaWiki fundraising/REL1_35
SpecialDeadendPages.php
Go to the documentation of this file.
1<?php
25
32
33 public function __construct( $name = 'Deadendpages' ) {
34 parent::__construct( $name );
35 }
36
37 protected function getPageHeader() {
38 return $this->msg( 'deadendpagestext' )->parseAsBlock();
39 }
40
46 public function isExpensive() {
47 return true;
48 }
49
50 public function isSyndicated() {
51 return false;
52 }
53
57 protected function sortDescending() {
58 return false;
59 }
60
61 public 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 protected 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}
MediaWikiServices is the service locator for the application scope of MediaWiki.
Variant of QueryPage which formats the result as a simple link to the page.
A special page that list pages that contain no link to other pages.
getOrderFields()
Subclasses return an array of fields to order by here.
isExpensive()
LEFT JOIN is expensive.
getGroupName()
Under which header this special page is listed in Special:SpecialPages See messages 'specialpages-gro...
getQueryInfo()
Subclasses return an SQL query here, formatted as an array with the following keys: tables => Table(s...
getPageHeader()
The content returned by this function will be output before any result.
isSyndicated()
Sometime we don't want to build rss / atom feeds.
__construct( $name='Deadendpages')
msg( $key,... $params)
Wrapper around wfMessage that sets the current context.