Terraria Wiki

  • Discussions are now available on the Terraria Wiki.
  • Miss the old Hydra Skin? Try out our Hydralize gadget! Visit the preferences page while logged in and turn on the gadget.

READ MORE

Terraria Wiki
(Undo revision 1015796 by Equazcion (talk))
Tag: Undo
(some minor improvementa)
Line 1: Line 1:
 
// By Equazcion: https://terraria.gamepedia.com/User:Equazcion
 
// By Equazcion: https://terraria.gamepedia.com/User:Equazcion
   
var wgNamespaceNumber = mw.config.get( 'wgNamespaceNumber' );
+
var wgNamespaceNumber = mw.config.get( 'wgNamespaceNumber' ),
var wgPageName = mw.config.get( 'wgPageName' );
+
wgPageName = mw.config.get( 'wgPageName' ),
var wgTitle = mw.config.get( 'wgTitle' );
+
wgTitle = mw.config.get( 'wgTitle' );
   
 
if (wgNamespaceNumber == 6) {
 
if (wgNamespaceNumber == 6) {
  +
 
var URLprefix = 'https://',
 
URLsuffix = '.gamepedia.com/api.php?format=json&callback=?',
 
msgForeignUses = 'File usage (foreign)',
 
msgImageLink = 'file page',
 
msgNoUses = 'No foreign uses of this file were detected.',
  +
msgListLink = 'List foreign uses',
  +
msgLocalFileListHeader = 'File usage (local)';
  +
 
$('#mw-imagepage-reupload-link').append(
 
$('#mw-imagepage-reupload-link').append(
 
$('<li></li>').append(
 
$('<li></li>').append(
$('<a></a>', {'class':'foreignLink', 'href':'#ddd', 'text':'List foreign uses'})
+
$('<a></a>', {'class':'foreignLink', 'href':'#ddd', 'text':msgListLink})
 
)
 
)
 
);
 
);
  +
 
$('.foreignLink').click(function(){
 
$('.foreignLink').click(function(){
  +
// Clear any existing list
$('.interUses').remove();
+
$('ul.interUses').remove();
$('div[id$="linkstoimage"]').append($('<ul></ul>', {'class':'interUses'}));
 
  +
$('h2#foreignUsesHeader').remove();
var $interUses = $('.interUses');
 
  +
var URLprefix = 'https://',
 
  +
// Create header and list elements
URLsuffix = '.gamepedia.com/api.php?format=json&callback=?';
 
  +
$('h2#filelinks')
var msgForeignUses = 'Foreign uses',
 
  +
.text(msgLocalFileListHeader)
msgImageLink = 'file page',
 
  +
.before('<h2 id="foreignUsesHeader">' + msgForeignUses + '</h2><ul class="interUses"></ul>');
msgNoUses = 'No foreign uses of this file were detected.';
 
  +
$interUses.append( $('<h2></h2>', {'text':msgForeignUses, 'style':'margin-left:-22px;'}) );
 
  +
// Add TOC link
  +
$('ul#filetoc li a[href="#filelinks"]').parent('li').after('<li><a href="#foreignUsesHeader">' + msgForeignUses + '</a></li>');
  +
 
var $interUses = $('.interUses');
 
var langs = {
 
var langs = {
 
"Russian":"terraria-ru",
 
"Russian":"terraria-ru",
Line 82: Line 96:
 
});
 
});
 
});
 
});
setTimeout(function(){$interUses[0].scrollIntoView(true)}, 1000);
 
 
});
 
});
 
}
 
}

Revision as of 01:33, 26 June 2020

// By Equazcion: https://terraria.gamepedia.com/User:Equazcion

var wgNamespaceNumber = mw.config.get( 'wgNamespaceNumber' ),
    wgPageName = mw.config.get( 'wgPageName' ),
    wgTitle = mw.config.get( 'wgTitle' );

if (wgNamespaceNumber == 6) {

    var URLprefix = 'https://',
        URLsuffix = '.gamepedia.com/api.php?format=json&callback=?',
        msgForeignUses = 'File usage (foreign)',
        msgImageLink = 'file page',
        msgNoUses = 'No foreign uses of this file were detected.',
        msgListLink = 'List foreign uses',
        msgLocalFileListHeader = 'File usage (local)';

	$('#mw-imagepage-reupload-link').append(
		$('<li></li>').append(
			$('<a></a>', {'class':'foreignLink', 'href':'#ddd', 'text':msgListLink})
		)
	);

	$('.foreignLink').click(function(){
        // Clear any existing list
        $('ul.interUses').remove();
        $('h2#foreignUsesHeader').remove();
        
        // Create header and list elements
		$('h2#filelinks')
            .text(msgLocalFileListHeader)
            .before('<h2 id="foreignUsesHeader">' + msgForeignUses + '</h2><ul class="interUses"></ul>');
        
        // Add TOC link
        $('ul#filetoc li a[href="#filelinks"]').parent('li').after('<li><a href="#foreignUsesHeader">' + msgForeignUses + '</a></li>');
        
        var $interUses = $('.interUses');
		var langs = {
			"Russian":"terraria-ru",
			"French":"terraria-fr",
			"Polish":"terraria-pl",
			"Portuguese":"terraria-pt",
			"Korean":"terraria-ko",
			"Chinese":"terraria-zh",
			"Ukrainian":"terraria-uk",
			"German":"terraria-de",
			"Hungarian":"terraria-hu",
			"Terraria Mods":"terrariamods",
			"Antiaris Mod":"antiaris",
			"Calamity Mod":"calamitymod",
			"Decimation Mod":"decimationmod",
			"Dragon Ball Terraria Mod":"dbtmod",
			"Elements Awoken Mod":"elementsawoken",
			"Enigma Mod":"enigmamod",
			"Exodus Mod":"exodusmod",
			"GRealm Mod":"grealm",
			"Germanium Mod":"germaniummod",
			"Shadows of Abaddon Mod":"shadowsofabaddon",
			"Spirit Mod":"spiritmod",
			"Split Mod":"splitmod",
			"Thorium Mod":"thoriummod",
			"Tremor Mod":"tremormod",
			"Super Terraria World":"superterrariaworld"
		};
		$interUses.append( $('<h3></h3>', {'text': msgNoUses, 'class':'no_foreign_uses'}) );
		$.each(langs, function(key, value) {
			var currentLangCode = value;
			var request2 = { action:'query', list:'allimages', ailimit:'1',	aifrom:wgTitle }
			$.getJSON(URLprefix + currentLangCode + 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(URLprefix + currentLangCode + URLsuffix, request1, function(response1) {
							var currentLangName = key;
							if (response1.query.imageusage.length > 0) {
								var urlImage = URLprefix + currentLangCode + '.gamepedia.com/' + 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':msgImageLink}), ')'
										)
									)
								);
								$.each(response1.query.imageusage, function(index, value) {
									var urlUse = URLprefix + currentLangCode + '.gamepedia.com/' + value.title;
									$interUses.append(
										$('<li></li>').append(
											$('<a></a>', {'href': urlUse, 'text':value.title})
										)
									);
								});
							}
						});
					}
				});
			});
		});
	});
}