Naar inhoud springen

MediaWiki:Gadget-ProtectionTemplates.js: verschil tussen versies

Uit Wikipedia, de vrije encyclopedie
Verwijderde inhoud Toegevoegde inhoud
Using new Top icon system now (see common js/css)
quick fix
Regel 19: Regel 19:
// Determine template.
// Determine template.
if (wgRestrictionEdit[0] != null && wgRestrictionEdit[0] == 'sysop') {
if ( window.wgRestrictionEdit && wgRestrictionEdit.length && wgRestrictionEdit[0] == 'sysop') {
// Editing is limited to sysops.
// Editing is limited to sysops.
var templateTitle = 'Beveiligd';
var templateTitle = 'Beveiligd';

Versie van 16 feb 2011 12:05

// <source lang='javascript'>
/**
 * Protection templates
 * Written by: Erwin
 * Description: Display templates on protected pages.
 *
 */
 function protectionTemplates() {
    if (wgPageName == wgMainPageTitle) {
        // The current page is the main page. So quit.
        return false;
    }

    var content = document.getElementById('content');   
    if (content == null || document.getElementsByTagName('h1')[0] == null) {
        // There is no 'content' element and/or no h1 element. So quit.
        return false;
    }
       
    // Determine template.
    if ( window.wgRestrictionEdit && wgRestrictionEdit.length && wgRestrictionEdit[0] == 'sysop') {
        // Editing is limited to sysops.
        var templateTitle = 'Beveiligd';
        var nodeId = 'tpl_Beveiligd';
    } else if (wgRestrictionEdit[0] != null && wgRestrictionEdit[0] == 'autoconfirmed') {
        // Editing is limited to autoconfirmed users.
        var templateTitle = 'Semibeveiligd';
        var nodeId = 'tpl_Semibeveiligd';
    } else if (wgRestrictionMove[0] != null) {
        // Moving the page is limited.
        var templateTitle = 'TitelBeveiligd';
        var nodeId = 'tpl_TitelBeveiligd';
    } else {
        // The page is not protected.
        return false;
    }

    // Get template from API.
    var request = sajax_init_object ();      
    request.open('GET', wgServer + wgScriptPath + '/api.php?format=json&action=parse&text={{' + encodeURIComponent(templateTitle) + '}}&title=' + encodeURIComponent(wgPageName), true);
    request.onreadystatechange =
    function () {
        if (request.readyState != 4) return;
        if (request.status == 200 && request.responseText && request.responseText.charAt(0) == '{') {
            var json = eval ('(' + request.responseText + ')');
            if (json.parse.text['*']) {
                var divContent = json.parse.text['*'];
            }
        }
        
        if (divContent != null) {
            // We retrieved the template. Add it to the page.
            var divNode = document.createElement('div');
            divNode.id = nodeId;
            divNode.className = 'Top_icon_dynamic';
            divNode.innerHTML = divContent;
            jQuery( 'h1:first' ).prepend( divNode );
        }
    };
    request.setRequestHeader ('Pragma', 'cache=yes');
    request.setRequestHeader ('Cache-Control', 'no-transform');
    request.send (null); 
}

addOnloadHook(protectionTemplates);
// </source>