MediaWiki:Gadget-ProtectionTemplates.js

Uit Wikipedia, de vrije encyclopedie

Opmerking: nadat u de wijzigingen hebt gepubliceerd is het wellicht nodig uw browsercache te legen.

  • Firefox / Safari: houd Shift ingedrukt terwijl u op Vernieuwen klikt of druk op Ctrl-F5 of Ctrl-R (⌘-Shift-R op een Mac)
  • Google Chrome: druk op Ctrl-Shift-R (⌘-Shift-R op een Mac)
  • Internet Explorer / Edge: houd Ctrl ingedrukt terwijl u op Vernieuwen klikt of druk op Ctrl-F5
  • Opera: druk op Ctrl-F5.
/**
 * Display templates on protected pages.
 * @author Erwin ([[m:User:Erwin]]), 2010
 * @author Krinkle, 2010-2015
 * @author Bas_dehaan, 2023
 * @source https://nl.wikipedia.org/wiki/MediaWiki:Gadget-ProtectionTemplates.js
 */
/* Depends on:
 * [[Template:Beveiligd]]
 * [[Template:TitelBeveiligd]]
 * [[Template:AanmaakBeveiligd]]
 * [[Template:UitgebreidBeveiligd]]
 * [[Template:UitgebreidTitelBeveiligd]]
 * [[Template:UitgebreidAanmaakBeveiligd]]
 * [[Template:Semibeveiligd]]
 * [[Template:SemiAanmaakBeveiligd]]
 */
( function () {
    // Ignore main page.
	if ( mw.config.get( 'wgIsMainPage' )) {
		return;
	}

    // Determine which template to use
	if ( mw.config.get( 'wgArticleId' )) {
		// If page exist, check for either edit or move protection
		if ( mw.config.get( 'wgRestrictionEdit' ) &&  mw.config.get( 'wgRestrictionEdit' ).length !== 0 ) {
			// If edit restriction is in place, check which one
			switch (mw.config.get( 'wgRestrictionEdit' )[0]) {
    			case 'sysop':
        			addTemplate('Beveiligd');
        			break;
    			case 'extendedconfirmed':
        			addTemplate('UitgebreidBeveiligd');
        			break;
    			case 'autoconfirmed':
        			addTemplate('Semibeveiligd');
        			break;
    			default:
    				// Unknown protection
                	console.log("Gadget-ProtectionTemplates.js: Unknown edit protection");
                    return;
			}
		} else if (mw.config.get( 'wgRestrictionMove' ) && mw.config.get( 'wgRestrictionMove' ).length !== 0) {
			// If move restriction is in place, check which one
			switch (mw.config.get( 'wgRestrictionMove' )[0]) {
    			case 'sysop':
        			addTemplate('TitelBeveiligd');
        			break;
    			case 'extendedconfirmed':
    				addTemplate('UitgebreidTitelBeveiligd');
        			break;
        		// non-autoconfirm can never move, so no separate protection for that
    			default:
    				// Unknown protection
                	console.log("Gadget-ProtectionTemplates.js: Unknown move protection");
                    return;
			}
		}
	} else {
		if (mw.config.get( 'wgRestrictionCreate' ) && mw.config.get( 'wgRestrictionCreate' ).length !== 0) {
			// If create restriction is in place, check which one
				switch (mw.config.get( 'wgRestrictionCreate' )[0]) {
    			case 'sysop':
        			addTemplate('AanmaakBeveiligd');
        			break;
    			case 'extendedconfirmed':
    				addTemplate('UitgebreidAanmaakBeveiligd');
        			break;
        		case 'autoconfirmed':
        			addTemplate('SemiAanmaakBeveiligd');
        			break;
    			default:
    				// Unknown protection
                	console.log("Gadget-ProtectionTemplates.js: Unknown create protection");
                    return;
			}
		}
	}
	return;
}() );

function addTemplate(templateTitle) {
	// Get template from API
	$.get( mw.util.wikiScript( 'api' ), {
		format: 'json',
		action: 'parse',
		text: '\{\{' + templateTitle + '\}\}',
		title: mw.config.get( 'wgPageName' ),
		contentmodel: 'wikitext'
	}, function ( json ) {
		if ( json && json.parse && json.parse.text && json.parse.text['*'] ) {
			var $icon = $( '<div class="Top_icon_dynamic"></div>' ).html( json.parse.text['*'] );
			// Wait for DOM ready
			$( function () {
				$( '#firstHeading' ).prepend( $icon );
			} );
		}
	} );
}