Aller au contenu

Discussion MediaWiki:Gadget-RevertDiff.js

Le contenu de la page n’est pas pris en charge dans d’autres langues.
Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 1 février 2008 à 23:00 et modifiée en dernier par Zelda (discuter | contributions) (Gestion du oldid : script modifié). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

Dernier commentaire : il y a 17 ans par Zelda dans le sujet Gestion du oldid

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)Répondre

Ç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)Répondre

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)Répondre

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)Répondre

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)Répondre

ça a été corrigé :) -- Chico (blabla) 4 janvier 2007 à 09:26 (CET)Répondre

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)Répondre

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)Répondre

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)Répondre
Tes modifs me semblent correctes, j'ai modifié le script. J'espère qu'on a rien pété Émoticône. --Zelda 1 février 2008 à 22:00 (CET)Répondre