Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 17
0.00% covered (danger)
0.00%
0 / 11
CRAP
0.00% covered (danger)
0.00%
0 / 1
DumpFilter
0.00% covered (danger)
0.00%
0 / 16
0.00% covered (danger)
0.00%
0 / 11
210
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 writeOpenStream
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 writeCloseStream
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 writeOpenPage
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
6
 writeClosePage
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
6
 writeRevision
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
6
 writeLogItem
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 closeRenameAndReopen
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 closeAndRename
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getFilenames
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 pass
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2/**
3 * Dump output filter class.
4 * This just does output filtering and streaming; XML formatting is done
5 * higher up, so be careful in what you do.
6 *
7 * Copyright © 2003, 2005, 2006 Brooke Vibber <bvibber@wikimedia.org>
8 * https://www.mediawiki.org/
9 *
10 * @license GPL-2.0-or-later
11 * @file
12 */
13
14namespace MediaWiki\Export;
15
16/**
17 * @ingroup Dump
18 */
19class DumpFilter {
20    /**
21     * @var DumpOutput
22     * FIXME will need to be made protected whenever legacy code
23     * is updated.
24     */
25    public $sink;
26
27    /**
28     * @var bool
29     */
30    protected $sendingThisPage;
31
32    /**
33     * @param DumpOutput &$sink
34     */
35    public function __construct( &$sink ) {
36        $this->sink =& $sink;
37    }
38
39    /**
40     * @param string $string
41     */
42    public function writeOpenStream( $string ) {
43        $this->sink->writeOpenStream( $string );
44    }
45
46    /**
47     * @param string $string
48     */
49    public function writeCloseStream( $string ) {
50        $this->sink->writeCloseStream( $string );
51    }
52
53    /**
54     * @param \stdClass|null $page
55     * @param string $string
56     */
57    public function writeOpenPage( $page, $string ) {
58        $this->sendingThisPage = $this->pass( $page );
59        if ( $this->sendingThisPage ) {
60            $this->sink->writeOpenPage( $page, $string );
61        }
62    }
63
64    /**
65     * @param string $string
66     */
67    public function writeClosePage( $string ) {
68        if ( $this->sendingThisPage ) {
69            $this->sink->writeClosePage( $string );
70            $this->sendingThisPage = false;
71        }
72    }
73
74    /**
75     * @param \stdClass|null $rev
76     * @param string $string
77     */
78    public function writeRevision( $rev, $string ) {
79        if ( $this->sendingThisPage ) {
80            $this->sink->writeRevision( $rev, $string );
81        }
82    }
83
84    /**
85     * @param \stdClass $rev
86     * @param string $string
87     */
88    public function writeLogItem( $rev, $string ) {
89        $this->sink->writeRevision( $rev, $string );
90    }
91
92    /**
93     * @see DumpOutput::closeRenameAndReopen()
94     * @param string|string[] $newname
95     */
96    public function closeRenameAndReopen( $newname ) {
97        $this->sink->closeRenameAndReopen( $newname );
98    }
99
100    /**
101     * @see DumpOutput::closeAndRename()
102     * @param string|string[] $newname
103     * @param bool $open
104     */
105    public function closeAndRename( $newname, $open = false ) {
106        $this->sink->closeAndRename( $newname, $open );
107    }
108
109    /**
110     * @return array
111     */
112    public function getFilenames() {
113        return $this->sink->getFilenames() ?? [];
114    }
115
116    /**
117     * Override for page-based filter types.
118     * @param \stdClass|null $page
119     * @return bool
120     */
121    protected function pass( $page ) {
122        return true;
123    }
124}
125
126/** @deprecated class alias since 1.46 */
127class_alias( DumpFilter::class, 'DumpFilter' );