« Utilisateur:Ciseleur/contribs-relecture.js » : différence entre les versions

Une page de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
m suppression de l'heure dans le commentaire
correction userName ; rclimit = 50, valeur par défaut
Ligne 9 : Ligne 9 :


function showUnpatrolledChangesInContributions() {
function showUnpatrolledChangesInContributions() {
var userName = $('input.mw-input[name=\'target\']').attr('value');
var userName = $('input[name=\'target\']').attr('value'); // was: $('input.mw-input[name=\'target\']').attr('value');
if (userName === mw.config.get('wgUserName')) return;
if (userName === mw.config.get('wgUserName')) return;
var revLinks = $('a.mw-changeslist-date');
var revLinks = $('a.mw-changeslist-date');
Ligne 15 : Ligne 15 :


var query = {format: 'json', action: 'query', list: 'recentchanges', rcprop: 'ids', rcshow: '!patrolled',
var query = {format: 'json', action: 'query', list: 'recentchanges', rcprop: 'ids', rcshow: '!patrolled',
rclimit: 500, rcuser: userName, rctype: 'edit|new'};
rclimit: 50, rcuser: userName, rctype: 'edit|new'};
rcstart = extractOffsetParamFromLink('a.mw-prevlink');
rcstart = extractOffsetParamFromLink('a.mw-prevlink');
if (rcstart) query.rcstart = rcstart;
if (rcstart) query.rcstart = rcstart;

Version du 19 octobre 2020 à 18:48

// Faire apparaître les modifications non relues dans l'historique de contributions
// https://fr.wikipedia.org/w/index.php?title=Utilisateur:Orlodrim/contribs-relecture.js&oldid=159456729 (2019-05-21)
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'); // was: $('input.mw-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: 50, 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);
    });
}