Discussion MediaWiki:Gadget-RevertDiff.js
Un article de Wikipédia, l'encyclopédie libre.
Sommaire |
[modifier] 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)
[modifier] 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)
[modifier] 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)
[modifier] 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)
[modifier] 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)
- Finalement j'ai trouvé un moyen de corriger ce problème (cf. Utilisateur:Chphe/Gadget-RevertDiff.js). Au lieu de récupérer le oldid dans l'adresse de la page de diff, je récupère directement l'adresse de la page d'edit (celle qui rétablira une ancienne version) au niveau du <td colspan='2' class='diff-otitle'> (celui qui est utilisé pour obtenir le nom user1). Les tests que j'ai effectués sont pour l'instant concluants. --Christophe (d) 30 janvier 2008 à 19:11 (CET)
- Tes modifs me semblent correctes, j'ai modifié le script. J'espère qu'on a rien pété . --Zelda ♪ 1 février 2008 à 22:00 (CET)
- On verra bien si ça râle . Tiens, il semblerait que sur en: quelqu'un a rencontré le même problème. --Christophe (d) 2 février 2008 à 12:11 (CET)
- Tes modifs me semblent correctes, j'ai modifié le script. J'espère qu'on a rien pété . --Zelda ♪ 1 février 2008 à 22:00 (CET)
[modifier] Diff de création de page
Un bug (qui, j'ai vérifié, ne vient pas de ma modif, ouf !) survient lorsque dans la liste des contrib de quelqu'un on clique sur un diff correspondant à la création d'un page (par exemple : [1]). Cette page de diff particulière ne contient pas de div de classe diff-otitle (à la place on a un firstrevisionheader), ce qui pose problème car le tableau var user1 = getElementsByClass('diff-otitle',null,'td');
est alors vide. D'où erreur javascript qui me fout en l'air mes autres scripts. Ma solution consiste à ne plus afficher dans ce cas les liens annuler, vandalisme, etc (ajout d'une condition if(user1.length != 0)
). Détails ici : Utilisateur:Chphe/Gadget-RevertDiff.js. Il doit y avoir moyen, si c'est utile, de réafficher les raccourcis pour permettre par exemple le blanchiment de la page. --Christophe (d) 6 février 2008 à 14:54 (CET)
[modifier] Révocation ou Annulation ?
"Révocation de vandalisme", d'accord, mais "Révocation des modifications", je trouve que c'est un peu agressif. Pourquoi ne pas garder le "Annulation des modifications" qui est plus neutre ? The RedBurn (ϕ) 19 mars 2008 à 20:16 (CET)
[modifier] Bienvenue spammeur
J'ai ajouté cet avertissement — Steƒ ( Стеф ) 14 juin 2008 à 14:10 (CEST)