Utilisateur:Dr Brains/HistoryAskForOversight.js
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.HistoryAskForOversight_Params = new Array();
HistoryAskForOversight_Texts = new Array()
HistoryAskForOversight_Texts.AskForOversightValue = "Demander le masquage des versions sélectionnées";
HistoryAskForOversight_Texts.NoInputSelected = "Vous devez sélectionner au moins une version";
HistoryAskForOversight_Texts.SiteFrom = "Site ou œuvre copié(e)";
HistoryAskForOversight_Texts.DefaultSiteFrom = "Non spécifié";
HistoryAskForOversight_Texts.Template = "* Titre : $1\n"
+ "* Copie depuis $2\n"
+ "* Diff(s) à masquer : $3 <small>([$4 Lien direct])</small>\n"
+ "~~"+"~~";
if(mw.config.get('wgAction')=="history" /* && mw.config.get('wgUserGroups').indexOf("sysop")==-1 */){
addOnloadHook(HistoryAskForOversight_createPanel);
}
function HistoryAskForOversight_createPanel(){
var History = document.getElementById("pagehistory");
if(!History) return;
var Lis = History.getElementsByTagName('li');
for(var a=0,l=Lis.length;a<l;a++){
var Inputs = Lis[a].getElementsByTagName('input');
var Oldid = Inputs[0].value;
var NbInputs = Inputs.length;
var CheckBox = document.createElement("input");
CheckBox.type = "checkbox";
CheckBox.value = Oldid;
CheckBox.className = "AskForOversight";
var LastInput = Inputs[(NbInputs-1)];
LastInput.parentNode.insertBefore(CheckBox, LastInput);
}
var HistorySubmit = getElementsByClassName(document, "input", "historysubmit");
for(var a=0,l=HistorySubmit.length;a<l;a++){
var ThisHistorySubmit = HistorySubmit[a];
var AskForOversight = document.createElement('input');
AskForOversight.type = "button";
AskForOversight.value = HistoryAskForOversight_Texts.AskForOversightValue;
AskForOversight.onclick = function(){ HistoryAskForOversight_checkPanel() };
AskForOversight.onselect = function(){ HistoryAskForOversight_checkPanel() };
ThisHistorySubmit.parentNode.insertBefore(AskForOversight, ThisHistorySubmit.nextSibling);
}
}
function HistoryAskForOversight_checkPanel(){
var Inputs = getElementsByClassName(document, "input", "AskForOversight");
var Oldids = new Array();
for(var a=0,l=Inputs.length;a<l;a++){
if(!Inputs[a].checked) continue;
Oldids.push(Inputs[a].value);
}
if(Oldids.length==0){
alert(HistoryAskForOversight_Texts.NoInputSelected);
return;
}
var Site = prompt(HistoryAskForOversight_Texts.SiteFrom, "");
var Diff = Inputs[0].value;
var OS_URL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName'))
+ '&action=historysubmit&revisiondelete=1'
+ '&diff=' + Diff
+ '&oldid=' + Oldids[0];
for(var a=0,l=Oldids.length;a<l;a++){
OS_URL += '&ids'+ encodeURIComponent('['+Oldids[a]+']') +'=1'
}
var Titre = mw.config.get('wgPageName').replace(/_/g, " ");
var Template = HistoryAskForOversight_Texts.Template;
Template = Template.split("$1").join(Titre);
Template = Template.split("$2").join((Site ? Site : HistoryAskForOversight_Texts.DefaultSiteFrom));
Template = Template.split("$3").join(Oldids.join(", "));
Template = Template.split("$4").join(OS_URL);
var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + "?title=Wikipédia:Demande_de_purge_d'historique&action=edit§ion=new&editintro=Wikipédia:Demande_de_purge_d'historique/editintro&preloadtitle={{a-court|"+Titre+"}}";
var Ajax = new XMLHttpRequest();
Ajax.onreadystatechange = function() {
if(Ajax.readyState != 4 && Ajax.status != 200) return;
while(document.body.firstChild){ document.body.removeChild(document.body.firstChild); };
document.body.innerHTML = Ajax.responseText;
var TextBox = document.getElementById('wpTextbox1');
if(TextBox){
TextBox.value = Template;
}
}
Ajax.open("GET", URL, true);
Ajax.send(null);
}