MediaWiki
REL1_39
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_MEDIAWIKI"
=>
NS_MEDIAWIKI
,
54
"NS_MEDIAWIKI_TALK"
=>
NS_MEDIAWIKI_TALK
,
55
"NS_TEMPLATE"
=>
NS_TEMPLATE
,
56
"NS_TEMPLATE_TALK"
=>
NS_TEMPLATE_TALK
,
57
"NS_HELP"
=>
NS_HELP
,
58
"NS_HELP_TALK"
=>
NS_HELP_TALK
,
59
"NS_CATEGORY"
=>
NS_CATEGORY
,
60
"NS_CATEGORY_TALK"
=>
NS_CATEGORY_TALK
];
61
62
if
( $param[0] ==
'!'
) {
63
$this->invert =
true
;
64
$param = substr( $param, 1 );
65
}
66
67
foreach
( explode(
','
, $param ) as $key ) {
68
$key = trim( $key );
69
if
( isset( $constants[$key] ) ) {
70
$ns = $constants[$key];
71
$this->namespaces[$ns] =
true
;
72
} elseif ( is_numeric( $key ) ) {
73
$ns = intval( $key );
74
$this->namespaces[$ns] =
true
;
75
}
else
{
76
throw
new
MWException
(
"Unrecognized namespace key '$key'\n"
);
77
}
78
}
79
}
80
85
protected
function
pass
( $page ) {
86
$match = isset( $this->namespaces[$page->page_namespace] );
87
return
$this->invert xor $match;
88
}
89
}
NS_HELP
const NS_HELP
Definition
Defines.php:76
NS_USER
const NS_USER
Definition
Defines.php:66
NS_FILE
const NS_FILE
Definition
Defines.php:70
NS_MEDIAWIKI_TALK
const NS_MEDIAWIKI_TALK
Definition
Defines.php:73
NS_MAIN
const NS_MAIN
Definition
Defines.php:64
NS_PROJECT_TALK
const NS_PROJECT_TALK
Definition
Defines.php:69
NS_MEDIAWIKI
const NS_MEDIAWIKI
Definition
Defines.php:72
NS_TEMPLATE
const NS_TEMPLATE
Definition
Defines.php:74
NS_FILE_TALK
const NS_FILE_TALK
Definition
Defines.php:71
NS_HELP_TALK
const NS_HELP_TALK
Definition
Defines.php:77
NS_CATEGORY_TALK
const NS_CATEGORY_TALK
Definition
Defines.php:79
NS_TALK
const NS_TALK
Definition
Defines.php:65
NS_USER_TALK
const NS_USER_TALK
Definition
Defines.php:67
NS_PROJECT
const NS_PROJECT
Definition
Defines.php:68
NS_CATEGORY
const NS_CATEGORY
Definition
Defines.php:78
NS_TEMPLATE_TALK
const NS_TEMPLATE_TALK
Definition
Defines.php:75
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:85
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
includes
export
DumpNamespaceFilter.php
Generated on Wed May 15 2024 16:31:14 for MediaWiki by
1.10.0