Yuvipanda has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/94585


Change subject: Add sites parameter to API action=wbsearchentities
......................................................................

Add sites parameter to API action=wbsearchentities

Accepts a list of siteIds, and returns the sitelinks to those
sites if they are present in the items in the search result.

Bug: 56748
Change-Id: Ifd4e138801d8e1b74ef396799b3e087893a9c2c1
---
M repo/includes/api/SearchEntities.php
1 file changed, 18 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/85/94585/1

diff --git a/repo/includes/api/SearchEntities.php 
b/repo/includes/api/SearchEntities.php
index 209c257..f8e0467 100644
--- a/repo/includes/api/SearchEntities.php
+++ b/repo/includes/api/SearchEntities.php
@@ -135,6 +135,18 @@
                        $entry['id'] = $id->getPrefixedId();
                        $entry['url'] = $entityContentFactory->getTitleForId( 
$id )->getFullUrl();
 
+                       if ( isset( $params['sites'] ) ) {
+                               $sites = $params['sites'];
+                               $item = $entityContentFactory->getFromId( $id 
)->getItem();
+                               $pickedSiteLinks = array();
+                               foreach ( $sites as $site ) {
+                                       if ( $item->hasLinkToSite( $site ) )
+                                       $pickedSiteLinks[$site] = 
$item->getSimpleSiteLink( $site )->getPageName();
+                               }
+                               $entry['sitelinks'] = $pickedSiteLinks;
+                               $this->getResult()->setIndexedTagName( 
$entry['sitelinks'], 'sitelinks' );
+                       }
+
                        $aliases = array();
                        foreach ( $terms as $term ) {
                                if ( $term->getEntityId() === 
$id->getNumericId() ) {
@@ -241,6 +253,11 @@
                                ApiBase::PARAM_TYPE => 
Utils::getLanguageCodes(),
                                ApiBase::PARAM_REQUIRED => true,
                        ),
+                       'sites' => array(
+                               ApiBase::PARAM_TYPE => 'string',
+                               ApiBase::PARAM_ISMULTI => true,
+                               ApiBase::PARAM_ALLOW_DUPLICATES => true
+                       ),
                        'type' => array(
                                ApiBase::PARAM_TYPE => 
EntityFactory::singleton()->getEntityTypes(),
                                ApiBase::PARAM_DFLT => 'item',
@@ -271,6 +288,7 @@
                return array(
                        'search' => 'Search for this text.',
                        'language' => 'Search in this language.',
+                       'sites' => 'Return sitelinks for these sites (separated 
by |)',
                        'type' => 'Search for this type of entity.',
                        'limit' => 'Maximal number of results',
                        'continue' => 'Offset where to continue a search',

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifd4e138801d8e1b74ef396799b3e087893a9c2c1
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Yuvipanda <[email protected]>

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

Reply via email to