Utilisateur:Tractopelle-jaune/RevertDiffPlus.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./**
* Outils pour réverter
*
* fournit des liens dans les pages de diff pour révoquer facilement une modification et avertir son auteur
*
* Auteurs : Lorian (en), Chphe (fr)
* Dernière révision : 27 décembre 2013 — séparation des annulations et révocations
* {{Projet:JavaScript/Script|RevertDiff}}
*
* Version personalisée par Tractopelle-jaune le 24 mars 2018
* Dernière modification : 2021-12-21 (résumé de modification pour révocations et annulations)
*/
//<nowiki>
if (typeof window.RevertDiffParams === 'undefined') {
window.RevertDiffParams = new Object();
window.RevertDiffParams.Text = new Object();
window.RevertDiffParams.Text.Annul = "Annuler";
window.RevertDiffParams.Text.AnnulResume = 'Annulation modifications de [[Special:Contribs/$2|$2]], retour version de [[Special:Contribs/$1|$1]])';
window.RevertDiffParams.Text.Message = "Message";
window.RevertDiffParams.Text.MessageAlert = 'Quel message faut-il laisser ?';
window.RevertDiffParams.Text.Revert = "Révoquer";
window.RevertDiffParams.Text.RevertResume = 'Révocations modifications de [[Spécial:Contribs/$2|$2]], retour version de [[Special:Contribs/$1|$1]]';
window.RevertDiffParams.Text.Warn = "Avertir";
window.RevertDiffParams.Warn = [
{urlparam:"warn=01", text:"Test 0-NoRefs", template:'{{subst:Test 0|$page|$diffnew|sources=oui}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=02", text:"0-Wikif", template:'{{subst:Test 0|$page|$diffnew|wikif=oui}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=03", text:"0-Wikif+LE", template:'{{subst:Test 0|$page|$diffnew|wikif=oui|LE=oui}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=04", text:"0-Wikif+NoRefs", template:'{{subst:Test 0|$page|$diffnew|wikif=oui|sources=oui}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=05", text:"0-Wikif+POV", template:'{{subst:Test 0|$page|$diffnew|wikif=oui|POV=oui}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=06", text:"0-Wikif+POV+NoRefs", template:'{{subst:Test 0|$page|$diffnew|wikif=oui|POV=oui|sources=oui}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=07", text:"0-Wikif+POV+LE", template:'{{subst:Test 0|$page|$diffnew|wikif=oui|POV=oui|LE=oui}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=08", text:"0-LE", template:'{{subst:Test 0|$page|$diffnew|LE=oui}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=09", text:"0-POV", template:'{{subst:Test 0|$page|$diffnew|POV=oui}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=10", text:"0-POV+LE", template:'{{subst:Test 0|$page|$diffnew|POV=oui|LE=oui}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=11", text:"0-POV+NoRefs", template:'{{subst:Test 0|$page|$diffnew|POV=oui|sources=oui}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=12", text:"Test ?", template:'{{subst:Test ?|$page|user=$user}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=13", text:"Test 1", template:'{{subst:Test 1|$page}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=14", text:"Test 2", template:'{{subst:Test 2}}\n\n\'\'\'Page concernée :\'\'\' [[:$page]]\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=15", text:"Test 3", template:'{{subst:Test 3}}\n\n\'\'\'Page concernée :\'\'\' [[:$page]]\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=16", text:"Test 4", template:'{{subst:Seul avertissement}}\n\n\'\'\'Page concernée :\'\'\' [[:$page]]\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=17", text:"Cracra", template:'== Votre modification sur l\'article « [[:$page]] » a été annulée ==\n{{subst:Vandalisme cracra}}\n\n--~~~~'},
{urlparam:"warn=18", text:"Mort 1", template:'{{subst:Faux décès|$page}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=19", text:"Mort 2", template:'{{subst:Faux décès 2|$page}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=20", text:"Copyvio S.", template:'{{subst:Avertissement Copyvio Synopsis|$page}}\n\n--~~~~'},
{urlparam:"warn=21", text:"Copyvio 1", template:'{{subst:Avertissement Copyvio|$page}}\n\n--~~~~'},
{urlparam:"warn=22", text:"Copyvio 2", template:'{{subst:Dernier avertissement Copyvio|$page}}\n\n--~~~~'},
{urlparam:"warn=23", text:"Copyvio 4", template:'{{subst:Bienvenue Copyvio 4|$page}}\n\n--~~~~'},
{urlparam:"warn=24", text:"Retrait 1", template:'{{subst:Retrait injustifié|$page}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=25", text:"Retrait 2", template:'{{subst:Test 2-}}\n\n\'\'\'Page concernée :\'\'\' [[:$page]]\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=26", text:"Ajout POV", template:'{{subst:Ajout POV|$page|$diffnew}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=27", text:"Non-encyclo", template:'{{subst:Non-encyclo|$page}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=28", text:"No ref wiki", template:'{{subst:No ref wiki|$page|user=$user}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=29", text:"LE HC", template:'{{subst:Bienvenue spammeur|$page}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=30", text:"LE spam", template:'{{subst:Bienvenue spammeur|$page|spam=oui}}\n\n\'\'\'Exemple :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=31", text:"Plaquette pub", template:'{{subst:Conflit d\'intérêts|$page}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=32", text:"Sourcer 1", template:'{{subst:Faut sourcer|$page}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=33", text:"Sourcer 2", template:'{{subst:Faut sourcer 2|$page}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=34", text:"Cassage hist. 1", template:'== Cassage d\'historique lors du renommage de « [[:$page]] » ==\n{{subst:Bienvenue copié collé|$page}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=35", text:"Cassage hist. 2", template:'== Cassage d\'historique lors du renommage de « [[:$page]] » ==\n{{Copier-coller}}\n\n\'\'\'Page concernée :\'\'\' [[:$page]]\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=36", text:"Cassage syntaxe", template:'{{subst:Réparation|$page|$diffnew}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=37", text:"AutoTranslate", template:'{{subst:Traduction automatique|$page|user=$user}}\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'},
{urlparam:"warn=38", text:"BienvenueIP", template:'{{Bienvenue IP méritante|$user|message=Je vous remercie pour [[Spécial:Diff/$diffold/$diffnew|vos apports]] à l\'article « \'\'\'[[:$page]]\'\'\' ».\n\nC\'est ainsi que l\'encyclopédie progresse.\n\n[[Wikipédia:N\'hésitez pas !|N\'hésitez pas]] à faire d\'autres modifications !|sign=~~~~}}'},
{urlparam:"warn=39", text:"MerciIP", template:'{{subst:Merci IP|raison=[[Spécial:Diff/$diffold/$diffnew|vos apports]] à l\'encyclopédie, notamment à l\'article « \'\'\'[[:$page]]\'\'\' »}}\n\n--~~~~'},
{urlparam:"warn=40", text:"Transparence", template:'{{subst:Transparence}}\n\n--~~~~'},
{urlparam:"warn=41", text:"U-R3R", template:'{{subst:U-R3R|$page}}\n\n--~~~~'},
{urlparam:"warn=42", text:"Article signé", template:'{{subst:Signature}}\n\n\'\'\'Page concernée :\'\'\' [[:$page]]\n\n\'\'\'Modifications concernées :\'\'\' [[Spécial:Diff/$diffold/$diffnew]]\n\n--~~~~'}
];
}
function getURLParameters(x) {
var questionMark = x.indexOf('?');
if (questionMark == -1) return {}
var fieldsArray = x.substr(questionMark + 1).split('&');
var fields = {};
for (var i = 0; i < fieldsArray.length; i++) {
var field = fieldsArray[i];
var equal = field.indexOf('=');
if (equal == -1) {
fields[decodeURIComponent(field)] = '';
} else {
fields[decodeURIComponent(field.substr(0, equal))] =
decodeURIComponent(field.substr(equal + 1));
}
}
return fields;
}
var _GET = getURLParameters(location.href);
window.getMessage = function(chemin, where, user1, user2) {
var message = prompt (window.RevertDiffParams.Text.MessageAlert, '');
if (message) {
window.location = chemin + '&'+where+'=2&user1='+user1+'&user2='+user2+'&message='+message;
}
};
$(document).ready(function (){
if (location.href.match(/diff=/)) {
// Get username of submitter
var user1TD = $('td.diff-otitle');
var user2TD = $('td.diff-ntitle');
if (!user1TD.length || !user2TD.length) return;
// Récupération du chemin vers la version à rétablir
var chemin = encodeURI(user1TD.find('span.mw-diff-edit a').attr('href'));
// Récupération des 2 diffs avant-après
var diffOld = _GET['oldid'];
var diffNew = _GET['diff'];
var user1 = user1TD.find('a.mw-userlink').text();
var user2 = user2TD.find('a.mw-userlink').text();
var Annul = '('
+ '<a href="'+chemin+'&annul=1&user1='+user1+'&user2='+user2+'">'+window.RevertDiffParams.Text.Annul+'</a>'
+ ' / '
+ '<a href="javascript:window.getMessage(\''+chemin+'\',\'annul\',\''+user1+'\',\''+user2+'\');">'+window.RevertDiffParams.Text.Message+'</a>'
+ ')';
var Revert = '('
+ '<a href="'+chemin+'&revert=1&user1='+user1+'&user2='+user2+'">'+window.RevertDiffParams.Text.Revert+'</a>'
+ ' / '
+ '<a href="javascript:window.getMessage(\''+chemin+'\',\'revert\',\''+user1+'\',\''+user2+'\');">'+window.RevertDiffParams.Text.Message+'</a>'
+ ')';
var Warn = '('+window.RevertDiffParams.Text.Warn+' : ';
var SiteURL = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=';
for(var a=0,l=window.RevertDiffParams.Warn.length;a<l;a++){
if(a!=0) Warn += ' / ';
Warn += '<a href="'+SiteURL+'User_talk:'+user2+'&action=edit§ion=new&diffold='+diffOld+'&diffnew='+diffNew+''
+ '&revertdiffsrc=' + encodeURIComponent(mw.config.get('wgPageName'))
+ '&'+window.RevertDiffParams.Warn[a].urlparam+'" '
+ 'title="'+window.RevertDiffParams.Warn[a].template+'" '
+ '>'+window.RevertDiffParams.Warn[a].text+'</a>';
}
Warn += ')';
document.getElementById('contentSub').innerHTML = Annul + " " + Revert + " " + Warn;
}else if (location.href.match(/annul=1/)) {
document.getElementById('wpSummary').value = window.RevertDiffParams.Text.AnnulResume.split("$1").join(_GET['user1']).split("$2").join(_GET['user2']);
document.getElementById('editform').submit();
}else if (location.href.match(/annul=2/)) {
document.getElementById('wpSummary').value = window.RevertDiffParams.Text.AnnulResume.split("$1").join(_GET['user1']).split("$2").join(_GET['user2']) + ' : '+_GET['message'];
document.getElementById('editform').submit();
}else if (location.href.match(/revert=1/)) {
document.getElementById('wpSummary').value = window.RevertDiffParams.Text.RevertResume.split("$1").join(_GET['user1']).split("$2").join(_GET['user2']);
document.getElementById('editform').submit();
}else if (location.href.match(/revert=2/)) {
document.getElementById('wpSummary').value = window.RevertDiffParams.Text.RevertResume.split("$1").join(_GET['user1']).split("$2").join(_GET['user2']) + ' : '+_GET['message'];
document.getElementById('editform').submit();
}else{
for(var a=0,l=window.RevertDiffParams.Warn.length;a<l;a++){
var Warn = window.RevertDiffParams.Warn[a];
if (location.href.match(new RegExp(Warn.urlparam))) {
var Template = Warn.template;
Template = Template.split('$page').join(_GET['revertdiffsrc'].replace(/_/g, " "));
Template = Template.split('$user').join(mw.config.get('wgUserName'));
Template = Template.split('$diffold').join(_GET['diffold']);
Template = Template.split('$diffnew').join(_GET['diffnew']);
document.getElementById('wpTextbox1').value = Template;
document.getElementById('editform').submit();
}
}
}
});
//</nowiki>