Utilisateur:African Hope/Brouillon/Scripts/Historiques.js
Apparence
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;
Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.function hrlDisplay(obj) {
var hrlMonths = {"janvier": 0, "février": 1, "mars": 2, "avril": 3, "mai": 4,
"juin": 5, "juillet": 6, "août": 7, "septembre": 8, "octobre": 9,
"novembre": 10, "décembre": 11};
var queryCont = obj['continue'];
var patrolled = new Object();
var actions = obj.query.logevents;
var lastId = -1;
var regExpId = new RegExp(/&oldid=(\d+)/);
var regExpDate = new RegExp(/^(\d+) ([^ ]+) (\d+)/);
var minDate = new Date(new Date() - 30 * 86400 * 1000); // Après c'est trop tard
for (var i = 0; i < actions.length; i++) {
lastId = actions[i].patrol ? actions[i].patrol.cur : actions[i].params.curid;
patrolled[lastId] = 1;
}
var revs = document.getElementById("pagehistory").getElementsByTagName("li");
var loopMax = revs.length - (mw.config.get("wgNamespaceNumber") == 6 ? 1 : 0);
for (var i = 0; i < loopMax; i++) {
var links = revs[i].getElementsByTagName("a");
for (var j = 0; j < links.length; j++) {
var match = regExpId.exec(links[j].href);
if (match && links[j].href.indexOf("&diff=") == -1) {
var oldid = parseInt(match[1]);
match = regExpDate.exec(links[j].textContent);
if (match && hrlMonths[match[2]] && (new Date(match[3], hrlMonths[match[2]], match[1])) < minDate) return;
if (!patrolled[oldid] && (!queryCont || oldid >= lastId)) {
var abbr = document.createElement('abbr');
abbr.className = "unpatrolled";
abbr.title = "Cette modification n’a pas été relue.";
abbr.textContent = "!";
links[j].parentNode.insertBefore(abbr, links[j])
links[j].parentNode.insertBefore(document.createTextNode(' '), links[j]);
}
break;
}
}
}
}
if (mw.config.get("wgAction") == "history") {
$(function() {
var query = {format: "json", action: "query", continue: "", list: "logevents", letype: "patrol",
leprop: "details", lelimit: 20, letitle: mw.config.get("wgPageName")};
$.getJSON(mw.util.wikiScript("api"), query, hrlDisplay);
});
}