MediaWiki
master
DumpNamespaceFilter.php
Go to the documentation of this file.
1
<?php
12
namespace
MediaWiki\Export
;
13
14
use InvalidArgumentException;
15
19
class
DumpNamespaceFilter
extends
DumpFilter
{
21
public
$invert
=
false
;
22
24
public
$namespaces
= [];
25
30
public
function
__construct
( &
$sink
, $param ) {
31
parent::__construct(
$sink
);
32
33
$constants = [
34
"NS_MAIN"
=>
NS_MAIN
,
35
"NS_TALK"
=>
NS_TALK
,
36
"NS_USER"
=>
NS_USER
,
37
"NS_USER_TALK"
=>
NS_USER_TALK
,
38
"NS_PROJECT"
=>
NS_PROJECT
,
39
"NS_PROJECT_TALK"
=>
NS_PROJECT_TALK
,
40
"NS_FILE"
=>
NS_FILE
,
41
"NS_FILE_TALK"
=>
NS_FILE_TALK
,
42
"NS_MEDIAWIKI"
=>
NS_MEDIAWIKI
,
43
"NS_MEDIAWIKI_TALK"
=>
NS_MEDIAWIKI_TALK
,
44
"NS_TEMPLATE"
=>
NS_TEMPLATE
,
45
"NS_TEMPLATE_TALK"
=>
NS_TEMPLATE_TALK
,
46
"NS_HELP"
=>
NS_HELP
,
47
"NS_HELP_TALK"
=>
NS_HELP_TALK
,
48
"NS_CATEGORY"
=>
NS_CATEGORY
,
49
"NS_CATEGORY_TALK"
=>
NS_CATEGORY_TALK
];
50
51
if
( $param[0] ==
'!'
) {
52
$this->invert =
true
;
53
$param = substr( $param, 1 );
54
}
55
56
foreach
( explode(
','
, $param ) as $key ) {
57
$key = trim( $key );
58
if
( isset( $constants[$key] ) ) {
59
$ns = $constants[$key];
60
$this->namespaces[$ns] =
true
;
61
} elseif ( is_numeric( $key ) ) {
62
$ns = intval( $key );
63
$this->namespaces[$ns] =
true
;
64
}
else
{
65
throw
new
InvalidArgumentException(
"Unrecognized namespace key '$key'\n"
);
66
}
67
}
68
}
69
74
protected
function
pass
( $page ) {
75
$match = isset( $this->namespaces[$page->page_namespace] );
76
return
$this->invert xor $match;
77
}
78
}
79
81
class_alias( DumpNamespaceFilter::class,
'DumpNamespaceFilter'
);
NS_HELP
const NS_HELP
Definition
Defines.php:63
NS_USER
const NS_USER
Definition
Defines.php:53
NS_FILE
const NS_FILE
Definition
Defines.php:57
NS_MEDIAWIKI_TALK
const NS_MEDIAWIKI_TALK
Definition
Defines.php:60
NS_MAIN
const NS_MAIN
Definition
Defines.php:51
NS_PROJECT_TALK
const NS_PROJECT_TALK
Definition
Defines.php:56
NS_MEDIAWIKI
const NS_MEDIAWIKI
Definition
Defines.php:59
NS_TEMPLATE
const NS_TEMPLATE
Definition
Defines.php:61
NS_FILE_TALK
const NS_FILE_TALK
Definition
Defines.php:58
NS_HELP_TALK
const NS_HELP_TALK
Definition
Defines.php:64
NS_CATEGORY_TALK
const NS_CATEGORY_TALK
Definition
Defines.php:66
NS_TALK
const NS_TALK
Definition
Defines.php:52
NS_USER_TALK
const NS_USER_TALK
Definition
Defines.php:54
NS_PROJECT
const NS_PROJECT
Definition
Defines.php:55
NS_CATEGORY
const NS_CATEGORY
Definition
Defines.php:65
NS_TEMPLATE_TALK
const NS_TEMPLATE_TALK
Definition
Defines.php:62
MediaWiki\Export\DumpFilter
Definition
DumpFilter.php:19
MediaWiki\Export\DumpFilter\$sink
DumpOutput $sink
FIXME will need to be made protected whenever legacy code is updated.
Definition
DumpFilter.php:25
MediaWiki\Export\DumpNamespaceFilter
Definition
DumpNamespaceFilter.php:19
MediaWiki\Export\DumpNamespaceFilter\$invert
bool $invert
Definition
DumpNamespaceFilter.php:21
MediaWiki\Export\DumpNamespaceFilter\__construct
__construct(&$sink, $param)
Definition
DumpNamespaceFilter.php:30
MediaWiki\Export\DumpNamespaceFilter\$namespaces
array $namespaces
Definition
DumpNamespaceFilter.php:24
MediaWiki\Export\DumpNamespaceFilter\pass
pass( $page)
Definition
DumpNamespaceFilter.php:74
MediaWiki\Export
Definition
BaseDump.php:13
includes
Export
DumpNamespaceFilter.php
Generated on Fri Apr 10 2026 20:24:55 for MediaWiki by
1.10.0