MediaWiki:Gadget-FastRevert.js
Note : après avoir publié vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
- Firefox / Safari : maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou appuyez sur Ctrl + F5 ou Ctrl + R (⌘ + R sur un Mac).
- Google Chrome : appuyez sur Ctrl + Maj + R (⌘ + Shift + R sur un Mac).
- Internet Explorer / Edge : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl + F5.
- Opera : appuyez sur Ctrl + F5.
// ********************************************************************
// Ce gadget a été modifié ici sur wikibooks :
// - DavidL : Utilisation de l'API DOM pour générer les balises
// HTML au lieu de innerHtml qui supprime les
// gestionnaires d'évènements.
// ********************************************************************
// TOUTE MISE À JOUR DOIT PRENDRE EN COMPTE LES MODIFICATIONS CI-DESSUS
// ********************************************************************
/**
[[Catégorie:MediaWiki:Fonction Monobook en JavaScript|FastRevert]]
************* FastRevert *******************
* Permet de rétablir une ancienne version. *
* *
* Auteur : Quentinv57, pour Wikimedia *
* -- 06 février 2010 -- *
********************************************
*/
if (location.href.match(/&action=history/))
$( function ()
{
function set()
{
this.arr=[];
this.add1=function(e) { if (this.arr.indexOf(e)<0) this.arr.push(e); };
this.add=function() { for(var i=0;i<arguments.length;i++) this.add1(arguments[i]); };
for(var i=0;i<arguments.length;i++) this.add1(arguments[i]);
this.toString=function(){ return this.arr.toString(); };
}
var chemin = mw.config.get('wgScript') + '?action=edit&retablir';
var pagehistory = document.getElementById('pagehistory');
if (!pagehistory) return;
pagehistory = pagehistory.getElementsByTagName('li');
var user2 = new set();
for (x=0;x<pagehistory.length;x++)
{
var elem = pagehistory[x];
if (!elem || !elem.getElementsByTagName) continue;
var links = elem.getElementsByTagName('a');
if (!links || links.length<3) continue;
if (x==0)
{
user2.add(getTextContent(links[2]));
}
else if (links.length>3 && links[2].href)
{
var iu = (getTextContent(links[1])=='diff')?3:2;
var user = getTextContent(links[iu]), loc = links[iu-1].href;
var mres = loc.match('&oldid=([0-9]+)');
if (mres && mres.length>1)
{
var oldid = mres[1];
appendDOM(elem,
'(',
['a',{'href':chemin+'&oldid='+oldid+'&user='+encodeURIComponent(user)+'&user2='+encodeURIComponent(user2.toString())},'rétablir'],
')');
}
user2.add(user);
}
}
});
else if (location.href.match(/&retablir&/))
$( function ()
{
// _GET code from NoGray JS Library http://www.nogray.com/new_site/
var _GET = new Array();
var _uri = location.href;
var _temp_get_arr = _uri.substring(_uri.indexOf('?')+1, _uri.length).split("&");
var _temp_get_arr_1 = new Array();
for(_get_arr_i=0; _get_arr_i<_temp_get_arr.length; _get_arr_i++)
{
_temp_get_arr_1 = _temp_get_arr[_get_arr_i].split("=");
_GET[decodeURI(_temp_get_arr_1[0])] = decodeURI(_temp_get_arr_1[1]);
}
delete _uri; delete _temp_get_arr; delete _temp_get_arr_1;
var message = prompt ('Quel message faut-il laisser ?', 'Révocation des modifications de [[Spécial:Contributions/'+_GET['user2']+'|'+_GET['user2']+']]');
if (message)
{
document.getElementById('wpSummary').value = message + ' ; Retour à la version '+_GET['oldid']+' de [[Spécial:Contributions/'+_GET['user']+'|'+_GET['user']+']]';
document.getElementById('editform').submit();
}
else window.history.back();
});