MediaWiki
master
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
40
public
function
__construct
( &
$sink
, $param ) {
41
parent::__construct(
$sink
);
42
43
$constants = [
44
"NS_MAIN"
=>
NS_MAIN
,
45
"NS_TALK"
=>
NS_TALK
,
46
"NS_USER"
=>
NS_USER
,
47
"NS_USER_TALK"
=>
NS_USER_TALK
,
48
"NS_PROJECT"
=>
NS_PROJECT
,
49
"NS_PROJECT_TALK"
=>
NS_PROJECT_TALK
,
50
"NS_FILE"
=>
NS_FILE
,
51
"NS_FILE_TALK"
=>
NS_FILE_TALK
,
52
"NS_MEDIAWIKI"
=>
NS_MEDIAWIKI
,
53
"NS_MEDIAWIKI_TALK"
=>
NS_MEDIAWIKI_TALK
,
54
"NS_TEMPLATE"
=>
NS_TEMPLATE
,
55
"NS_TEMPLATE_TALK"
=>
NS_TEMPLATE_TALK
,
56
"NS_HELP"
=>
NS_HELP
,
57
"NS_HELP_TALK"
=>
NS_HELP_TALK
,
58
"NS_CATEGORY"
=>
NS_CATEGORY
,
59
"NS_CATEGORY_TALK"
=>
NS_CATEGORY_TALK
];
60
61
if
( $param[0] ==
'!'
) {
62
$this->invert =
true
;
63
$param = substr( $param, 1 );
64
}
65
66
foreach
( explode(
','
, $param ) as $key ) {
67
$key = trim( $key );
68
if
( isset( $constants[$key] ) ) {
69
$ns = $constants[$key];
70
$this->namespaces[$ns] =
true
;
71
} elseif ( is_numeric( $key ) ) {
72
$ns = intval( $key );
73
$this->namespaces[$ns] =
true
;
74
}
else
{
75
throw
new
InvalidArgumentException(
"Unrecognized namespace key '$key'\n"
);
76
}
77
}
78
}
79
84
protected
function
pass
( $page ) {
85
$match = isset( $this->namespaces[$page->page_namespace] );
86
return
$this->invert xor $match;
87
}
88
}
NS_HELP
const NS_HELP
Definition
Defines.php:77
NS_USER
const NS_USER
Definition
Defines.php:67
NS_FILE
const NS_FILE
Definition
Defines.php:71
NS_MEDIAWIKI_TALK
const NS_MEDIAWIKI_TALK
Definition
Defines.php:74
NS_MAIN
const NS_MAIN
Definition
Defines.php:65
NS_PROJECT_TALK
const NS_PROJECT_TALK
Definition
Defines.php:70
NS_MEDIAWIKI
const NS_MEDIAWIKI
Definition
Defines.php:73
NS_TEMPLATE
const NS_TEMPLATE
Definition
Defines.php:75
NS_FILE_TALK
const NS_FILE_TALK
Definition
Defines.php:72
NS_HELP_TALK
const NS_HELP_TALK
Definition
Defines.php:78
NS_CATEGORY_TALK
const NS_CATEGORY_TALK
Definition
Defines.php:80
NS_TALK
const NS_TALK
Definition
Defines.php:66
NS_USER_TALK
const NS_USER_TALK
Definition
Defines.php:68
NS_PROJECT
const NS_PROJECT
Definition
Defines.php:69
NS_CATEGORY
const NS_CATEGORY
Definition
Defines.php:79
NS_TEMPLATE_TALK
const NS_TEMPLATE_TALK
Definition
Defines.php:76
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:84
DumpNamespaceFilter\$namespaces
array $namespaces
Definition
DumpNamespaceFilter.php:34
DumpNamespaceFilter\__construct
__construct(&$sink, $param)
Definition
DumpNamespaceFilter.php:40
DumpNamespaceFilter\$invert
bool $invert
Definition
DumpNamespaceFilter.php:31
includes
export
DumpNamespaceFilter.php
Generated on Thu Jan 23 2025 01:24:01 for MediaWiki by
1.10.0