jenkins-bot has submitted this change and it was merged.

Change subject: Show entity label with language fallback in action=history
......................................................................


Show entity label with language fallback in action=history

Change-Id: I79e99d34cf4e6318a7a865e5a910b144d23677da
---
M repo/includes/actions/HistoryEntityAction.php
1 file changed, 40 insertions(+), 1 deletion(-)

Approvals:
  Daniel Kinzler: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/repo/includes/actions/HistoryEntityAction.php 
b/repo/includes/actions/HistoryEntityAction.php
index 2fc5ff8..de38277 100644
--- a/repo/includes/actions/HistoryEntityAction.php
+++ b/repo/includes/actions/HistoryEntityAction.php
@@ -18,6 +18,38 @@
 class HistoryEntityAction extends \HistoryAction {
 
        /**
+        * @var LanguageFallbackChain
+        */
+       protected $languageFallbackChain;
+
+       /**
+        * Get the language fallback chain for current context.
+        *
+        * @since 0.4
+        *
+        * @return LanguageFallbackChain
+        */
+       public function getLanguageFallbackChain() {
+               if ( $this->languageFallbackChain === null ) {
+                       $this->languageFallbackChain = 
WikibaseRepo::getDefaultInstance()->getLanguageFallbackChainFactory()
+                               ->newFromContext( $this->getContext() );
+               }
+
+               return $this->languageFallbackChain;
+       }
+
+       /**
+        * Set language fallback chain.
+        *
+        * @since 0.4
+        *
+        * @param LanguageFallbackChain $chain
+        */
+       public function setLanguageFallbackChain( LanguageFallbackChain $chain 
) {
+               $this->languageFallbackChain = $chain;
+       }
+
+       /**
         * Returns the content of the page being viewed.
         *
         * @since 0.3
@@ -45,7 +77,14 @@
 
                $entity = $content->getEntity();
 
-               $labelText = $entity->getLabel( 
$this->getContext()->getLanguage()->getCode() );
+               $languageFallbackChain = $this->getLanguageFallbackChain();
+               $labelData = 
$languageFallbackChain->extractPreferredValueOrAny( 
$content->getEntity()->getLabels() );
+
+               if ( $labelData ) {
+                       $labelText = $labelData['value'];
+               } else {
+                       $labelText = null;
+               }
 
                $idPrefixer = 
WikibaseRepo::getDefaultInstance()->getIdFormatter();
                $prefixedId = ucfirst( $idPrefixer->format( $entity->getId() ) 
);

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I79e99d34cf4e6318a7a865e5a910b144d23677da
Gerrit-PatchSet: 8
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Liangent <liang...@gmail.com>
Gerrit-Reviewer: Aude <aude.w...@gmail.com>
Gerrit-Reviewer: Daniel Kinzler <daniel.kinz...@wikimedia.de>
Gerrit-Reviewer: Denny Vrandecic <denny.vrande...@wikimedia.de>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to