Cicalese has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/393350 )

Change subject: Follow 1 level of redirect getting display title.
......................................................................


Follow 1 level of redirect getting display title.

Change-Id: I9675c87d4dc2042fde643a2cd190b95ae8343aa6
---
M extension.json
M includes/DisplayTitleHooks.php
2 files changed, 26 insertions(+), 16 deletions(-)

Approvals:
  Kghbln: Looks good to me, but someone else must approve
  Cicalese: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/extension.json b/extension.json
index ff5bf23..3775ed5 100644
--- a/extension.json
+++ b/extension.json
@@ -1,6 +1,6 @@
 {
        "name": "DisplayTitle",
-       "version": "1.5.2",
+       "version": "1.5.3",
        "author": [
                "[https://www.mediawiki.org/wiki/User:Cindy.cicalese Cindy 
Cicalese]",
                "[https://www.semantic-mediawiki.org/wiki/User:Oetterer Tobias 
Oetterer]"
diff --git a/includes/DisplayTitleHooks.php b/includes/DisplayTitleHooks.php
index c7fb01f..647a99e 100644
--- a/includes/DisplayTitleHooks.php
+++ b/includes/DisplayTitleHooks.php
@@ -226,23 +226,33 @@
         */
        private static function getDisplayTitle( Title $title, &$displaytitle,
                $wrap = false ) {
-               $pagetitle = $title->getPrefixedText();
-               // remove fragment
-               $title = Title::newFromText( $pagetitle );
-               if ( $title instanceof Title ) {
-                       $values = PageProps::getInstance()->getProperties( 
$title, 'displaytitle' );
-                       $id = $title->getArticleID();
-                       if ( array_key_exists( $id, $values ) ) {
-                               $value = $values[$id];
-                               if ( trim( str_replace( ' ', '', 
strip_tags( $value ) ) ) !== '' &&
-                                       $value !== $pagetitle ) {
-                                       $displaytitle = $value;
-                                       if ( $wrap ) {
-                                               $displaytitle = new HtmlArmor( 
$displaytitle );
-                                       }
-                                       return true;
+               $title = $title->createFragmentTarget('');
+               $originalPageName = $title->getPrefixedText();
+               $wikipage = new WikiPage( $title );
+               $redirect = false;
+               $redirectTarget = $wikipage->getRedirectTarget();
+               if ( !is_null( $redirectTarget ) ) {
+                       $redirect = true;
+                       $title = $redirectTarget;
+               }
+               $id = $title->getArticleID();
+               $values = PageProps::getInstance()->getProperties( $title, 
'displaytitle' );
+               if ( array_key_exists( $id, $values ) ) {
+                       $value = $values[$id];
+                       if ( trim( str_replace( ' ', '', strip_tags( 
$value ) ) ) !== '' &&
+                               $value !== $originalPageName ) {
+                               $displaytitle = $value;
+                               if ( $wrap ) {
+                                       $displaytitle = new HtmlArmor( 
$displaytitle );
                                }
+                               return true;
                        }
+               } else if ( $redirect ) {
+                       $displaytitle = $title->getPrefixedText();
+                       if ( $wrap ) {
+                               $displaytitle = new HtmlArmor( $displaytitle );
+                       }
+                       return true;
                }
                return false;
        }

-- 
To view, visit https://gerrit.wikimedia.org/r/393350
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I9675c87d4dc2042fde643a2cd190b95ae8343aa6
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/DisplayTitle
Gerrit-Branch: master
Gerrit-Owner: Cicalese <[email protected]>
Gerrit-Reviewer: Cicalese <[email protected]>
Gerrit-Reviewer: Kghbln <[email protected]>
Gerrit-Reviewer: Samwilson <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to