MediaWiki:Gadget-BandeauxCategories.js

Une page de Wikipédia, l'encyclopédie libre.
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;

Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
//{{Catégorisation JS|BandeauxCategories}} 
//<source lang=javascript>
//<pre><nowiki>


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/* TODO : extraire les textes du code */

var BandeauxCategories_text_InputOK = "OK";
var BandeauxCategories_text_InputCancel = "Annuler";



var BandeauxCategories_suggestion_delay = 200;

// Groupe nécessaire pour appliquer une balise
window.BandeauxCategories_TagGroup = "user";

window.BandeauxCategories_text_Tag = "";
if(mw.config.get('wgServer') == '//fr.wikipedia.org') window.BandeauxCategories_text_Tag = "BandeauxCategories";


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function BandeauxCategories_gettag(){
    if(!BandeauxCategories_text_Tag || !BandeauxCategories_TagGroup) return false;
    var UserGroups = mw.config.get('wgUserGroups');
    if(UserGroups.indexOf(BandeauxCategories_TagGroup) !== -1) return BandeauxCategories_text_Tag;
    return false;
}

window.BandeauxCategories_PageWikitext = false;

function BandeauxCategories_GetPageWikitext(Mode){
    if(BandeauxCategories_PageWikitext != false) return;
    var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw&oldid=' + mw.config.get('wgCurRevisionId');
    $.ajax({
        url      : URL,
        complete : function(Req){
            var Response = (Req.responseText || "");
            BandeauxCategories_PageWikitext = BandeauxCategories_Clean(Response);
            $(BandeauxCategories_GetTables);
        }
    });
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////

function BandeauxCategories_GetTables(){
    var bodyC = document.getElementById("bodyContent");             // Monobook, Chick, Simple, Myskin, Vector
    if(!bodyC) bodyC = document.getElementById("article");          // Cologneblue, Nostalgia, Standard
    if(!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern
    if(!bodyC) return;
    var TableArray = $(document).find(".bandeau-categorie").toArray();
    if(!TableArray[0]) TableArray[0] = bodyC;
    if(TableArray) BandeauxCategories_ModifyTables(TableArray);
}

function BandeauxCategories_ModifyTables(TableArray){
    var HasCat = false;
    var indexTable = 0;
    var indexTd = 0;
    for(var a=0;a<TableArray.length;a++){
        indexTd = 0;
        var Cadres = TableArray[a].getElementsByTagName("div");
        for(var b=0;b<Cadres.length;b++){
            if($(Cadres[b]).hasClass("cadre_portail")){
                HasCat = true;
                Cadres[b].id = "cadre_categorie_"+indexTable+"_"+indexTd;
                var Cadre = Cadres[b].getElementsByTagName("tr")[0];
                var CadreLiens = document.createElement('td');
                CadreLiens.width = "100px";
                CadreLiens.id = "TDLiens_"+indexTable+"_"+indexTd;
                CadreLiens.valign = "top";
                CadreLiens.innerHTML = '<span style="white-space:nowrap;">'
                                     + '<a class="deletelink" href="javascript:BandeauxCategories_SupprOne('+indexTable+','+indexTd+');" '
                                     + 'title="Supprimer ce bandeau">(-)</a>'
                                     + '<a class="modifylink" href="javascript:BandeauxCategories_ModifyOne('+indexTable+','+indexTd+');" '
                                     + 'title="Modifier ce bandeau">(±)</a>'
                                     + '<a class="addlink" href="javascript:BandeauxCategories_AddOne('+indexTable+','+indexTd+');" '
                                     + 'title="Ajouter un bandeau">(+)</a>'
                                     + '</span>';
                Cadre.appendChild(CadreLiens);
                indexTd++;
            }
        }
        indexTable++;
    }
    if(!HasCat){
        var Cactions = document.getElementById('p-cactions');
        if(Cactions){
            var UL = Cactions.getElementsByTagName('ul')[0];
            if(UL){
                var LI = document.createElement('li');
                LI.innerHTML = '<a href="javascript:BandeauxCategories_CreateBandeau();" title="Ajouter un bandeau de catégorie">Bandeau catégorie</a>';
                UL.appendChild(LI);
                $( Cactions ).removeClass( 'emptyPortlet' );
            }
        }
    }
}

function BandeauxCategories_CreateBandeau(){
    var NewBandeau = $(document).find("div.new-bandeau-categorie").toArray();
    if(NewBandeau.length > 0) return;
    var bodyC = document.getElementById("mw-content-text");             
    if(!bodyC) bodyC = document.getElementById("bodyContent");      // Vector, Monobook et affiliés
    if(!bodyC) bodyC = document.getElementById("article");          // Cologneblue, Nostalgia, Standard
    if(!bodyC) bodyC = document.getElementById("mw_contentholder"); // Modern
    if(!bodyC) return;
    var Cadre = document.createElement('div');
    Cadre.className = "cadre_portail new-bandeau-categorie";
    Cadre.style.clear = ' both'; 
    Cadre.style.margin = '1em 0 0.5em 0'; 
    Cadre.style.border = '1px solid #AAAAAA'; 
    Cadre.style.backgroundColor = ' #F9F9F9'; 
    Cadre.style.color = '#000000'; 
    Cadre.style.lineHeight = '1.25';
    var Table = document.createElement('table');
    var TR = document.createElement('tr');
    Table.appendChild(TR);
    Cadre.appendChild(Table);
    bodyC.insertBefore(Cadre, bodyC.firstChild);
    BandeauxCategories_GetTables();
    var CadreLinks = Cadre.getElementsByTagName("a");
    for(var a=0,l=CadreLinks.length;a<l;a++){
        var thisLink = CadreLinks[a];
        if( $(thisLink).hasClass("deletelink") || $(thisLink).hasClass("modifylink")) thisLink.style.display = "none";
    }
    BandeauxCategories_AddOne(0, 0);
    var CancelInput = document.getElementById("CatCancelZZ0_0");
    if(CancelInput){
        CancelInput.onclick = function(){
            Cadre.parentNode.removeChild(Cadre);
            return false;
        }
    }
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////

function BandeauxCategories_Clean(text){
    text = text.replace(/\{\{multi bandeau\|/ig, "\{\{Multi bandeau\|");
    text = text.replace(/\{\{Multibandeau\|/ig, "\{\{Multi bandeau\|");
    text = text.replace(/\{\{Multi-bandeau\|/ig, "\{\{Multi bandeau\|");
    text = text.replace(/\{\{Multib\|/ig, "\{\{Multi bandeau\|");
    text = text.replace(/\{\{Multi bandeaux\|/ig, "\{\{Multi bandeau\|");
    text = text.replace(/\{\{Duo ébauche\|/ig, "\{\{Multi bandeau\|");
    text = text.replace(/\{\{Trio ébauche\|/ig, "\{\{Multi bandeau\|");
    text = text.replace(/\{\{Duo portail\|/ig, "\{\{Multi bandeau\|");
    text = text.replace(/\{\{Trio portail\|/ig, "\{\{Multi bandeau\|");
    text = text.replace(/\{\{catégorie\|/ig, "\{\{Catégorie\|");
    text = text.replace(/\|catégorie/ig, "\|Catégorie");
    text = text.replace(/\{\{Catégorie /ig, "\{\{Multi bandeau\|Catégorie ");
    return text;
}

function BandeauxCategories_GetTemplateName(indexTable, indexTd){
    var AllTables = new RegExp("\\{\\{Multi bandeau\\|"+ "[^\\}]*" + "\\}\\}", "g");
    var MatchTables = BandeauxCategories_PageWikitext.match(AllTables);
    if(MatchTables!=null){
        for(var a=0;a<MatchTables.length;a++){
            if(a==indexTable){
                var Template = MatchTables[a];
                Template = Template.replace(/\n/g, "");
            }
        }
    }
    if(Template){
        //alert(Template);
        Template = Template.replace(/.*Multi bandeau\|/g, "");
        Template = Template.replace(/\}\}.*/g, "");
        Template = Template.replace(/Catégorie /g, "");
        Templates = Template.split("|");
        for(var a=0;a<Templates.length;a++){
            if(a==indexTd){
                var TheTemplate = Templates[a];
            }
        }
    }
    if(TheTemplate) return TheTemplate;
    return false;
}

function BandeauxCategories_SupprOne(indexTable, indexTd){
    var Cat = BandeauxCategories_GetTemplateName(indexTable, indexTd);
    if(!Cat) return;
    var Text = "Voulez-vous vraiment supprimer le bandeau « Catégorie "+Cat+" » ?";
    var Confirmation = confirm(Text);
    if(!Confirmation) return;
    BandeauxCategories_Edit({SupprCat:Cat}); // -- > EDIT
}

function BandeauxCategories_ModifyOne(indexTable, indexTd){
    var Cat = BandeauxCategories_GetTemplateName(indexTable, indexTd);
    if(!Cat) return;
    BandeauxCategories_CreateForm(indexTable, indexTd, Cat, "Modif");
}

function BandeauxCategories_AddOne(indexTable, indexTd){
    BandeauxCategories_CreateForm(indexTable, indexTd, "", "Add");
}

function BandeauxCategories_CreateForm(indexTable, indexTd, Cat, Mode){
    var TheTd = document.getElementById("TDLiens_"+indexTable+"_"+indexTd);
    TheTd.getElementsByTagName("span")[0].style.display = "none";

    var Form = document.createElement("form");
    Form.id = "CatFormZZ"+indexTable+"_"+indexTd;
    Form.className = Mode;
    Form.method = "post" ;
    Form.onsubmit = function () {
        BandeauxCategories_SubmitForm(BandeauxCategories_GetIndex(this)); 
        return false; 
    } ;
    Form.style.display = "inline" ;
    var text = document.createElement ( "input" ) ;
    text.size = 40 ;
    text.id = "CatInputZZ" + indexTable+"_"+indexTd ;
    text.type = "text" ;
    text.value = Cat ;
    text.onkeyup = function () { 
        window.setTimeout("BandeauxCategories_text_changed('"+BandeauxCategories_GetIndex(this)+"');", BandeauxCategories_suggestion_delay );
    } ;
    var list = document.createElement ( "select" ) ;
    list.id = "CatSelectZZ" + indexTable+"_"+indexTd ;
    list.style.display = "none" ;
    list.onclick = function () { 
        BandeauxCategories_text_replace(BandeauxCategories_GetIndex(this));
    } ;

    var OK = document.createElement ( "input" ) ;
    OK.id = "CatOKZZ" + indexTable+"_"+indexTd ;
    OK.type = "button" ;
    OK.value = BandeauxCategories_text_InputOK ;
    OK.onclick = function(){
        BandeauxCategories_SubmitForm(BandeauxCategories_GetIndex(this)) ;
    }
    var cancel = document.createElement ( "input" ) ;
    cancel.id = "CatCancelZZ" + indexTable+"_"+indexTd ;
    cancel.type = "button" ;
    cancel.value = BandeauxCategories_text_InputCancel ;
    cancel.onclick = function(){
        BandeauxCategories_CancelForm(BandeauxCategories_GetIndex(this)) ;
    }

    Form.appendChild ( text ) ;
    Form.appendChild ( list ) ;
    Form.appendChild ( OK ) ;
    Form.appendChild ( cancel ) ;
    TheTd.appendChild ( Form ) ;
    text.focus () ;
}

function BandeauxCategories_CancelForm(index){
    var TheTd = document.getElementById("TDLiens_"+index);
    TheTd.getElementsByTagName("span")[0].style.display = "";
    var Form = TheTd.getElementsByTagName("form")[0];
    Form.parentNode.removeChild(Form);
}

function BandeauxCategories_SubmitForm(index){
    var NewTemplate = document.getElementById("CatInputZZ"+index).value ;
    if(NewTemplate == "") return;
    var OldTemplate = "";
    var Form = document.getElementById("CatFormZZ"+index) ;
    var Mode = Form.className;
    var EditURL = mw.config.get('wgServer')+mw.config.get('wgScript')+'?title='+encodeURIComponent(mw.config.get('wgPageName'))+'&action=edit';
    var Params = { AddCat:NewTemplate };
    if(Mode=="Modif"){
        var indexTable = parseInt(index.replace(/_.*/g, "")); 
        var indexTd = parseInt(index.replace(/.*_/g, ""))
        OldTemplate = BandeauxCategories_GetTemplateName(indexTable, indexTd);
        Params.SupprCat = OldTemplate;
    }
    if(NewTemplate==OldTemplate){
        BandeauxCategories_CancelForm(index);
        return;
    }
    BandeauxCategories_Edit(Params);  // -- > EDIT
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

var BandeauxCategories_list_size = 5;
var BandeauxCategories_list_items = 10;
var BandeauxCategories_list_down = false;
var BandeauxCategories_suggest_running = false;

function BandeauxCategories_text_changed(index){
    if ( BandeauxCategories_suggest_running ) return ;
    var APILimit = ( ((mw.config.get('wgUserGroups').indexOf("sysop")!=-1)||(mw.config.get('wgUserGroups').indexOf("bot")!=-1)) ? 4999 : 499 );
    if(BandeauxCategories_list_items>APILimit) BandeauxCategories_list_items = APILimit; // API max
    var Input = document.getElementById("CatInputZZ"+index);
    var Text = Input.value;
    var titles = [];
    if(Text !=""){
        var api = new mw.Api();
        api.get({
            action      : 'query', 
            list        : 'allpages', 
            apnamespace : 10,
            apprefix    : "Catégorie "+Text,
            aplimit     : BandeauxCategories_list_items,
            continue    : ''
        }).then( function ( data ) {
            var pages = data.query.allpages;
            if(!pages) return BandeauxCategories_show_suggestions(titles, index);
            for(var a=0,l=pages.length;a<l;a++){
                var title = pages[a].title;
                if(title.indexOf(mw.config.get('wgFormattedNamespaces')[10]+":")!=-1){
                    title = title.split(mw.config.get('wgFormattedNamespaces')[10]+":").join('');
                    title = title.replace(/Catégorie /g, "");
                    titles.push ( title ) ;
                 }
            }
            BandeauxCategories_show_suggestions ( titles, index ) ;
        });
    } else {
        BandeauxCategories_show_suggestions( titles, index) ;
    }
    BandeauxCategories_suggest_running = false ;
}

function BandeauxCategories_show_suggestions (titles, index){
    var text = document.getElementById("CatInputZZ"+index) ;
    var list = document.getElementById("CatSelectZZ"+index) ;
    if(titles.length==0){
        list.style.display = "none" ;
        return ;
    } 
    var listh = BandeauxCategories_list_size * 20 ;
    if (titles.length < BandeauxCategories_list_size) {
        listh = titles.length * 20 ;
    }
    var nl = parseInt ( text.offsetLeft ) - 1 ;
    var nt = parseInt(text.offsetTop) - listh ;
    if (typeof BandeauxCategories_list_down != "undefined" && BandeauxCategories_list_down) {
        nt = text.offsetTop + text.offsetHeight;
    }
    list.size = BandeauxCategories_list_size ;
    if (titles.length < BandeauxCategories_list_size) {
        list.size = titles.length ;
    }
    list.style.align = "left" ;
    list.style.zIndex = 5 ;
    list.style.width = text.offsetWidth + "px" ;
    list.style.height = listh + "px" ;
    list.style.position = "relative" ;
    while ( list.firstChild ) list.removeChild ( list.firstChild ) ;
    for ( var i = 0 ; i < titles.length ; i++ ) {
        var opt = document.createElement ( "option" ) ;
        var ot = document.createTextNode ( titles[i] ) ;
        opt.appendChild ( ot ) ;
        opt.value = titles[i];
        list.appendChild ( opt ) ;
    }  
/*
    if(ListDown){
        list.style.top = parseInt(text.offsetHeight) + "px";
        list.style.marginBottom = "-" + ((TailleListe * 20) + parseInt(text.offsetHeight)) + "px" ;
    }else{
*/
    list.style.marginTop = "-" + listh + "px" ;
//    }
    list.style.marginLeft = "-" + text.offsetWidth + "px" ;

    list.onkeyup = BandeauxCategories_KeypressedOnList;
    list.style.display = "inline" ;
    var first_title = titles.shift () ;
    var last_value = text.value;
    if( first_title == last_value ) return ;
    var suggestion = first_title;
    if (text.createTextRange) {
        var ra = text.createTextRange();
        ra.moveStart("character", last_value.length);
        ra.moveEnd("character", suggestion.length);
        ra.select();
    } else if( text.setSelectionRange ) {
        text.setSelectionRange( last_value.length, suggestion.length );
    } else {
        text.selectionStart = last_value.length ;
        text.selectionEnd = suggestion.length ;
    }
}

function BandeauxCategories_KeypressedOnList(){
    if (!e) var e = window.event;
    if (e.keyCode != 13) return;
    BandeauxCategories_text_replace(BandeauxCategories_GetIndex(this));
}

function BandeauxCategories_text_replace(index){
    var Text = document.getElementById("CatInputZZ"+index) ;
    var List = document.getElementById("CatSelectZZ"+index) ;
    var TextValue = Text.value;
    var Options = List.getElementsByTagName('option');
    for(var a=0;a<Options.length;a++){
        if(Options[a].selected){
            var ListValue = Options[a].value;
            Text.value = ListValue;
            BandeauxCategories_text_changed(index) ;
            Text.focus();
            return;
        }
    }
}

function BandeauxCategories_GetIndex(element){
    var ID = element.id;
    ID = ID.replace(/.*ZZ/ig, "");
    return ID;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////

function BandeauxCategories_Edit(Params){
    if(!Params) return;
    var SupprCat = Params.SupprCat;
    var AddCat = Params.AddCat;
    if(!SupprCat && !AddCat) return;
//    alert("* SupprCat : "+ SupprCat + "\n* AddCat : "+ AddCat);     
    $.ajax({
        url : mw.config.get('wgServer') + mw.config.get('wgScript') + '?title='+encodeURIComponent(mw.config.get('wgPageName')) + "&action=edit",
        complete : function(Req){
            var Text = Req.responseText;
            while(document.body.firstChild){document.body.removeChild(document.body.firstChild);}
            document.body.innerHTML = Req.responseText;
            BandeauxCategories_DoEdit(SupprCat, AddCat);
        }
    });
}

function BandeauxCategories_DoEdit(SupprCat, AddCat){
    var EditForm = document.editform;
    EditForm.style.display = "none";
    var AutoCommit = true;
    var SommaireFinal = "";

    var OldText = document.getElementById("wpTextbox1").value;
    OldText = BandeauxCategories_Clean(OldText);
    if(SupprCat && AddCat){
        //alert("Modification");
        var OldCatRegExp = new RegExp("\\|[ ]*(C|c)atégorie "+SupprCat+"[ ]*(\\||\\})", "ig");
        var OldCatMatches = OldText.match(OldCatRegExp);
        var NewCatRegExp = new RegExp("\\|[ ]*(C|c)atégorie "+AddCat+"[ ]*(\\||\\})", "ig");
        var NewCatMatches = OldText.match(NewCatRegExp);
        if(OldCatMatches==null){
            alert("Erreur : Le bandeau « Catégorie "+SupprCat+" » introuvable.");
            AutoCommit = false;
        }else if(NewCatMatches!=null){
            alert("Erreur : Le bandeau « Catégorie "+AddCat+" » déjà présent.");
            AutoCommit = false;
        }else{
            for(var a=0,l=OldCatMatches.length;a<l;a++){
                var EndMatch = OldCatMatches[a].substring((OldCatMatches[a].length-1), OldCatMatches[a].length);
                if(a==0) OldText = OldText.replace(OldCatMatches[a], "|Catégorie "+AddCat+EndMatch);
                else OldText = OldText.replace(OldCatMatches[a], EndMatch);
            }
            SommaireFinal = "Modification de bandeau de catégorie : "+SupprCat+" -> "+AddCat+" ;";
        }
    }else if(SupprCat && !AddCat){
        //alert("Retrait");
        var OldCatRegExp = new RegExp("\\|[ ]*(C|c)atégorie "+SupprCat+"[ ]*(\\||\\})", "ig");
        var OldCatMatches = OldText.match(OldCatRegExp);
        if(OldCatMatches==null){
            alert("Erreur : Le bandeau « Catégorie "+SupprCat+" » introuvable.");
            AutoCommit = false;
        }else{
            for(var a=0,l=OldCatMatches.length;a<l;a++){
                var EndMatch = OldCatMatches[a].substring((OldCatMatches[a].length-1), OldCatMatches[a].length);
                OldText = OldText.replace(OldCatMatches[a], EndMatch);
            }
            if(OldText.indexOf("{{Multi bandeau}}")!=-1){
                OldText = OldText.split("{{Multi bandeau}}\n").join("");
                OldText = OldText.split("{{Multi bandeau}}").join("");
            }
            SommaireFinal = "Retrait de bandeau de catégorie : "+SupprCat+" ;";
        }
    }else if(AddCat && !SupprCat){
        //alert("Ajout");
        var NewCatRegExp = new RegExp("\\|[ ]*(C|c)atégorie "+AddCat+"[ ]*(\\||\\})", "ig");
        var NewCatMatches = OldText.match(NewCatRegExp);
        if(NewCatMatches!=null){
            alert("Erreur : Le bandeau « Catégorie "+AddCat+" » déjà présent.\n"+NewCatRegExp+"\n\n"+NewCatMatches.join("\n"));
            AutoCommit = false;
        }else{
            var AddedTemplate = false;
            var AllTables = new RegExp("\\{\\{Multi bandeau\\|"+ "[^\\}]*" + "\\}\\}", "g");
            var MatchTables = OldText.match(AllTables);
            if(MatchTables!=null){
                for(var a=0;a<MatchTables.length;a++){
                    var Template = MatchTables[a];
                    var Params = Template.replace(/.*Multi bandeau\|/g, "");
                    Params = Params.replace(/\}\}.*/g, "");
                    Params = Params.split("|");
                    var ParamLength = Params.length;
                    if((ParamLength<9)&&(!AddedTemplate)){
                        var OldParams = Params.join("|");
                        var NewParams = OldParams+"|Catégorie "+AddCat;
                        OldText = OldText.replace(OldParams, NewParams);
                        //alert(OldParams+"\n"+NewParams);
                        SommaireFinal = "Ajout de bandeau de catégorie : "+AddCat+" ;";
                        AddedTemplate = true;
                    }
                }
                if(!AddedTemplate){
                    OldText = OldText.replace(/\{\{Multi bandeau/, "\{\{Multi bandeau\|Catégorie "+AddCat+"\}\}\n\{\{Multi bandeau");
                    SommaireFinal = "Ajout de bandeau de catégorie : "+AddCat+" ;";
                    AddedTemplate = true;
                }
                if(!AddedTemplate){
                    alert("Erreur : Le bandeau « Catégorie "+AddCat+" » n'a pas pû être ajouté.");
                    AutoCommit = false;
                }
            }else{
                OldText = "{{Multi bandeau|Catégorie "+AddCat+"}}\n" + OldText;
                SommaireFinal = "Ajout de bandeau de catégorie : "+AddCat+" ;";
            }
        }
    }
    document.getElementById("wpTextbox1").value = OldText;
    document.getElementById("wpSummary").value = SommaireFinal;
    document.getElementById("wpMinoredit").checked = "checked";

     //AutoCommit = false;
    if(AutoCommit){
        //alert("Publication");
        var datas = {
              action    : 'edit',
              title     : mw.config.get('wgPageName'),
              text      : OldText,
              summary   : SommaireFinal,
              minor     : (document.editform.wpMinoredit.checked ? 1 : 0),
              watchlist : "nochange",
              token     : document.editform.wpEditToken.value
        };
        var BandeauxCategoriestag = BandeauxCategories_gettag();
        if(BandeauxCategoriestag){
            datas.tags = BandeauxCategoriestag;
        }
        var api = new mw.Api();
        api.post( datas, {'contentType':'application/x-www-form-urlencoded'} ).then( function ( data ) {
                  window.location.reload();
        });
    }else{
        EditForm.style.display = "block";
    }
}

if( mw.config.get('wgNamespaceNumber') == 14 && ["view", "purge"].indexOf(mw.config.get('wgAction')) !== -1 ){
// if( mw.config.get('wgNamespaceNumber') == 2 && ["view", "purge"].indexOf(mw.config.get('wgAction')) !== -1 ){
    BandeauxCategories_GetPageWikitext();
}

//</nowiki></pre></source>