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