1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
<?php
namespace MediaWiki\Deferred\LinksUpdate;
use MediaWiki\Config\Config;
use MediaWiki\Config\ServiceOptions;
use MediaWiki\MainConfigNames;
use MediaWiki\Parser\ParserOutput;
/**
* pagelinks
*/
class PageLinksTable extends GenericPageLinksTable {
private const CONSTRUCTOR_OPTIONS = [
MainConfigNames::PageLinksSchemaMigrationStage,
];
/** @var int */
private $migrationStage;
public function __construct( Config $config ) {
$options = new ServiceOptions( self::CONSTRUCTOR_OPTIONS, $config );
$options->assertRequiredOptions( self::CONSTRUCTOR_OPTIONS );
$this->migrationStage = $options->get( MainConfigNames::PageLinksSchemaMigrationStage );
}
public function setParserOutput( ParserOutput $parserOutput ) {
$this->newLinks = $parserOutput->getLinks();
}
protected function getTableName() {
return 'pagelinks';
}
protected function getFromField() {
return 'pl_from';
}
protected function getNamespaceField() {
return 'pl_namespace';
}
protected function getTitleField() {
return 'pl_title';
}
protected function getFromNamespaceField() {
return 'pl_from_namespace';
}
protected function getTargetIdField() {
return 'pl_target_id';
}
/**
* Normalization stage of the links table (see T222224)
* @return int
*/
protected function linksTargetNormalizationStage(): int {
return $this->migrationStage;
}
}
|