Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 3
CRAP
0.00% covered (danger)
0.00%
0 / 1
DumpLatestFilter
0.00% covered (danger)
0.00%
0 / 13
0.00% covered (danger)
0.00%
0 / 3
30
0.00% covered (danger)
0.00%
0 / 1
 writeOpenPage
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 writeClosePage
0.00% covered (danger)
0.00%
0 / 8
0.00% covered (danger)
0.00%
0 / 1
6
 writeRevision
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2/**
3 * Dump output filter to include only the last revision in each page sequence.
4 *
5 * Copyright © 2003, 2005, 2006 Brooke Vibber <bvibber@wikimedia.org>
6 * https://www.mediawiki.org/
7 *
8 * @license GPL-2.0-or-later
9 * @file
10 */
11
12namespace MediaWiki\Export;
13
14/**
15 * @ingroup Dump
16 */
17class DumpLatestFilter extends DumpFilter {
18    /** @var \stdClass|null */
19    public $page;
20
21    /** @var string|null */
22    public $pageString;
23
24    /** @var \stdClass|null */
25    public $rev;
26
27    /** @var string|null */
28    public $revString;
29
30    /**
31     * @param \stdClass $page
32     * @param string $string
33     */
34    public function writeOpenPage( $page, $string ) {
35        $this->page = $page;
36        $this->pageString = $string;
37    }
38
39    /**
40     * @param string $string
41     */
42    public function writeClosePage( $string ) {
43        if ( $this->rev ) {
44            $this->sink->writeOpenPage( $this->page, $this->pageString );
45            $this->sink->writeRevision( $this->rev, $this->revString );
46            $this->sink->writeClosePage( $string );
47        }
48        $this->rev = null;
49        $this->revString = null;
50        $this->page = null;
51        $this->pageString = null;
52    }
53
54    /**
55     * @param \stdClass $rev
56     * @param string $string
57     */
58    public function writeRevision( $rev, $string ) {
59        if ( $rev->rev_id == $this->page->page_latest ) {
60            $this->rev = $rev;
61            $this->revString = $string;
62        }
63    }
64}
65
66/** @deprecated class alias since 1.46 */
67class_alias( DumpLatestFilter::class, 'DumpLatestFilter' );