Completed
Branch master (f441c6)
by
unknown
52:29
created

AncientPagesPage::preprocessResults()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 2
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * Implements Special:Ancientpages
4
 *
5
 * This program is free software; you can redistribute it and/or modify
6
 * it under the terms of the GNU General Public License as published by
7
 * the Free Software Foundation; either version 2 of the License, or
8
 * (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License along
16
 * with this program; if not, write to the Free Software Foundation, Inc.,
17
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18
 * http://www.gnu.org/copyleft/gpl.html
19
 *
20
 * @file
21
 * @ingroup SpecialPage
22
 */
23
24
/**
25
 * Implements Special:Ancientpages
26
 *
27
 * @ingroup SpecialPage
28
 */
29
class AncientPagesPage extends QueryPage {
30
31
	function __construct( $name = 'Ancientpages' ) {
32
		parent::__construct( $name );
33
	}
34
35
	public function isExpensive() {
36
		return true;
37
	}
38
39
	function isSyndicated() {
40
		return false;
41
	}
42
43
	public function getQueryInfo() {
44
		return [
45
			'tables' => [ 'page', 'revision' ],
46
			'fields' => [
47
				'namespace' => 'page_namespace',
48
				'title' => 'page_title',
49
				'value' => 'rev_timestamp'
50
			],
51
			'conds' => [
52
				'page_namespace' => MWNamespace::getContentNamespaces(),
53
				'page_is_redirect' => 0,
54
				'page_latest=rev_id'
55
			]
56
		];
57
	}
58
59
	public function usesTimestamps() {
60
		return true;
61
	}
62
63
	function sortDescending() {
64
		return false;
65
	}
66
67
	public function preprocessResults( $db, $res ) {
68
		$this->executeLBFromResultWrapper( $res );
69
	}
70
71
	/**
72
	 * @param Skin $skin
73
	 * @param object $result Result row
74
	 * @return string
75
	 */
76
	function formatResult( $skin, $result ) {
77
		global $wgContLang;
78
79
		$d = $this->getLanguage()->userTimeAndDate( $result->value, $this->getUser() );
80
		$title = Title::makeTitle( $result->namespace, $result->title );
81
		$link = Linker::linkKnown(
82
			$title,
83
			htmlspecialchars( $wgContLang->convert( $title->getPrefixedText() ) )
84
		);
85
86
		return $this->getLanguage()->specialList( $link, htmlspecialchars( $d ) );
87
	}
88
89
	protected function getGroupName() {
90
		return 'maintenance';
91
	}
92
}
93