* @file
*/
+use MediaWiki\MediaWikiServices;
use Wikimedia\Rdbms\IDatabase;
/**
public function __construct( ApiMain $main, $action ) {
parent::__construct( $main, $action );
- $this->mModuleMgr = new ApiModuleManager( $this );
+ $this->mModuleMgr = new ApiModuleManager(
+ $this,
+ MediaWikiServices::getInstance()->getObjectFactory()
+ );
// Allow custom modules to be added in LocalSettings.php
$config = $this->getConfig();
// Filter modules based on continue parameter
$continuationManager = new ApiContinuationManager( $this, $allModules, $propModules );
$this->setContinuationManager( $continuationManager );
+ /** @var ApiQueryBase[] $modules */
$modules = $continuationManager->getRunModules();
+ '@phan-var ApiQueryBase[] $modules';
if ( !$continuationManager->isGeneratorDone() ) {
// Query modules may optimize data requests through the $this->getPageSet()
$cacheMode = $this->mPageSet->getCacheMode();
// Execute all unfinished modules
- /** @var ApiQueryBase $module */
foreach ( $modules as $module ) {
$params = $module->extractRequestParams();
$cacheMode = $this->mergeCacheMode(
$exporter = new WikiExporter( $this->getDB() );
$sink = new DumpStringOutput;
$exporter->setOutputSink( $sink );
+ $exporter->setSchemaVersion( $this->mParams['exportschema'] );
$exporter->openStream();
foreach ( $exportTitles as $title ) {
$exporter->pageByTitle( $title );
'indexpageids' => false,
'export' => false,
'exportnowrap' => false,
+ 'exportschema' => [
+ ApiBase::PARAM_DFLT => WikiExporter::schemaVersion(),
+ ApiBase::PARAM_TYPE => XmlDumpWriter::$supportedSchemas,
+ ],
'iwurl' => false,
'continue' => [
ApiBase::PARAM_HELP_MSG => 'api-help-param-continue',