MediaWiki REL1_34
SpecialAncientPages.php
Go to the documentation of this file.
1<?php
25
32
33 function __construct( $name = 'Ancientpages' ) {
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 $tables = [ 'page', 'revision' ];
47 $conds = [
48 'page_namespace' =>
49 MediaWikiServices::getInstance()->getNamespaceInfo()->getContentNamespaces(),
50 'page_is_redirect' => 0
51 ];
52 $joinConds = [
53 'revision' => [
54 'JOIN', [
55 'page_latest = rev_id'
56 ]
57 ],
58 ];
59
60 // Allow extensions to modify the query
61 Hooks::run( 'AncientPagesQuery', [ &$tables, &$conds, &$joinConds ] );
62
63 return [
64 'tables' => $tables,
65 'fields' => [
66 'namespace' => 'page_namespace',
67 'title' => 'page_title',
68 'value' => 'rev_timestamp'
69 ],
70 'conds' => $conds,
71 'join_conds' => $joinConds
72 ];
73 }
74
75 public function usesTimestamps() {
76 return true;
77 }
78
79 function sortDescending() {
80 return false;
81 }
82
83 public function preprocessResults( $db, $res ) {
85 }
86
92 function formatResult( $skin, $result ) {
93 $d = $this->getLanguage()->userTimeAndDate( $result->value, $this->getUser() );
94 $title = Title::makeTitle( $result->namespace, $result->title );
96 $link = $linkRenderer->makeKnownLink(
97 $title,
98 new HtmlArmor( MediaWikiServices::getInstance()->getContentLanguage()->
99 convert( htmlspecialchars( $title->getPrefixedText() ) ) )
100 );
101
102 return $this->getLanguage()->specialList( $link, htmlspecialchars( $d ) );
103 }
104
105 protected function getGroupName() {
106 return 'maintenance';
107 }
108}
Marks HTML that shouldn't be escaped.
Definition HtmlArmor.php:28
MediaWikiServices is the service locator for the application scope of MediaWiki.
This is a class for doing query pages; since they're almost all the same, we factor out some of the f...
Definition QueryPage.php:36
executeLBFromResultWrapper(IResultWrapper $res, $ns=null)
Creates a new LinkBatch object, adds all pages from the passed result wrapper (MUST include title and...
Implements Special:Ancientpages.
isSyndicated()
Sometime we don't want to build rss / atom feeds.
getGroupName()
Under which header this special page is listed in Special:SpecialPages See messages 'specialpages-gro...
__construct( $name='Ancientpages')
isExpensive()
Is this query expensive (for some definition of expensive)? Then we don't let it run in miser mode.
getQueryInfo()
Subclasses return an SQL query here, formatted as an array with the following keys: tables => Table(s...
usesTimestamps()
Does this query return timestamps rather than integers in its 'value' field? If true,...
preprocessResults( $db, $res)
Do any necessary preprocessing of the result object.
sortDescending()
Override to sort by increasing values.
formatResult( $skin, $result)
getLanguage()
Shortcut to get user's language.
MediaWiki Linker LinkRenderer null $linkRenderer