Järjestelmäviesti:Gadget-ProtectionIndicator.js

Nykymaailmassa Järjestelmäviesti:Gadget-ProtectionIndicator.js on aihe, josta on tullut yhä tärkeämpi ja joka on kiinnittänyt laajan yleisön huomion. Syntymisestään lähtien Järjestelmäviesti:Gadget-ProtectionIndicator.js on synnyttänyt loputtomasti keskustelua, tutkimusta ja pohdiskelua eri aloilla. Sen vaikutukset ovat tulleet vaikuttamaan ihmisten jokapäiväiseen elämään sekä eri toimialojen ja toimialojen kehitykseen. Tässä artikkelissa tutkimme Järjestelmäviesti:Gadget-ProtectionIndicator.js:n monia puolia sen alkuperästä sen nykyisiin vaikutuksiin. Tavoitteena on ymmärtää paremmin sen merkitys ja merkitys nyky-yhteiskunnassa.
( function ( mw, $ ) {

function setMessages() { 
	mw.messages.set( {
		'gadget-protection-editprotected': 'Tämä sivu on suojattu muutoksilta.',
		'gadget-protection-editautoreviewprotected': 'Tämä sivu on suojattu muiden kuin luotettujen käyttäjien muutoksilta.',
		'gadget-protection-editsemiprotected': 'Tämä sivu on osittain suojattu muutoksilta.',
			} );
	}
	
function init() {
	
	if (mw.config.get( 'wgIsMainPage' ))
		return;
		
	var restrictions = mw.config.get( 'wgRestrictionEdit' ),
		action = mw.config.get( 'wgAction' );

	if ( action === 'view' && restrictions !== null && restrictions.length > 0 ) {
		var $indicators = $( '.mw-indicators' ).first();
			protectLevel = null;

		setMessages();

		if ( restrictions.indexOf( 'sysop' ) !== -1 ) {
			protectLevel = 'editprotected';
		} else if ( restrictions.indexOf( 'editautoreviewprotected' ) !== -1 ) {
			protectLevel = 'editautoreviewprotected';
		} else if ( restrictions.indexOf( 'autoconfirmed' ) !== -1 ) {
			protectLevel = 'editsemiprotected';
		}
		
		if ( $indicators.find( '#mw-indicator-protected-' + protectLevel ).length > 0 ) {
			return;
		}

		var protectText = mw.msg( 'gadget-protection-' + protectLevel );

		$( '<div>' )
			.addClass( 'mw-indicator Gadget-ProtectionIndicator' )
			.attr( {
				id: 'mw-indicator-protected-' + protectLevel,
				title: protectText
			} )
			.appendTo( $indicators );
	}
}

$( init );

}( mediaWiki, jQuery ) );