MediaWiki:Gadget-ProtectionIndicators.js

( function {

function setMessages { mw.messages.set( {		'gadget-protection-autoconfirmed': 'This page has been semi-protected.',		'gadget-protection-editprotected': 'This page is fully-protected.'	} ); switch ( mw.config.get( 'wgUserLanguage' ) ) { case 'be-tarask': mw.messages.set( {				'gadget-protection-autoconfirmed': 'Гэтая старонка часткова абароненая.',				'gadget-protection-editprotected': 'Гэтая старонка цалкам абароненая.'			} ); break; case 'de': mw.messages.set( {				'gadget-protection-autoconfirmed': 'Diese Seite ist halbgeschützt.',				'gadget-protection-editprotected': 'Diese Seite ist vollgeschützt.'			} ); break; case 'mk': mw.messages.set( {				'gadget-protection-autoconfirmed': 'Страницава е полузаштитена.',				'gadget-protection-editprotected': 'Страницава е наполно заштитена.'			} ); break; case 'nl': mw.messages.set( {				'gadget-protection-autoconfirmed': 'Deze pagina is semi-beveiligd.',				'gadget-protection-editprotected': 'Deze pagina is volledig beveiligd.'			} ); break; case 'pl': mw.messages.set( {				'gadget-protection-autoconfirmed': 'Ta strona została zabezpieczona na poziomie niskim.',				'gadget-protection-editprotected': 'Ta strona została zabezpieczona na poziomie wysokim.'			} ); break; } }

function init { var restrictions = mw.config.get( 'wgRestrictionEdit' ); var action = mw.config.get( 'wgAction' ); var isMainPage = mw.config.get( 'wgIsMainPage' );

if ( restrictions && restrictions.length && action === 'view' && !isMainPage ) { var protectLevel; if ( restrictions.indexOf( 'sysop' ) !== -1 ) { protectLevel = 'editprotected'; } else if ( restrictions.indexOf( 'autoconfirmed' ) !== -1 ) { protectLevel = 'autoconfirmed'; } else { return; }

var $indicators = $( '.mw-indicators' ).first; if ( $indicators.find( '#mw-indicator-protected' ).length ) { return; }

setMessages;

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

$( ' ' )			.prop( {				id: 'mw-indicator-protect-' + protectLevel,				title: protectText,				alt: protectText,				className: 'mw-indicator mw-indicator-protect'			} ) .appendTo( $indicators ); } }

$( init );

} );