Merge "Show redirect fragments on Special:BrokenRedirects"
[lhc/web/wiklou.git] / includes / specials / SpecialDoubleRedirects.php
index 90efef7..64b378c 100644 (file)
@@ -21,6 +21,9 @@
  * @ingroup SpecialPage
  */
 
+use Wikimedia\Rdbms\ResultWrapper;
+use Wikimedia\Rdbms\IDatabase;
+
 /**
  * A special page listing redirects to redirecting page.
  * The software will automatically not follow double redirects, to prevent loops.
@@ -70,6 +73,7 @@ class DoubleRedirectsPage extends QueryPage {
                                // not actually be a page table row for this target (e.g. for interwiki redirects)
                                'nsc' => 'rb.rd_namespace',
                                'tc' => 'rb.rd_title',
+                               'fc' => 'rb.rd_fragment',
                                'iwc' => 'rb.rd_interwiki',
                        ],
                        'conds' => [
@@ -143,7 +147,7 @@ class DoubleRedirectsPage extends QueryPage {
                }
 
                $titleB = Title::makeTitle( $result->nsb, $result->tb );
-               $titleC = Title::makeTitle( $result->nsc, $result->tc, '', $result->iwc );
+               $titleC = Title::makeTitle( $result->nsc, $result->tc, $result->fc, $result->iwc );
 
                $linkA = $linkRenderer->makeKnownLink(
                        $titleA,
@@ -176,7 +180,7 @@ class DoubleRedirectsPage extends QueryPage {
                        [ 'redirect' => 'no' ]
                );
 
-               $linkC = $linkRenderer->makeKnownLink( $titleC );
+               $linkC = $linkRenderer->makeKnownLink( $titleC, $titleC->getFullText() );
 
                $lang = $this->getLanguage();
                $arr = $lang->getArrow() . $lang->getDirMark();