Bene has uploaded a new change for review. https://gerrit.wikimedia.org/r/217240
Change subject: Use LanguageFallbackLabelDescriptionLookupFactory in SpeciaSetSiteLink ...................................................................... Use LanguageFallbackLabelDescriptionLookupFactory in SpeciaSetSiteLink Change-Id: Iba45addf3a92fb24d02b82fa852f2a47e6fce6d8 --- M repo/includes/specials/SpecialSetSiteLink.php 1 file changed, 21 insertions(+), 23 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase refs/changes/40/217240/1 diff --git a/repo/includes/specials/SpecialSetSiteLink.php b/repo/includes/specials/SpecialSetSiteLink.php index 57ccd83..3de7374 100644 --- a/repo/includes/specials/SpecialSetSiteLink.php +++ b/repo/includes/specials/SpecialSetSiteLink.php @@ -11,9 +11,8 @@ use Wikibase\DataModel\Entity\Entity; use Wikibase\DataModel\Entity\Item; use Wikibase\DataModel\Entity\ItemId; -use Wikibase\LanguageFallbackChainFactory; use Wikibase\Lib\Store\LanguageFallbackLabelDescriptionLookup; -use Wikibase\Lib\Store\TermLookup; +use Wikibase\Repo\LanguageFallbackLabelDescriptionLookupFactory; use Wikibase\Repo\SiteLinkTargetProvider; use Wikibase\Repo\WikibaseRepo; use Wikibase\Summary; @@ -69,14 +68,9 @@ private $siteLinkTargetProvider; /** - * @var TermLookup + * @var LanguageFallbackLabelDescriptionLookupFactory */ - private $termLookup; - - /** - * @var LanguageFallbackChainFactory - */ - private $fallbackChainFactory; + private $labelDescriptionLookupFactory; /** * @since 0.4 @@ -96,8 +90,11 @@ $settings->getSetting( 'specialSiteLinkGroups' ) ); - $this->fallbackChainFactory = $wikibaseRepo->getLanguageFallbackChainFactory(); - $this->termLookup = $wikibaseRepo->getTermLookup(); + $this->labelDescriptionLookupFactory = new LanguageFallbackLabelDescriptionLookupFactory( + $wikibaseRepo->getLanguageFallbackChainFactory(), + $wikibaseRepo->getTermLookup(), + $wikibaseRepo->getTermBuffer() + ); } /** @@ -307,23 +304,24 @@ private function getHtmlForBadges() { $options = ''; - $fallbackChain = $this->fallbackChainFactory->newFromLanguage( + /** @var ItemId[] $badgeItemIds */ + $badgeItemIds = array_map( function( $badgeId ) { + return new ItemId( $badgeId ); + }, array_keys( $this->badgeItems ) ); + + $labelLookup = $this->labelDescriptionLookupFactory->newLabelDescriptionLookup( $this->getLanguage(), - LanguageFallbackChainFactory::FALLBACK_SELF - | LanguageFallbackChainFactory::FALLBACK_VARIANTS - | LanguageFallbackChainFactory::FALLBACK_OTHERS + $badgeItemIds ); - $labelLookup = new LanguageFallbackLabelDescriptionLookup( $this->termLookup, $fallbackChain ); - - foreach ( $this->badgeItems as $badgeId => $value ) { - $name = 'badge-' . $badgeId; + foreach ( $badgeItemIds as $badgeId ) { + $name = 'badge-' . $badgeId->getSerialization(); try { - $term = $labelLookup->getLabel( new ItemId( $badgeId ) ); - $label = $term->getText(); + $label = $labelLookup->getLabel( $badgeId )->getText(); } catch ( OutOfBoundsException $ex ) { - $label = $badgeId; + // show plain id if no label has been found + $label = $badgeId->getSerialization(); } $options .= Html::rawElement( @@ -333,7 +331,7 @@ ), Html::check( $name, - in_array( $badgeId, $this->badges ), + in_array( $badgeId->getSerialization(), $this->badges ), array( 'id' => $name ) -- To view, visit https://gerrit.wikimedia.org/r/217240 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iba45addf3a92fb24d02b82fa852f2a47e6fce6d8 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikibase Gerrit-Branch: master Gerrit-Owner: Bene <benestar.wikime...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits