X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fapi%2FApiImport.php;h=596ab75e4820eca38ab259dfe8418d71ac878693;hb=4691389fa46f79cbeaf2daffda407cf7daa66fd4;hp=b46f0b1e5105d46cc2833336c2b7f5bfc0e430f7;hpb=dae4c94d893057345f62a3d498fb85c0a54de5a6;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiImport.php b/includes/api/ApiImport.php index b46f0b1e51..596ab75e48 100644 --- a/includes/api/ApiImport.php +++ b/includes/api/ApiImport.php @@ -1,9 +1,5 @@ .@gmail.com" * * This program is free software; you can redistribute it and/or modify @@ -53,12 +49,18 @@ class ApiImport extends ApiBase { $params['fullhistory'], $params['templates'] ); + $usernamePrefix = $params['interwikisource']; } else { $isUpload = true; if ( !$user->isAllowed( 'importupload' ) ) { $this->dieWithError( 'apierror-cantimport-upload' ); } $source = ImportStreamSource::newFromUpload( 'xml' ); + $usernamePrefix = (string)$params['interwikiprefix']; + if ( $usernamePrefix === '' ) { + $encParamName = $this->encodeParamName( 'interwikiprefix' ); + $this->dieWithError( [ 'apierror-missingparam', $encParamName ] ); + } } if ( !$source->isOK() ) { $this->dieStatus( $source ); @@ -81,6 +83,7 @@ class ApiImport extends ApiBase { $this->dieStatus( $statusRootPage ); } } + $importer->setUsernamePrefix( $usernamePrefix, $params['assignknownusers'] ); $reporter = new ApiImportReporter( $importer, $isUpload, @@ -141,6 +144,9 @@ class ApiImport extends ApiBase { 'xml' => [ ApiBase::PARAM_TYPE => 'upload', ], + 'interwikiprefix' => [ + ApiBase::PARAM_TYPE => 'string', + ], 'interwikisource' => [ ApiBase::PARAM_TYPE => $this->getAllowedImportSources(), ], @@ -150,6 +156,7 @@ class ApiImport extends ApiBase { 'namespace' => [ ApiBase::PARAM_TYPE => 'namespace' ], + 'assignknownusers' => false, 'rootpage' => null, 'tags' => [ ApiBase::PARAM_TYPE => 'tags', @@ -200,7 +207,7 @@ class ApiImportReporter extends ImportReporter { $r['invalid'] = true; } else { ApiQueryBase::addTitleInfo( $r, $title ); - $r['revisions'] = intval( $successCount ); + $r['revisions'] = (int)$successCount; } $this->mResultArr[] = $r;