MediaWiki  master
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 );
95  $linkRenderer = $this->getLinkRenderer();
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 }
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
Implements Special:Ancientpages.
__construct( $name='Ancientpages')
static makeTitle( $ns, $title, $fragment='', $interwiki='')
Create a new Title from a namespace index and a DB key.
Definition: Title.php:586
getLanguage()
Shortcut to get user&#39;s language.
executeLBFromResultWrapper(IResultWrapper $res, $ns=null)
Creates a new LinkBatch object, adds all pages from the passed result wrapper (MUST include title and...
Definition: QueryPage.php:800
formatResult( $skin, $result)
static run( $event, array $args=[], $deprecatedVersion=null)
Call hook functions defined in Hooks::register and $wgHooks.
Definition: Hooks.php:200
MediaWiki Linker LinkRenderer null $linkRenderer
Definition: SpecialPage.php:67