Completed
Branch master (939199)
by
unknown
39:35
created

includes/import/ImportStringSource.php (2 issues)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
/**
3
 * MediaWiki page data importer.
4
 *
5
 * Copyright © 2003,2005 Brion Vibber <[email protected]>
6
 * https://www.mediawiki.org/
7
 *
8
 * This program is free software; you can redistribute it and/or modify
9
 * it under the terms of the GNU General Public License as published by
10
 * the Free Software Foundation; either version 2 of the License, or
11
 * (at your option) any later version.
12
 *
13
 * This program is distributed in the hope that it will be useful,
14
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
 * GNU General Public License for more details.
17
 *
18
 * You should have received a copy of the GNU General Public License along
19
 * with this program; if not, write to the Free Software Foundation, Inc.,
20
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21
 * http://www.gnu.org/copyleft/gpl.html
22
 *
23
 * @file
24
 * @ingroup SpecialPage
25
 */
26
27
/**
28
 * Used for importing XML dumps where the content of the dump is in a string.
29
 * This class is ineffecient, and should only be used for small dumps.
30
 * For larger dumps, ImportStreamSource should be used instead.
31
 *
32
 * @ingroup SpecialPage
33
 */
34
class ImportStringSource implements ImportSource {
35
	function __construct( $string ) {
36
		$this->mString = $string;
0 ignored issues
show
The property mString does not exist. Did you maybe forget to declare it?

In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:

class MyClass { }

$x = new MyClass();
$x->foo = true;

Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:

class MyClass {
    public $foo;
}

$x = new MyClass();
$x->foo = true;
Loading history...
37
		$this->mRead = false;
0 ignored issues
show
The property mRead does not exist. Did you maybe forget to declare it?

In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:

class MyClass { }

$x = new MyClass();
$x->foo = true;

Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:

class MyClass {
    public $foo;
}

$x = new MyClass();
$x->foo = true;
Loading history...
38
	}
39
40
	/**
41
	 * @return bool
42
	 */
43
	function atEnd() {
44
		return $this->mRead;
45
	}
46
47
	/**
48
	 * @return bool|string
49
	 */
50
	function readChunk() {
51
		if ( $this->atEnd() ) {
52
			return false;
53
		}
54
		$this->mRead = true;
55
		return $this->mString;
56
	}
57
}
58