Utilisateur:Orlodrim/contribs-relecture.js
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) ;
Firefox (sur GNU/Linux) / Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.function extractOffsetParamFromLink(selector) {
links = $(selector);
if (links.length === 0) return;
var match = links[0].href.match(/[?&]offset=(\d+)/);
return match ? match[1] : null;
}
function showUnpatrolledChangesInContributions() {
var userName = $('input[name=\'target\']').attr('value');
if (userName === mw.config.get('wgUserName')) return;
var revLinks = $('a.mw-changeslist-date');
if (revLinks.length === 0) return;
var query = {format: 'json', action: 'query', list: 'recentchanges', rcprop: 'ids', rcshow: '!patrolled',
rclimit: 500, rcuser: userName, rctype: 'edit|new'};
rcstart = extractOffsetParamFromLink('a.mw-prevlink');
if (rcstart) query.rcstart = rcstart;
rcend = extractOffsetParamFromLink('a.mw-nextlink');
if (rcend) query.rcend = rcend;
$.getJSON(mw.util.wikiScript('api'), query, function(obj) {
//alert(JSON.stringify(obj));
var unpatrolled = {};
if (obj.query && obj.query.recentchanges) {
for (var i = 0; i < obj.query.recentchanges.length; i++) {
unpatrolled['R' + obj.query.recentchanges[i].revid] = true;
}
}
revLinks.each(function(i, element) {
var match = /[&?]oldid=(\d+)/.exec(element.href);
if (match && unpatrolled['R' + match[1]]) {
$(this).closest('li').prepend('<abbr class="unpatrolled" title="Cette modification n’a pas été relue.">!</abbr> ');
}
});
});
}
if (mw.config.get('wgCanonicalSpecialPageName') === 'Contributions') {
mw.loader.using(['mediawiki.util'], function() {
$(showUnpatrolledChangesInContributions);
});
}