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)

ça a été corrigé :) -- Chico (blabla) 4 janvier 2007 à 09:26 (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).

On a bien oldid=25358257 et diff=25505792. Si je clique sur le "Annuler" fourni par le script, la modif sera bien annulée.

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é Clin d'œil. --Zelda 1 février 2008 à 22:00 (CET)
On verra bien si ça râle Sifflote. Tiens, il semblerait que sur en: quelqu'un a rencontré le même problème. --Christophe (d) 2 février 2008 à 12:11 (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)

Fait ok, modif effectuée --Zelda 7 février 2008 à 23:10 (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)