X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fspecials%2FSpecialBrokenRedirects.php;h=17533968a0d93d6119e011f4c303c0524f2436f9;hb=9341971e2f0b841e49d62ecac6b33547715f4114;hp=b9b20511cffbf7995af3d6c6acd50f3d0b0ae348;hpb=c24cbb13dfa35274adc1a6ab11a5ebf38fe5c7d9;p=lhc%2Fweb%2Fwiklou.git
diff --git a/includes/specials/SpecialBrokenRedirects.php b/includes/specials/SpecialBrokenRedirects.php
index b9b20511cf..cf9ae07187 100644
--- a/includes/specials/SpecialBrokenRedirects.php
+++ b/includes/specials/SpecialBrokenRedirects.php
@@ -21,6 +21,9 @@
* @ingroup SpecialPage
*/
+use Wikimedia\Rdbms\ResultWrapper;
+use Wikimedia\Rdbms\IDatabase;
+
/**
* A special page listing redirects to non existent page. Those should be
* fixed to point to an existing page.
@@ -63,6 +66,7 @@ class BrokenRedirectsPage extends QueryPage {
'value' => 'p1.page_title',
'rd_namespace',
'rd_title',
+ 'rd_fragment',
],
'conds' => [
// Exclude pages that don't exist locally as wiki pages,
@@ -99,7 +103,7 @@ class BrokenRedirectsPage extends QueryPage {
function formatResult( $skin, $result ) {
$fromObj = Title::makeTitle( $result->namespace, $result->title );
if ( isset( $result->rd_title ) ) {
- $toObj = Title::makeTitle( $result->rd_namespace, $result->rd_title );
+ $toObj = Title::makeTitle( $result->rd_namespace, $result->rd_title, $result->rd_fragment );
} else {
$blinks = $fromObj->getBrokenLinksFrom(); # TODO: check for redirect, not for links
if ( $blinks ) {
@@ -109,12 +113,13 @@ class BrokenRedirectsPage extends QueryPage {
}
}
+ $linkRenderer = $this->getLinkRenderer();
// $toObj may very easily be false if the $result list is cached
if ( !is_object( $toObj ) ) {
- return '' . Linker::link( $fromObj ) . '';
+ return '' . $linkRenderer->makeLink( $fromObj ) . '';
}
- $from = Linker::linkKnown(
+ $from = $linkRenderer->makeKnownLink(
$fromObj,
null,
[],
@@ -128,28 +133,22 @@ class BrokenRedirectsPage extends QueryPage {
// check, if the content model is editable through action=edit
ContentHandler::getForTitle( $fromObj )->supportsDirectEditing()
) {
- $links[] = Linker::linkKnown(
+ $links[] = $linkRenderer->makeKnownLink(
$fromObj,
- $this->msg( 'brokenredirects-edit' )->escaped(),
+ $this->msg( 'brokenredirects-edit' )->text(),
[],
[ 'action' => 'edit' ]
);
}
- $to = Linker::link(
- $toObj,
- null,
- [],
- [],
- [ 'broken' ]
- );
+ $to = $linkRenderer->makeBrokenLink( $toObj, $toObj->getFullText() );
$arr = $this->getLanguage()->getArrow();
$out = $from . $this->msg( 'word-separator' )->escaped();
if ( $this->getUser()->isAllowed( 'delete' ) ) {
- $links[] = Linker::linkKnown(
+ $links[] = $linkRenderer->makeKnownLink(
$fromObj,
- $this->msg( 'brokenredirects-delete' )->escaped(),
+ $this->msg( 'brokenredirects-delete' )->text(),
[],
[ 'action' => 'delete' ]
);
@@ -171,18 +170,7 @@ class BrokenRedirectsPage extends QueryPage {
* @param ResultWrapper $res
*/
function preprocessResults( $db, $res ) {
- if ( !$res->numRows() ) {
- return;
- }
-
- $batch = new LinkBatch;
- foreach ( $res as $row ) {
- $batch->add( $row->namespace, $row->title );
- }
- $batch->execute();
-
- // Back to start for display
- $res->seek( 0 );
+ $this->executeLBFromResultWrapper( $res );
}
protected function getGroupName() {