SECURITY: rate-limit and prevent blocked users from changing email
[lhc/web/wiklou.git] / includes / api / ApiImportReporter.php
1 <?php
2 /**
3 * Copyright © 2009 Roan Kattouw "<Firstname>.<Lastname>@gmail.com"
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 * http://www.gnu.org/copyleft/gpl.html
19 *
20 * @file
21 */
22
23 /**
24 * Import reporter for the API
25 * @ingroup API
26 */
27 class ApiImportReporter extends ImportReporter {
28 private $mResultArr = [];
29
30 /**
31 * @param Title $title
32 * @param Title $origTitle
33 * @param int $revisionCount
34 * @param int $successCount
35 * @param array $pageInfo
36 * @return void
37 */
38 public function reportPage( $title, $origTitle, $revisionCount, $successCount, $pageInfo ) {
39 // Add a result entry
40 $r = [];
41
42 if ( $title === null ) {
43 # Invalid or non-importable title
44 $r['title'] = $pageInfo['title'];
45 $r['invalid'] = true;
46 } else {
47 ApiQueryBase::addTitleInfo( $r, $title );
48 $r['revisions'] = (int)$successCount;
49 }
50
51 $this->mResultArr[] = $r;
52
53 // Piggyback on the parent to do the logging
54 parent::reportPage( $title, $origTitle, $revisionCount, $successCount, $pageInfo );
55 }
56
57 public function getData() {
58 return $this->mResultArr;
59 }
60 }