Utilisateur:Dr Brains/DeleteDeluxe.js
Apparence
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) ;
Firefox (sur GNU/Linux) / Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.//<source lang=javascript>
//<pre><nowiki>
//////////////////////////////////////////////////////////////////// Compteur de pages liées pour suppression
window.DeleteDeluxe_Init = function(){
var Form = document.getElementById('deleteconfirm');
if(!Form) Form = document.getElementById('mw-img-deleteconfirm');
if(!Form) return;
var TitrePage = mw.config.get('wgPageName').replace(/_/g," ");
var Recapitulatif = document.createElement('div');
var Link = '<span style="font-size:50%">(<a href="'+mw.config.get('wgServer')+mw.config.get('wgArticlePath').split('$1').join('Special:Whatlinkshere/' + encodeURIComponent(TitrePage)) + '" target="_blank" title="Voir les pages liées (nouvel onglet)">détails</a>)</span>';
var RecapText = ''
+ '<h2>Pages liées '+Link+'</h2><ul>'
+ '<li><span id="WhatlinkshereBL">0</span> pages ont un lien vers la page « '+TitrePage + ' »</li>'
+ '<li><span id="WhatlinkshereEI">0</span> pages incluent la page « '+TitrePage + ' »</li>'
+ ( mw.config.get('wgNamespaceNumber') == 6 ? '<li><span id="WhatlinkshereIU">0</span> pages affichent le fichier « '+TitrePage + ' »</li>' : '')
+ '</ul>';
Recapitulatif.innerHTML = RecapText;
Form.parentNode.insertBefore(Recapitulatif, Form.nexSibling );
DeleteDeluxe_GetPageBL();
DeleteDeluxe_GetPageEI();
if(mw.config.get('wgNamespaceNumber') == 6) DeleteDeluxe_GetPageIU();
}
window.DeleteDeluxe_GetNamespaces = function(){
var NS = [];
var NSNames = mw.config.get('wgFormattedNamespaces');
for(var nsnumber in NSNames){
if(!NSNames.hasOwnProperty(nsnumber)) continue;
var thisns = parseInt(nsnumber);
if(thisns>-1) NS.push(nsnumber);
}
return NS.join("|");
}
window.DeleteDeluxe_PagesCount = { "BL":0, "EI":0, "IU":0 };
window.DeleteDeluxe_GetPageBL = function(RequeteContinue){
var Recap = document.getElementById("WhatlinkshereBL");
if(!Recap) return;
var TitrePage = mw.config.get('wgPageName').replace(/_/g," ");
var APILimit = 499;
if((mw.config.get('wgUserGroups').indexOf("sysop")!=-1)||(mw.config.get('wgUserGroups').indexOf("bot")!=-1)) APILimit = 4999;
var queryopt = {
action: 'query',
list: 'backlinks',
bllimit: APILimit,
blnamespace: DeleteDeluxe_GetNamespaces(),
bltitle: TitrePage
}
if(RequeteContinue) queryopt.blcontinue = RequeteContinue;
var api = new mw.Api();
api.get( queryopt ).then( function ( data ) {
if ( data.query.backlinks ) {
var BL = data.query.backlinks.length;
DeleteDeluxe_PagesCount["BL"] = DeleteDeluxe_PagesCount["BL"] + BL;
var MustContinue = data.continue;
if(MustContinue){
Recap.innerHTML = DeleteDeluxe_PagesCount["BL"];
DeleteDeluxe_GetPageBL(MustContinue.blcontinue);
}else{
Recap.innerHTML = '<b>'+DeleteDeluxe_PagesCount["BL"]+'</b>';
}
}
} );
}
window.DeleteDeluxe_GetPageEI = function(RequeteContinue){
var Recap = document.getElementById("WhatlinkshereEI");
if(!Recap) return;
var TitrePage = mw.config.get('wgPageName').replace(/_/g," ");
var APILimit = 499;
if((mw.config.get('wgUserGroups').indexOf("sysop")!=-1)||(mw.config.get('wgUserGroups').indexOf("bot")!=-1)) APILimit = 4999;
var queryopt = {
action: 'query',
list: 'embeddedin',
eilimit: APILimit,
einamespace: DeleteDeluxe_GetNamespaces(),
eititle: TitrePage
}
if(RequeteContinue) queryopt.eicontinue = RequeteContinue;
var api = new mw.Api();
api.get( queryopt ).then( function ( data ) {
if ( data.query.embeddedin ) {
var EI = data.query.embeddedin.length;
DeleteDeluxe_PagesCount["EI"] = DeleteDeluxe_PagesCount["EI"] + EI;
var MustContinue = data.continue;
if(MustContinue){
Recap.innerHTML = DeleteDeluxe_PagesCount["EI"];
DeleteDeluxe_GetPageEI(MustContinue.eicontinue);
}else{
Recap.innerHTML = '<b>'+DeleteDeluxe_PagesCount["EI"]+'</b>';
}
}
} );
}
window.DeleteDeluxe_GetPageIU = function(RequeteContinue){
var Recap = document.getElementById("WhatlinkshereIU");
if(!Recap) return;
var TitrePage = mw.config.get('wgPageName').replace(/_/g," ");
var APILimit = 499;
if((mw.config.get('wgUserGroups').indexOf("sysop")!=-1)||(mw.config.get('wgUserGroups').indexOf("bot")!=-1)) APILimit = 4999;
var queryopt = {
action: 'query',
list: 'imageusage',
iulimit: APILimit,
iunamespace: DeleteDeluxe_GetNamespaces(),
iutitle: TitrePage
}
if(RequeteContinue) queryopt.iucontinue = RequeteContinue;
var api = new mw.Api();
api.get( queryopt ).then( function ( data ) {
if ( data.query.imageusage ) {
var IU = data.query.imageusage.length;
DeleteDeluxe_PagesCount["IU"] = DeleteDeluxe_PagesCount["IU"] + IU;
var MustContinue = data.continue;
if(MustContinue){
Recap.innerHTML = DeleteDeluxe_PagesCount["IU"];
DeleteDeluxe_GetPageEI(MustContinue.iucontinue);
}else{
Recap.innerHTML = '<b>'+DeleteDeluxe_PagesCount["IU"]+'</b>';
}
}
} );
}
if(mw.config.get('wgUserGroups')!=null){
if( (mw.config.get('wgAction') == "delete") && (mw.config.get('wgUserGroups').indexOf("sysop")!=-1) ){
mw.loader.using( ['mediawiki.api'], function(){ $( document ).ready(DeleteDeluxe_Init); });
}
}
//</nowiki></pre></source>{{Boîte déroulante fin}}