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

UnusedCategoriesPage::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:Unusedcategories
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
 * @ingroup SpecialPage
26
 */
27
class UnusedCategoriesPage extends QueryPage {
28
	function __construct( $name = 'Unusedcategories' ) {
29
		parent::__construct( $name );
30
	}
31
32
	public function isExpensive() {
33
		return true;
34
	}
35
36
	function getPageHeader() {
37
		return $this->msg( 'unusedcategoriestext' )->parseAsBlock();
38
	}
39
40
	public function getQueryInfo() {
41
		return [
42
			'tables' => [ 'page', 'categorylinks' ],
43
			'fields' => [
44
				'namespace' => 'page_namespace',
45
				'title' => 'page_title',
46
				'value' => 'page_title'
47
			],
48
			'conds' => [
49
				'cl_from IS NULL',
50
				'page_namespace' => NS_CATEGORY,
51
				'page_is_redirect' => 0
52
			],
53
			'join_conds' => [ 'categorylinks' => [ 'LEFT JOIN', 'cl_to = page_title' ] ]
54
		];
55
	}
56
57
	/**
58
	 * A should come before Z (bug 30907)
59
	 * @return bool
60
	 */
61
	function sortDescending() {
62
		return false;
63
	}
64
65
	/**
66
	 * @param Skin $skin
67
	 * @param object $result Result row
68
	 * @return string
69
	 */
70
	function formatResult( $skin, $result ) {
71
		$title = Title::makeTitle( NS_CATEGORY, $result->title );
72
73
		return Linker::link( $title, htmlspecialchars( $title->getText() ) );
74
	}
75
76
	protected function getGroupName() {
77
		return 'maintenance';
78
	}
79
80
	public function preprocessResults( $db, $res ) {
81
		$this->executeLBFromResultWrapper( $res );
82
	}
83
}
84