MediaWiki:Gadget-ImageForeignUseCheck.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)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
!(function( $, mw ) {
"use strict";
var i18n = {
'listForeignUses': 'List foreign uses',
'msgForeignUses': 'Foreign uses',
'msgFileLink': 'file page',
'msgNoUses': 'No foreign uses of this file were detected.',
'URLprefix': 'https://undermine.wiki.gg/',
'URLsuffix': '/api.php?format=json&callback=?'
};
var langs = {
"Deutsch":"de",
"Русский":"ru",
};
var wgPageName = mw.config.get( 'wgPageName' );
var wgTitle = mw.config.get( 'wgTitle' );
if (mw.config.get( 'wgNamespaceNumber' ) == 6) {
var filelinks = document.querySelector("#filelinks");
var element = document.createElement("ul");
var element2 = element.appendChild(document.createElement("li"));
var element3 = element2.appendChild(document.createElement("a"));
element3.classList.add('foreignLink');
element3.setAttribute('href', '#ddd');
element3.textContent = i18n.listForeignUses;
filelinks.parentNode.insertBefore(element, filelinks.nextSibling);
$('.foreignLink').click(function(){
$('.interUses').remove();
$('div[id$="linkstoimage"]').append($('<ul></ul>', {'class':'interUses'}));
var $interUses = $('.interUses');
$interUses.append( $('<h2></h2>', {'text':i18n.msgForeignUses, 'style':'margin-left:-22px;'}) );
$interUses.append( $('<h3></h3>', {'text': i18n.msgNoUses, 'class':'no_foreign_uses'}) );
$.each(langs, function(key, value) {
var currentLangCode = value;
var request2 = { action:'query', list:'allimages', ailimit:'1', aifrom:wgTitle };
$.getJSON(i18n.URLprefix + currentLangCode + i18n.URLsuffix, request2, function(response2) {
$.each(response2.query.allimages, function(index, value){
if (value.name != wgTitle.replace(/ /g,'_')){
var request1 = { action:'query', list:'imageusage', iutitle:wgPageName };
$.getJSON(i18n.URLprefix + currentLangCode + i18n.URLsuffix, request1, function(response1) {
var currentLangName = key;
if (response1.query.imageusage.length > 0) {
var urlImage = i18n.URLprefix + currentLangCode + '/wiki/' + wgPageName;
$('.no_foreign_uses').remove();
$interUses.append(
$('<h3></h3>', {'style':'margin-left:-20px;', 'text':currentLangName}).append(
$('<span></span>', {'style':'font-size:85%;'}).append(
' (', $('<a></a>', {'href':urlImage, 'text':i18n.msgFileLink}), ')'
)
)
);
$.each(response1.query.imageusage, function(index, value) {
var urlUse = i18n.URLprefix + currentLangCode + '/wiki/' + value.title;
$interUses.append(
$('<li></li>').append(
$('<a></a>', {'href': urlUse, 'text':value.title})
)
);
});
}
});
}
});
});
});
setTimeout(function(){$interUses[0].scrollIntoView(true)}, 1000);
});
}
})( this.jQuery, this.mediaWiki );