MediaWiki:Gadget-padlock-indicators.js

Uwaga: aby zobaczyć zmiany po opublikowaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.

  • Firefox / Safari: Przytrzymaj Shift podczas klikania Odśwież bieżącą stronę, lub naciśnij klawisze Ctrl+F5, lub Ctrl+R (⌘-R na komputerze Mac)
  • Google Chrome: Naciśnij Ctrl-Shift-R (⌘-Shift-R na komputerze Mac)
  • Edge: Przytrzymaj Ctrl, jednocześnie klikając Odśwież, lub naciśnij klawisze Ctrl+F5.
  • Opera: Naciśnij klawisze Ctrl+F5.
var config = mw.config.get( [
		'wgIsMainPage',
		'wgRestrictionEdit',
		'wgRestrictionCreate'
	] ),
	padlockIcons = {
		autoconfirmed: '8/8a/Padlock-green.svg/22px-Padlock-green.svg.png',
		editeditorprotected: 'e/e0/Padlock-gold.svg/22px-Padlock-gold.svg.png',
		sysop: '4/48/Padlock-red.svg/22px-Padlock-red.svg.png'
	};

mw.messages.set( {
	'padlock-autoconfirmed': 'Tylko użytkownicy automatycznie zatwierdzeni mogą edytować tę stronę (niski poziom zabezpieczenia).',
	'padlock-editeditorprotected': 'Tylko redaktorzy mogą edytować tę stronę (średni poziom zabezpieczenia).',
	'padlock-sysop': 'Tylko administratorzy mogą edytować tę stronę (wysoki poziom zabezpieczenia).'
} );

function insertPadlockIcon( $indicators, restriction ) {
	var $img, $link, $div;
	
	$img = $( '<img>' ).attr( {
		src: '//up.wiki.x.io/wikipedia/commons/thumb/' + padlockIcons[ restriction ],
		title: mw.msg( 'padlock-' + restriction ),
		alt: 'padlock'
	} );
	
	$link = $( '<a>' ).attr( {
		id: 'padlock',
		href: mw.util.getUrl( "Wikipedia:Strona zabezpieczona" )
	} );
	
	$div = $( '<div>' )
		.attr( 'id', 'mw-indicator-padlock' )
		.addClass( 'mw-indicator' );
	
	$indicators.prepend( $div.append( $link.append( $img ) ) );
}

$( function () {
	var $indicators = $( '.mw-indicators' ).first();
	// Must declare fallback as configuration is undefined on certain pages
	// e.g. https://pl.wiki.x.io/wiki/Plik:Cmentarz_zydowski_w_Gorze_Kalwarii_03.JPG
	var wgRestrictionEdit = config.wgRestrictionEdit || config.wgRestrictionCreate || [];
	
	if (
		$indicators.length &&
		!config.wgIsMainPage &&
		wgRestrictionEdit.length &&
		wgRestrictionEdit[ 0 ] in padlockIcons &&
		mw.util.getParamValue( 'printable' ) !== 'yes'
	) {
		insertPadlockIcon( $indicators, wgRestrictionEdit[ 0 ] );
	}
} );