Last modified: 2014-10-29 07:31:12 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T52414, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 50414 - API module for RelatedSites extension
API module for RelatedSites extension
Status: NEW
Product: MediaWiki extensions
Classification: Unclassified
RelatedSites (Other open bugs)
unspecified
All All
: Normal enhancement (vote)
: ---
Assigned To: Nobody - You can work on this!
:
Depends on:
Blocks: noncoreapi
  Show dependency treegraph
 
Reported: 2013-06-29 05:08 UTC by Kunal Mehta (Legoktm)
Modified: 2014-10-29 07:31 UTC (History)
4 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Kunal Mehta (Legoktm) 2013-06-29 05:08:52 UTC
There should be a prop=relatedsites module which provides a list of all the related sites.

This will be extremely useful during the Wikidata migration when trying to connect a Wikivoyage page with the Wikidata one.

For some reason the original version of the mw documentation page claims it uses the API, but I can't find anything in the code to indicate that. (https://www.mediawiki.org/w/index.php?title=Extension:RelatedSites&oldid=595097).
Comment 1 RolandUnger 2013-07-23 06:24:46 UTC
Unfortunately I have no experience with the API and how to work with the Git repository so I will give at least two ideas:

(1) The API function should be similar to prop=langlinks (ll)

(2) From the public function onSkinTemplateToolboxEnd( &$skinTpl ) (at the end of RelatedSites.class.php) you can learn how to access to the stored values:

$relatedSites = $this->getCustomData()->getSkinData( $skinTpl, 'RelatedSites' );

if ( count( $relatedSites ) == 0 ) {
	return true;
}

$relatedSitesUrls = $this->getRelatedSitesUrls( $relatedSites );

foreach ( (array) $relatedSitesUrls as $url ) {
	$href = htmlspecialchars( $url['href'] );
	$text = $url['text'];
	...
}

Now you can check for Wikipedia and Commons. $url['text'] should contain "Wikipedia", "Wikimedia Commons" and others.

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links