Discussion MediaWiki:Gadget-RevertDiff.js
Mode d'emploi
Est-ce qu'une âme charitable voudrait bien expliciter les différentes fonctionnalités de ce script ? Que fait Vandalisme part rapport à Annuler ?
Merci. Rémih ·)) 16 novembre 2006 à 21:53 (CET)
- Ça laisse un message de commentaire prédéfini différent (que tu peux personnaliser en cliquant sur "message". ♦ Bix? (ℹ) 22 novembre 2006 à 13:51 (CET)
Décalage
Quand j'essaye de réverter une modif, je dois sélectionner la modif antérieure pour que ça marche, et du coup le message ne tient pas la route :/. Un exemple sera plus parlant : l'historique de Autoroute française A9 Sakh ▪ => 24 novembre 2006 à 23:31 (CET)
Correction : utilisation du bouton annuler dans la boite de message
Quelqu'un qui s'y connait en javascript saurait comment annuler "l'annulation" d'un édit lorsqu'on clique sur "Annuler" plutôt que "OK" lorsque on choisit de mettre un message avec le révert ? Chico (blabla) 17 décembre 2006 à 16:58 (CET)
- C'est une modif relativement simple a faire (mais il faut que ce soit fait par un administrateur ...) la fonction getMessage devrait ressembler a ca :
function getMessage (where, user1, user2) { var message = prompt ('Quel message faut-il laisser ?', ''); if (message) { window.location = 'http://fr.wikipedia.org/w/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&'+where+'=2&user1='+user1+'&user2='+user2+'&message='+message; } }
--JoKerozen 2 janvier 2007 à 22:16 (CET)
- ça a été corrigé :) -- Chico (blabla) 4 janvier 2007 à 09:26 (CET)
Erreur pour une page de diff de création
J'ai remarqué une erreur plutot banale sur les page de diff de création : Exemple : la console javascript me dit que user1[0] n'a pas de methode. Le script pourait tester si c'est le diff de la première contrib grace a :
if (getElementsByClass('firstrevisionheader',null,'div')[0]) { return } else { /* tout ce que y'a a faire ... */ }
Le souci étant qu'un autre script qui utilise addOnloadHook() ne marche pas sur ces pages la. merci de corriger :D --JoKerozen 2 janvier 2007 à 20:13 (CET)
Gestion du oldid
Après avoir rencontré plusieurs fois un problème avec ce script (principalement des révocations non complètes de plusieurs modif successives), je pense en avoir localiser l'origine.
Exemple : je veux annuler avec RevertDiff cette modif (ancienne version : num=25358257 ; nouvelle version : num=25505792).
- Si je veux afficher la page de diff en passant par l'historique de la page, j'obtiens le lien : http://fr.wikipedia.org/w/index.php?title=Utilisateur:Chphe/Bac_%C3%A0_sable&diff=25505792&oldid=25358257
On a bien oldid=25358257 et diff=25505792. Si je clique sur le "Annuler" fourni par le script, la modif sera bien annulée.
- Si je veux afficher la page de diff en passant par mon historique des contributions (ce qui est classiquement le cas lorsqu'on épluche les contrib d'un vandale), j'obtiens le lien : http://fr.wikipedia.org/w/index.php?title=Utilisateur:Chphe/Bac_%C3%A0_sable&diff=prev&oldid=25505792
Et ici, on a oldid=25505792 (c'est-à-dire la nouvelle version au lieu de l'ancienne). Si je clique sur le "Annuler", ça n'annule rien. Et dans les cas où on veut annuler plusieurs contributions d'un coup en affichant le diff de la première contrib, ça les annulera toutes sauf la première.
Dans le premier cas (où la révocation se passe bien), le lien du "Annuler" est :
- http://fr.wikipedia.org/w/index.php?title=Utilisateur:Chphe/Bac_%C3%A0_sable&action=edit&oldid=25358257&revert=1&user1=Chphe&user2=Chphe
et dans le deuxième (où ça merdoit), c'est :
- http://fr.wikipedia.org/w/index.php?title=Utilisateur:Chphe/Bac_%C3%A0_sable&action=edit&oldid=25505792&revert=1&user1=Chphe&user2=Chphe
Ce qui est cohérent avec le résultat constaté.
Il semblerait que dans une adresse de page de diff le champ oldid ne corresponde à la version vraiment old que quand dans les cas :
- ...&diff=25505792&oldid=25358257
- ...&diff=next&oldid=25358257
Par contre, dans le cas ...&diff=prev&oldid=25505792, oldid correspond en fait à la nouvelle version. Et c'est dans ce cas-là qu'il faudrait corriger le script (mais je ne vois pas trop comment faire). --Christophe (d) 29 janvier 2008 à 18:33 (CET)