Page MenuHomePhorge

No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None
diff --git a/includes/specialpage/SpecialPageFactory.php b/includes/specialpage/SpecialPageFactory.php
index b5c0c56fdd6..c707a920945 100644
--- a/includes/specialpage/SpecialPageFactory.php
+++ b/includes/specialpage/SpecialPageFactory.php
@@ -216,6 +216,7 @@ class SpecialPageFactory {
'ContentHandlerFactory',
'ConnectionProvider',
'LinkBatchFactory',
+ 'RedirectLookup'
]
],
'Deadendpages' => [
diff --git a/includes/specials/SpecialBrokenRedirects.php b/includes/specials/SpecialBrokenRedirects.php
index f97f398232e..6bba9b33ca1 100644
--- a/includes/specials/SpecialBrokenRedirects.php
+++ b/includes/specials/SpecialBrokenRedirects.php
@@ -22,6 +22,7 @@ namespace MediaWiki\Specials;
use MediaWiki\Cache\LinkBatchFactory;
use MediaWiki\Content\IContentHandlerFactory;
+use MediaWiki\Page\RedirectLookup;
use MediaWiki\Skin\Skin;
use MediaWiki\SpecialPage\QueryPage;
use MediaWiki\Title\Title;
@@ -40,16 +41,19 @@ use Wikimedia\Rdbms\IResultWrapper;
class SpecialBrokenRedirects extends QueryPage {
private IContentHandlerFactory $contentHandlerFactory;
+ private RedirectLookup $redirectLookup;
public function __construct(
IContentHandlerFactory $contentHandlerFactory,
IConnectionProvider $dbProvider,
- LinkBatchFactory $linkBatchFactory
+ LinkBatchFactory $linkBatchFactory,
+ RedirectLookup $redirectLookup
) {
parent::__construct( 'BrokenRedirects' );
$this->contentHandlerFactory = $contentHandlerFactory;
$this->setDatabaseProvider( $dbProvider );
$this->setLinkBatchFactory( $linkBatchFactory );
+ $this->redirectLookup = $redirectLookup;
}
public function isExpensive() {
@@ -124,13 +128,14 @@ class SpecialBrokenRedirects extends QueryPage {
$result->rd_fragment
);
} else {
- $toObj = false;
+ $toObj = Title::castFromLinkTarget(
+ $this->redirectLookup->getRedirectTarget( $fromObj )
+ );
}
$linkRenderer = $this->getLinkRenderer();
- // $toObj may very easily be false if the $result list is cached
- if ( !is_object( $toObj ) ) {
+ if ( !is_object( $toObj ) || $toObj->exists() ) {
return '<del>' . $linkRenderer->makeLink( $fromObj ) . '</del>';
}

File Metadata

Mime Type
text/x-diff
Expires
Sat, Jul 5, 5:32 AM (18 h, 41 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
227705
Default Alt Text
(2 KB)

Event Timeline