Update Source.php

This commit is contained in:
paladox
2023-12-22 17:02:54 +00:00
committed by GitHub
parent ffaf50cdd9
commit 2a1e3a05e9

View File

@ -238,17 +238,25 @@ class Source {
if ( $this->page === null ) {
// Access the property directly to avoid an infinite loop.
if ( $this->title != null) {
// MW 1.36+
if ( method_exists( MediaWikiServices::class, 'getWikiPageFactory' ) ) {
$wikiPageFactory = MediaWikiServices::getInstance()->getWikiPageFactory();
$this->page = $wikiPageFactory->newFromTitle( $this->title );
} else {
$this->page = \WikiPage::factory( $this->title );
}
$this->page = static::getPage();
} else {
throw new Exception( 'Unable to create Page for this Source because Title is null.' );
}
}
return $this->page;
}
/**
* Obtain a WikiPage object.
* Workaround for MediaWiki 1.36+ which deprecated Wikipage::factory.
* @return WikiPage object
*/
private static function getPage() {
if ( method_exists( MediaWikiServices::class, 'getWikiPageFactory' ) ) {
$wikiPageFactory = MediaWikiServices::getInstance()->getWikiPageFactory();
return $wikiPageFactory->newFromTitle( $this->title );
}
return \WikiPage::factory( $this->title );
}
}