more changes

This commit is contained in:
2025-07-09 23:22:25 +02:00
parent 1878833ff0
commit d30813633a
6 changed files with 22 additions and 16 deletions

View File

@@ -29,6 +29,7 @@ use CommentStoreComment;
use MediaWiki\MediaWikiServices; use MediaWiki\MediaWikiServices;
use MediaWiki\Revision\RenderedRevision; use MediaWiki\Revision\RenderedRevision;
use MediaWiki\Revision\SlotRecord; use MediaWiki\Revision\SlotRecord;
use MediaWiki\Title\Title;
use Status; use Status;
use WikiPage; use WikiPage;
use User; use User;
@@ -102,11 +103,11 @@ class Extension {
* *
* Entry point for the SpecialLinkTitles class and the LinkTitlesJob class. * Entry point for the SpecialLinkTitles class and the LinkTitlesJob class.
* *
* @param \MediaWiki\Title\Title $title Title object. * @param Title $title Title object.
* @param \RequestContext $context Current request context. If in doubt, call MediaWiki's `RequestContext::getMain()` to obtain such an object. * @param \RequestContext $context Current request context. If in doubt, call MediaWiki's `RequestContext::getMain()` to obtain such an object.
* @return bool True if the page exists, false if the page does not exist * @return bool True if the page exists, false if the page does not exist
*/ */
public static function processPage( \MediaWiki\Title\Title $title, \RequestContext $context ) { public static function processPage( Title $title, \RequestContext $context ) {
$config = new Config(); $config = new Config();
$source = Source::createFromTitle( $title, $config ); $source = Source::createFromTitle( $title, $config );
if ( $source->hasContent() ) { if ( $source->hasContent() ) {

View File

@@ -24,6 +24,8 @@
*/ */
namespace LinkTitles; namespace LinkTitles;
use MediaWiki\Title\Title;
/** /**
* Performs the actual linking of content to existing pages. * Performs the actual linking of content to existing pages.
*/ */
@@ -66,7 +68,7 @@ class Linker {
* callbacks in the Extension class do not always get a WikiPage object in the * callbacks in the Extension class do not always get a WikiPage object in the
* first place. * first place.
* *
* @param \MediaWiki\Title\Title &$title Title object for the current page. * @param Title &$title Title object for the current page.
* @param String $text String that holds the article content * @param String $text String that holds the article content
* @return String|null Source page text with links to target pages, or null if no links were added * @return String|null Source page text with links to target pages, or null if no links were added
*/ */

View File

@@ -25,6 +25,7 @@
namespace LinkTitles; namespace LinkTitles;
use MediaWiki\MediaWikiServices; use MediaWiki\MediaWikiServices;
use MediaWiki\Title\Title;
/** /**
* Represents a page that is a potential link target. * Represents a page that is a potential link target.
@@ -46,11 +47,11 @@ class Source {
private $content; private $content;
/** /**
* Creates a Source object from a \MediaWiki\Title\Title. * Creates a Source object from a Title.
* @param \MediaWiki\Title\Title $title Title object from which to create the Source. * @param Title $title Title object from which to create the Source.
* @return Source Source object created from the title. * @return Source Source object created from the title.
*/ */
public static function createFromTitle( \MediaWiki\Title\Title $title, Config $config ) { public static function createFromTitle( Title $title, Config $config ) {
$source = new Source( $config ); $source = new Source( $config );
$source->title = $title; $source->title = $title;
return $source; return $source;
@@ -62,12 +63,12 @@ class Source {
* This factory can be called e.g. from a onPageContentSave event handler * This factory can be called e.g. from a onPageContentSave event handler
* which knows both these parameters. * which knows both these parameters.
* *
* @param \MediaWiki\Title\Title $title Title of the source page * @param Title $title Title of the source page
* @param String $text String representation of the page content * @param String $text String representation of the page content
* @param Config $config LinkTitles configuration * @param Config $config LinkTitles configuration
* @return Source Source object created from the title and the text * @return Source Source object created from the title and the text
*/ */
public static function createFromTitleAndText( \MediaWiki\Title\Title $title, $text, Config $config ) { public static function createFromTitleAndText( Title $title, $text, Config $config ) {
$source = Source::createFromTitle( $title, $config); $source = Source::createFromTitle( $title, $config);
$source->text = $text; $source->text = $text;
return $source; return $source;
@@ -158,7 +159,7 @@ class Source {
/** /**
* Gets the title. * Gets the title.
* *
* @return \MediaWiki\Title\Title Title of the source page. * @return Title Title of the source page.
*/ */
public function getTitle() { public function getTitle() {
if ( $this->title === null ) { if ( $this->title === null ) {
@@ -249,7 +250,7 @@ class Source {
/** /**
* Obtain a WikiPage object. * Obtain a WikiPage object.
* Workaround for MediaWiki 1.36+ which deprecated Wikipage::factory. * Workaround for MediaWiki 1.36+ which deprecated Wikipage::factory.
* @param \MediaWiki\Title\Title $title * @param Title $title
* @return WikiPage object * @return WikiPage object
*/ */
private static function getPageObject( $title ) { private static function getPageObject( $title ) {

View File

@@ -33,7 +33,7 @@ use MediaWiki\Title\Title;
class Target { class Target {
/** /**
* A Title object for the target page currently being examined. * A Title object for the target page currently being examined.
* @var \MediaWiki\Title\Title $title * @var Title $title
*/ */
private $title; private $title;
@@ -77,7 +77,7 @@ class Target {
* @param String &$title Title of the target page * @param String &$title Title of the target page
*/ */
public function __construct( $namespace, $title, Config &$config ) { public function __construct( $namespace, $title, Config &$config ) {
$this->title = \MediaWiki\Title\Title::makeTitleSafe( $namespace, $title ); $this->title = Title::makeTitleSafe( $namespace, $title );
$this->titleValue = $this->title->getTitleValue(); $this->titleValue = $this->title->getTitleValue();
$this->config = $config; $this->config = $config;
@@ -253,7 +253,7 @@ class Target {
/** /**
* Obtain a page's content. * Obtain a page's content.
* Workaround for MediaWiki 1.36+ which deprecated Wikipage::factory. * Workaround for MediaWiki 1.36+ which deprecated Wikipage::factory.
* @param \MediaWiki\Title\Title $title * @param Title $title
* @return Content content object of the page * @return Content content object of the page
*/ */
private static function getPageContents( $title ) { private static function getPageContents( $title ) {

View File

@@ -23,6 +23,8 @@
*/ */
namespace LinkTitles; namespace LinkTitles;
use MediaWiki\Title\Title;
// Attempt to include the maintenance base class from: // Attempt to include the maintenance base class from:
// $wgScriptPath/maintenance/Maintenance.php // $wgScriptPath/maintenance/Maintenance.php
// Our script is normally located at: // Our script is normally located at:
@@ -143,7 +145,7 @@ class Cli extends \Maintenance {
private function singlePage() { private function singlePage() {
$pageName = strval( $this->getOption( 'page' ) ); $pageName = strval( $this->getOption( 'page' ) );
$this->output( "Processing single page: '$pageName'\n" ); $this->output( "Processing single page: '$pageName'\n" );
$title = \MediaWiki\Title\Title::newFromText( $pageName ); $title = Title::newFromText( $pageName );
$success = Extension::processPage( $title, \RequestContext::getMain() ); $success = Extension::processPage( $title, \RequestContext::getMain() );
if ( $success ) { if ( $success ) {
$this->output( "Finished.\n" ); $this->output( "Finished.\n" );
@@ -184,7 +186,7 @@ class Cli extends \Maintenance {
$numProcessed = 0; $numProcessed = 0;
foreach ( $res as $row ) { foreach ( $res as $row ) {
$title = \MediaWiki\Title\Title::makeTitleSafe( $row->page_namespace, $row->page_title ); $title = Title::makeTitleSafe( $row->page_namespace, $row->page_title );
$numProcessed += 1; $numProcessed += 1;
$index += 1; $index += 1;
if ( $verbose ) { if ( $verbose ) {

View File

@@ -36,7 +36,7 @@ class TargetsTest extends LinkTitles\TestCase {
// LinkTitlesLinkerTest::testLinkContentTargetNamespaces() is every changed, // LinkTitlesLinkerTest::testLinkContentTargetNamespaces() is every changed,
// this test will fail. // this test will fail.
$config->targetNamespaces = [ 4000 ]; $config->targetNamespaces = [ 4000 ];
$title = \MediaWiki\Title\Title::newFromText( 'link target' ); $title = Title::newFromText( 'link target' );
$targets = LinkTitles\Targets::singleton( $title, $config ); $targets = LinkTitles\Targets::singleton( $title, $config );
// Count number of articles: Inspired by updateArticleCount.php maintenance // Count number of articles: Inspired by updateArticleCount.php maintenance