« MediaWiki:Gadget-RevertDiff.js » : différence entre les versions

Contenu supprimé Contenu ajouté
RegExp.test(S) plus rapide que String.match(R)
Voir http://fr.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:Demande_d%27intervention_sur_un_message_syst%C3%A8me&oldid=87410401#MediaWiki:Gadget-RevertDiff.js
Ligne 1 :
/**
* Outils pour révoquer des modifications.réverter
*
* Fournitfournit des liens dans les pages de diff pour révoquer facilement une modification et avertir son auteur
*
* Auteurs : Lorian (en), Chphe (fr), DavidL
* Dernière révision : 113 maiseptembre 2012 pour le projet Aide et accueil
* {{Projet:JavaScript/Script|RevertDiff}}
* [[Catégorie:MediaWiki:Fonction Monobook en JavaScript]]
*/
//<nowiki>
wgGadget_RevertDiffJsVersion = "20120602001";
 
// _GET code from NoGray JS Library http://www.nogray.com/new_site/
var _GET = {}new Array();
var _GET_size_uri = 0location.href;
 
var _temp_get_arr = _uri.substring(_uri.indexOf('?')+1, _uri.length).split("&");
{
 
var _uri = location.href;
var i_temp_get_arr_1 = _uri.indexOfnew Array('?');
 
if (i>0)
for(_get_arr_i=0; _get_arr_i<_temp_get_arr.length; _get_arr_i++){
{
var _temp_get_arr _temp_get_arr_1 = _uri.substring(i+1, _uri.length)_temp_get_arr[_get_arr_i].split("&=");
_GET[decodeURI(_temp_get_arr_1[0])] = decodeURI(_temp_get_arr_1[1]);
for(_get_arr_i=0; _get_arr_i<_temp_get_arr.length; _get_arr_i++)
{
var _temp_get_arr_1 = _temp_get_arr[_get_arr_i].split("=");
_GET[decodeURIComponent(_temp_get_arr_1[0])] = decodeURIComponent(_temp_get_arr_1[1]);
_GET_size++;
}
}
}
 
delete _uri; delete _temp_get_arr; delete _temp_get_arr_1;
function getMessage (chemin, where, user1, user2)
 
{
function getMessage (chemin, where, user1, user2) {
var message = prompt ('Quel message faut-il laisser ?', '');
if (message) {
window.location = chemin + '&'+where+'=2&user1='+user1+'&user2='+user2+'&message='+message;
}
}
 
addOnloadHook(function (){
if (_GET_size>0)
if (location.href.match(/diff=/)) {
addOnloadHook(function ()
// Get username of submitter
{
var user1 = getElementsByClass('diff-otitle',null,'td');
if (/diff=/.test(location.href))
{
// Get username of submitter
var user1 = getElementsByClass('diff-otitle',null,'td');
if(user1.length == 0) return;
 
if(user1.length == 0) return;
// Récupération du chemin vers la version à rétablir
var chemin = encodeURI(user1[0].getElementsByTagName('a')[1].href);
user1 = user1[0].getElementsByTagName('a')[2].innerHTML;
 
// Récupération du chemin vers la version à rétablir
var user2 = getElementsByClass('diff-ntitle',null,'td');
var user2chemin = user2encodeURI(user1[0].getElementsByTagName('a')[21].innerHTMLhref);
user1 = user1[0].getElementsByTagName('a')[2].innerHTML;
if (user2 == "défaire")
{
user2 = getElementsByClass('diff-ntitle',null,'td');
user2 = user2[0].getElementsByTagName('a')[3].innerHTML;
}
 
var user2 = getElementsByClass('diff-ntitle',null,'td'); user2 = user2[0].getElementsByTagName('a')[2].innerHTML;
setDOM(document.getElementById('contentSub'),
if (user2 == '(',"défaire"){
user2 = getElementsByClass('diff-ntitle',null,'td'); user2 = user2[0].getElementsByTagName('a')[3].innerHTML;
['a',{'href':chemin+'&revert=1&user1='+user1+'&user2='+user2},'Annuler'],
' / ',
['a',{'href':'javascript:'+
'getMessage("'+chemin+'", "revert", "'+user1+'", "'+user2+'");'},
'Message'],
') (',
['a',{'href':chemin+'&vandalism=1&user1='+user1+'&user2='+user2},'Vandalisme'],
' / ',
['a',{'href':'javascript:'+
'getMessage("'+chemin+'", "vandalism", "'+user1+'", "'+user2+'");'},
'Message'],
') (Avertir : ',
['a',{'href':localurl(getpagename(3,user2),'action=edit','section=new','warn=1')},'Test0'],
' / ',
['a',{'href':localurl(getpagename(3,user2),'action=edit','section=new','warn=2')},'Test1'],
' / ',
['a',{'href':localurl(getpagename(3,user2),'action=edit','section=new','warn=3')},'Test2'],
' / ',
['a',{'href':localurl(getpagename(3,user2),'action=edit','section=new','warn=4')},'Test3'],
' / ',
['a',{'href':localurl(getpagename(3,user2),'action=edit','section=new','warn=5')},'Spam'],
' / ',
['a',{'href':localurl(getpagename(3,user2),'action=edit','section=new','warn=6')},'Copieur'],
' / ',
['a',{'href':localurl(getpagename(3,user2),'action=edit','section=new','warn=7')},'Merci IP'],
' / ',
['a',{'href':localurl(getpagename(3,user2),'action=edit','section=new','warn=8')},'Bienvenue'],
')' );
}
else if (/revert=1/.test(location.href))
{
document.getElementById('wpSummary').value =
'Révocation des modifications par [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+
']] ; retour à la version de [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']]';
document.getElementById('editform').submit();
}
else if (/revert=2/.test(location.href))
{
document.getElementById('wpSummary').value =
'Révocation des modifications par [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+
']] ; retour à la version de [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+
']] ('+_GET['message']+')';
document.getElementById('editform').submit();
}
else if (/vandalism=1/.test(location.href))
{
document.getElementById('wpSummary').value =
'Révocation de vandalisme par [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+
']] ; retour à la version de [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']]';
document.getElementById('editform').submit();
}
else if (/vandalism=2/.test(location.href))
{
document.getElementById('wpSummary').value =
'Révocation de vandalisme par [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+
']] ; retour à la version de [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+
']] ('+_GET['message']+')';
document.getElementById('editform').submit();
}
else if (/warn=1/.test(location.href))
{
document.getElementById('wpSummary').value = 'Avertissement';
document.getElementById('wpTextbox1').value = '{'+'{sub'+'st:test 0}'+'}~~'+'~~';
document.getElementById('editform').submit();
}
else if (/warn=2/.test(location.href))
{
document.getElementById('wpSummary').value = 'Avertissement';
document.getElementById('wpTextbox1').value = '{'+'{sub'+'st:test 1}'+'}~~'+'~~';
document.getElementById('editform').submit();
}
else if (/warn=3/.test(location.href))
{
document.getElementById('wpSummary').value = 'Avertissement';
document.getElementById('wpTextbox1').value = '{'+'{sub'+'st:test 2}'+'}~~'+'~~';
document.getElementById('editform').submit();
}
else if (/warn=4/.test(location.href))
{
document.getElementById('wpSummary').value = 'Avertissement';
document.getElementById('wpTextbox1').value = '{'+'{sub'+'st:test 3}'+'}~~'+'~~';
document.getElementById('editform').submit();
}
else if (/warn=5/.test(location.href))
{
document.getElementById('wpSummary').value = 'Spam';
document.getElementById('wpTextbox1').value = '{'+'{sub'+'st:Spam}'+'}~~'+'~~';
document.getElementById('editform').submit();
}
else if (/warn=6/.test(location.href))
{
document.getElementById('wpSummary').value = 'Avertissement';
document.getElementById('wpTextbox1').value = '{'+'{sub'+'st:Copieur}'+'}~~'+'~~';
document.getElementById('editform').submit();
}
else if (/warn=7/.test(location.href))
{
document.getElementById('wpSummary').value = 'Merci IP';
document.getElementById('wpTextbox1').value = '{'+'{sub'+'st:Merci IP}'+'}~~'+'~~';
document.getElementById('editform').submit();
}
else if (/warn=8/.test(location.href))
{
document.getElementById('wpSummary').value = 'Bienvenue';
document.getElementById('wpTextbox1').value = '{'+'{sub'+'st:Bienvenue}'+'}~~'+'~~';
document.getElementById('editform').submit();
}
}
 
);
document.getElementById('contentSub').innerHTML = '(<a href="'+chemin+'&revert=1&user1='+user1+'&user2='+user2+'">Annuler</a> / <a href="javascript:var message = getMessage(\''+chemin+'\', \'revert\', \''+user1+'\', \''+user2+'\');">Message</a>) (<a href="'+chemin+'&vandalism=1&user1='+user1+'&user2='+user2+'">Vandalisme</a> / <a href="javascript:var message = getMessage(\''+chemin+'\', \'vandalism\', \''+user1+'\', \''+user2+'\');">Message</a>) (Avertir : <a href="//fr.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit&section=new&warn=1">Maladresse</a> / <a href="//fr.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit&section=new&warn=2">Vandalisme</a> / <a href="//fr.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit&section=new&warn=3">Test2</a> / <a href="//fr.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit&section=new&warn=4">Test3</a> / <a href="//fr.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit&section=new&warn=5">Test4</a> / <a href="//fr.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit&section=new&warn=6">Lien externe</a> / <a href="//fr.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit&section=new&warn=7">Faut sourcer</a> / <a href="//fr.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit&section=new&warn=8">Bienvenue</a> / <a href="//fr.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit&section=new&warn=9">BienvenueIP</a> / <a href="//fr.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit&section=new&warn=0">MerciIP</a>';
} else if (location.href.match(/revert=1/)) {
document.getElementById('wpSummary').value = 'Révocation des modifications de [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] (retour à la précédente version de [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']])';
document.getElementById('editform').submit();
} else if (location.href.match(/revert=2/)) {
document.getElementById('wpSummary').value = 'Révocation des modifications de [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] (retour à la précédente version de [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']]) : '+_GET['message']+'';
document.getElementById('editform').submit();
} else if (location.href.match(/vandalism=1/)) {
document.getElementById('wpSummary').value = 'Révocation de vandalisme par [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] (retour à la précédente version de [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']])';
document.getElementById('editform').submit();
} else if (location.href.match(/vandalism=2/)) {
document.getElementById('wpSummary').value = 'Révocation de vandalisme par [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] (retour à la précédente version de [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']]) : '+_GET['message']+'';
document.getElementById('editform').submit();
} else if (location.href.match(/warn=1/)) {
document.getElementById('wpTextbox1').value = '{{subst:Test 0}} ~~'+'~~';
document.getElementById('editform').submit();
} else if (location.href.match(/warn=2/)) {
document.getElementById('wpTextbox1').value = '{{subst:Test 1}} ~~'+'~~';
document.getElementById('editform').submit();
} else if (location.href.match(/warn=3/)) {
document.getElementById('wpSummary').value = 'Avertissement';
document.getElementById('wpTextbox1').value = '{{test 2}} ~~'+'~~';
document.getElementById('editform').submit();
} else if (location.href.match(/warn=4/)) {
document.getElementById('wpSummary').value = 'Dernier avertissement';
document.getElementById('wpTextbox1').value = '{{test 3}} ~~'+'~~';
document.getElementById('editform').submit();
} else if (location.href.match(/warn=5/)) {
document.getElementById('wpSummary').value = 'Unique avertissement';
document.getElementById('wpTextbox1').value = '{{test 4}} ~~'+'~~';
document.getElementById('editform').submit();
} else if (location.href.match(/warn=6/)) {
document.getElementById('wpTextbox1').value = '{{subst:Bienvenue spammeur}} ~~'+'~~';
document.getElementById('editform').submit();
} else if (location.href.match(/warn=7/)) {
document.getElementById('wpTextbox1').value = '{{subst:Faut sourcer}}';
document.getElementById('editform').submit();
} else if (location.href.match(/warn=8/)) {
document.getElementById('wpTextbox1').value = '{{Bienvenue nouveau|sign=~~~~}}';
document.getElementById('editform').submit();
} else if (location.href.match(/warn=9/)) {
document.getElementById('wpTextbox1').value = '{{Bonjour IP|sign=~~~~}}';
document.getElementById('editform').submit();
} else if (location.href.match(/warn=0/)) {
document.getElementById('wpTextbox1').value = '{{Bienvenue IP méritante|sign=~~~~}}';
document.getElementById('editform').submit();
}
});
//</nowiki>