Järjestelmäviesti:Gadget-Externaltools.js

Wikipediasta
Siirry navigaatioon Siirry hakuun

Huomautus: Selaimen välimuisti pitää tyhjentää asetusten tallentamisen jälkeen, jotta muutokset tulisivat voimaan.

  • Firefox ja Safari: Napsauta Shift-näppäin pohjassa Päivitä, tai paina Ctrl-F5 tai Ctrl-R (⌘-R Macilla)
  • Google Chrome: Paina Ctrl-Shift-R (⌘-Shift-R Macilla)
  • Internet Explorer ja Edge: Napsauta Ctrl-näppäin pohjassa Päivitä tai paina Ctrl-F5
  • Opera: Paina Ctrl-F5.
// Tekijä: [[Käyttäjä:Zache|Zache]]
// Lisää vasemmalle palkkiin linkkejä ulkoisiin työkaluihin.

function load_externaltools()
{
	function createCoord() {
		var ret="Koordinaatteja ei saatu luettua";
		var page_name=mw.config.get("wgPageName");
		var page_id=mw.config.get("wgArticleId");
		var url="/w/api.php?action=query&format=json&prop=imageinfo&iiprop=metadata&titles=" + encodeURIComponent(page_name);
		$.getJSON(url, function(result){
			var lat=0
			var long=0
			var exif=result["query"]["pages"][page_id]["imageinfo"][0]["metadata"];
			$.each(exif, function(i, field){
				if (field["name"]=="GPSLongitude") long=field["value"];
				if (field["name"]=="GPSLatitude") lat=field["value"];
            });
            if (long!="none" && lat!="none") {
            	ret="{{paikkalinkki\n|"+lat+"\n|"+long+"\n|type:landmark\n|nimi=" + page_name + "\n}}";
                prompt(ret, ret.replace(/\n/g,""));
            }
	    });
	}
	
	function whoAddItPopup() {
		var searchstr = prompt( 'Teksti, jonka lisääjää etsitään:', '' );
	
		if ( ( searchstr === '' ) || ( searchstr === null ) ) {
			return;
		}
	
		// Trim
		searchstr = searchstr.replace( /^\s\s*/, '' ).replace( /\s\s*$/, '' );
	
		var url = '//tools.wmflabs.org/xtools/blame/index.php?article=' + encodeURIComponent(mw.config.get( 'wgPageName' )) + '&lang=fi&wiki=wikipedia&text=' + encodeURIComponent( searchstr );
		window.open( url );
	}
	
	function articleTrafficStatistic() {
		mw.util.addPortletLink(
			'p-insp',
			'//pageviews.wmcloud.org/?project=fi.wikipedia.org&pages=' + encodeURIComponent(mw.config.get( 'wgPageName' )),
			'Sivun liikenne',
			'',
			'Sivun liikenne viimeisen 20 päivän aikana'
		);
		
		// Linkki näytetään vain luokkasivulla
		if ( mw.config.get( 'wgNamespaceNumber' ) == 14 ) {
			url="https://fi.wikipedia.org/wiki/" + encodeURIComponent(mw.config.get( 'wgPageName' ));
			mw.util.addPortletLink(
				'p-insp',
				'//pageviews.wmcloud.org/massviews/?platform=all-access&agent=user&source=category&range=latest-20&subjectpage=0&sort=views&direction=1&view=list&target=' + encodeURIComponent(url),
				'Luokan liikenne',
				'',
				'Luokan liikenne',
				''
			);
		}
	}
	
	function addInspectionToolbox() {
		var toolboxElement = document.getElementById( 'p-tb' );
		if ( !toolboxElement ) {
			return -1;
		}
	
		var inspectionElement = toolboxElement.cloneNode( true );
		if ( !inspectionElement ) {
			return -1;
		}
	
		inspectionElement.id = 'p-insp';
		inspectionElement.innerHTML = '<label id="p-tb-label" aria-label="" class="vector-menu-heading"><span class="vector-menu-heading-label">Ulkoiset työkalut</span></label><div class="pBody body vector-menu-content"><ul class="vector-menu-content-list"></ul></div>';
		toolboxElement.parentNode.insertBefore( inspectionElement, toolboxElement.nextSibling );
	
		// Kaikille sivuille tulevat työkalut
		if ( mw.config.get( 'wgNamespaceNumber' ) != -1 ) {
			articleTrafficStatistic();
	
			var who_addit_link=mw.util.addPortletLink(
				'p-insp',
				'#',
				'Hae tekstin lisääjää',
				'ext-whoaddit',
				'Hae tekstin lisääjää',
				''
			);
			$(who_addit_link).click(whoAddItPopup);
		}
	
		// Työkaluja, jotka näytetään vain artikkelisivulla
		if ( mw.config.get( 'wgNamespaceNumber' ) === 0 ) {
			mw.util.addPortletLink(
				'p-insp',
				'http://69.142.160.183/~dispenser/cgi-bin/dablinks.py?page=fi:' + encodeURIComponent(mw.config.get( 'wgPageName' )),
				'Tarkasta linkit täsmennyssivuille',
				'',
				'Tarkasta linkit täsmennyssivuille',
				''
			);
	
			mw.util.addPortletLink(
				'p-insp',
				'http://69.142.160.183/~dispenser/cgi-bin/webchecklinks.py?page=fi:' + encodeURIComponent(mw.config.get( 'wgPageName' )),
				'Tarkasta ulkoiset linkit',
				'',
				'Tarkasta ulkoiset linkit',
				''
			);
	
			// mw.util.addPortletLink('p-insp', 'http://toolserver.org/~kolossos/tree/back-category.php?lang=fi&pro=wikipedia&deep=&ex=&submit=Article&view=Tree&submit=Article&art=' + encodeURIComponent(mw.config.get( 'wgPageName' )), 'Näytä yläluokat', '', 'Näyttää sivun yläluokat', '');
		}
	
		// Työkaluja, jotka näytetään vain luokkasivulla
		if ( mw.config.get( 'wgNamespaceNumber' ) == 14 ) {

			mw.util.addPortletLink(
				'p-insp',
				'//tools.wmflabs.org/catscan2.php?language=fi&categories=' + encodeURIComponent(mw.config.get( 'wgTitle' )) + '%0D%0ATyng%C3%A4t|10&doit=1#results',
				'Etsi luokan tyngät',
				'',
				'Etsi luokan tyngät',
				''
			);
	
			mw.util.addPortletLink(
				'p-insp',
				'//tools.wmflabs.org/catscan2.php?language=fi&categories=' + encodeURIComponent(mw.config.get( 'wgTitle' )) + '%0D%0ATyng%C3%A4t|10&doit=1&depth=3#results',
				'Etsi myös alaluokkien tyngät',
				'',
				'Etsi myös alaluokkien tyngät',
				''
			);
	
			// mw.util.addPortletLink('p-insp', 'http://toolserver.org/~kolossos/tree/back-category.php?lang=fi&pro=wikipedia&deep=&ex=&submit=Article&view=Tree&submit=Category&art=' + mw.config.get( 'wgPageName' ).replace("Luokka:", ""), 'Näytä yläluokat', '', 'Näyttää sivun yläluokat', '');
		}
	
		// Mikäli ollaan käyttäjäsivulla tai käyttäjän keskustelusivulla
		if (
			( mw.config.get( 'wgNamespaceNumber' ) == 2 || mw.config.get( 'wgNamespaceNumber' ) == 3 ) &&
			( mw.config.get( 'wgTitle' ).search( '/' ) == -1 )
		)
		{
			mw.util.addPortletLink(
				'p-insp',
				'https://xtools.wmcloud.org/ec/fi.wikipedia.org/' + encodeURIComponent(mw.config.get( 'wgTitle' )),
				'Tietoja käyttäjästä',
				'',
				'Käyttäjän muokkaustilastot',
				''
			);
		}
		
		// Mikäli ollaan tiedostosivulla
		if ( mw.config.get( 'wgNamespaceNumber' ) == 6 ) 
		{
			// Tarkistetaan onko kuvalla exif-tietoja ennen kuin lisätään työkalulinkki
			var exif_test = $(".exif-gpslatitude");
			if (exif_test.length)
			{
				var create_coord_link=mw.util.addPortletLink(
					'p-insp',
					'#',
					'Paikkalinkki-malline',
					'ext-coord',
					'Luo koordinaattimalline',
					''
				);
				$(create_coord_link).click(createCoord);
			}
		}
	
	}
	
	// Lisätään boksi ainoastaan muilla kuin toimintosivuilla.
	if ( mw.config.get( 'wgNamespaceNumber' ) != -1 ) {
		$( addInspectionToolbox );
	}
}
$(load_externaltools);