MediaWiki
REL1_35
DumpNamespaceFilter.php
Go to the documentation of this file.
1
<?php
29
class
DumpNamespaceFilter
extends
DumpFilter
{
31
public
$invert
=
false
;
32
34
public
$namespaces
= [];
35
41
public
function
__construct
( &
$sink
, $param ) {
42
parent::__construct(
$sink
);
43
44
$constants = [
45
"NS_MAIN"
=>
NS_MAIN
,
46
"NS_TALK"
=>
NS_TALK
,
47
"NS_USER"
=>
NS_USER
,
48
"NS_USER_TALK"
=>
NS_USER_TALK
,
49
"NS_PROJECT"
=>
NS_PROJECT
,
50
"NS_PROJECT_TALK"
=>
NS_PROJECT_TALK
,
51
"NS_FILE"
=>
NS_FILE
,
52
"NS_FILE_TALK"
=>
NS_FILE_TALK
,
53
"NS_IMAGE"
=>
NS_FILE
,
// NS_IMAGE is an alias for NS_FILE
54
"NS_IMAGE_TALK"
=>
NS_FILE_TALK
,
55
"NS_MEDIAWIKI"
=>
NS_MEDIAWIKI
,
56
"NS_MEDIAWIKI_TALK"
=>
NS_MEDIAWIKI_TALK
,
57
"NS_TEMPLATE"
=>
NS_TEMPLATE
,
58
"NS_TEMPLATE_TALK"
=>
NS_TEMPLATE_TALK
,
59
"NS_HELP"
=>
NS_HELP
,
60
"NS_HELP_TALK"
=>
NS_HELP_TALK
,
61
"NS_CATEGORY"
=>
NS_CATEGORY
,
62
"NS_CATEGORY_TALK"
=>
NS_CATEGORY_TALK
];
63
64
if
( $param[0] ==
'!'
) {
65
$this->invert =
true
;
66
$param = substr( $param, 1 );
67
}
68
69
foreach
( explode(
','
, $param ) as $key ) {
70
$key = trim( $key );
71
if
( isset( $constants[$key] ) ) {
72
$ns = $constants[$key];
73
$this->namespaces[$ns] =
true
;
74
} elseif ( is_numeric( $key ) ) {
75
$ns = intval( $key );
76
$this->namespaces[$ns] =
true
;
77
}
else
{
78
throw
new
MWException
(
"Unrecognized namespace key '$key'\n"
);
79
}
80
}
81
}
82
87
protected
function
pass
( $page ) {
88
$match = isset( $this->namespaces[$page->page_namespace] );
89
return
$this->invert xor $match;
90
}
91
}
DumpFilter
Definition
DumpFilter.php:31
DumpFilter\$sink
DumpOutput $sink
FIXME will need to be made protected whenever legacy code is updated.
Definition
DumpFilter.php:37
DumpNamespaceFilter
Definition
DumpNamespaceFilter.php:29
DumpNamespaceFilter\pass
pass( $page)
Definition
DumpNamespaceFilter.php:87
DumpNamespaceFilter\$namespaces
array $namespaces
Definition
DumpNamespaceFilter.php:34
DumpNamespaceFilter\__construct
__construct(&$sink, $param)
Definition
DumpNamespaceFilter.php:41
DumpNamespaceFilter\$invert
bool $invert
Definition
DumpNamespaceFilter.php:31
MWException
MediaWiki exception.
Definition
MWException.php:29
NS_HELP
const NS_HELP
Definition
Defines.php:82
NS_USER
const NS_USER
Definition
Defines.php:72
NS_FILE
const NS_FILE
Definition
Defines.php:76
NS_MEDIAWIKI_TALK
const NS_MEDIAWIKI_TALK
Definition
Defines.php:79
NS_MAIN
const NS_MAIN
Definition
Defines.php:70
NS_PROJECT_TALK
const NS_PROJECT_TALK
Definition
Defines.php:75
NS_MEDIAWIKI
const NS_MEDIAWIKI
Definition
Defines.php:78
NS_TEMPLATE
const NS_TEMPLATE
Definition
Defines.php:80
NS_FILE_TALK
const NS_FILE_TALK
Definition
Defines.php:77
NS_HELP_TALK
const NS_HELP_TALK
Definition
Defines.php:83
NS_CATEGORY_TALK
const NS_CATEGORY_TALK
Definition
Defines.php:85
NS_TALK
const NS_TALK
Definition
Defines.php:71
NS_USER_TALK
const NS_USER_TALK
Definition
Defines.php:73
NS_PROJECT
const NS_PROJECT
Definition
Defines.php:74
NS_CATEGORY
const NS_CATEGORY
Definition
Defines.php:84
NS_TEMPLATE_TALK
const NS_TEMPLATE_TALK
Definition
Defines.php:81
includes
export
DumpNamespaceFilter.php
Generated on Sat Apr 6 2024 00:07:08 for MediaWiki by
1.9.8