User:William Avery/checksitelinks.js
Jump to navigation
Jump to search
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
$(function ($) {
var translate = {
'en': {
removeinterwikis: "Remove interwikis"
}
}
var namespace = mw.config.get('wgNamespaceNumber'),
lang = mw.config.get('wgPageContentLanguage'),
m = translate[ lang ] || translate.en,
page = namespace === 0 ? mw.config.get('wgTitle') : mw.config.get('wgFormattedNamespaces')[ namespace ] + ':' + mw.config.get('wgTitle'),
editbox = document.getElementById( "wpTextbox1" );
function removeInterwikis() {
document.body.style.cursor = "wait";
$.ajax({
url: '//www.wikidata.org/w/api.php',
data: {
'format': 'json',
'action': 'wbgetentities',
'sites': mw.config.get('wgDBname'),
'titles': page,
'props': 'sitelinks',
'languages': lang
},
dataType: 'jsonp',
success: function (data) {
if (data.success) {
for (var i in data.entities) {
if ( i != -1 ) {
var item = data.entities[i] && data.entities[i].sitelinks;
if ( item ) {
for ( var i in item ) {
var lang = item[ i ].site.split("wiki")[0];
lang = lang.replace(/_/g,"-");
var interw = "[[" + lang + ":" + item[ i ].title + "]]";
editbox.value = editbox.value.replace( interw + "\n", "" ).replace( interw, "" );
}
}
}
}
}
document.body.style.cursor = "";
}
});
}
editbox && $( mw.util.addPortletLink( 'p-cactions', '#', m.removeinterwikis ) ).on( "click", removeInterwikis);
});