Utente:Tino/EvidenziaNonAutoverificati.js
Questa pagina definisce alcuni parametri di aspetto e comportamento generale di tutte le pagine. Per personalizzarli vedi Aiuto:Stile utente.
Nota: dopo aver salvato è necessario pulire la cache del proprio browser per vedere i cambiamenti (per le pagine globali è comunque necessario attendere qualche minuto). Per Mozilla / Firefox / Safari: fare clic su Ricarica tenendo premuto il tasto delle maiuscole, oppure premere Ctrl-F5 o Ctrl-R (Command-R su Mac); per Chrome: premere Ctrl-Shift-R (Command-Shift-R su un Mac); per Konqueror: premere il pulsante Ricarica o il tasto F5; per Opera può essere necessario svuotare completamente la cache dal menù Strumenti → Preferenze; per Internet Explorer: mantenere premuto il tasto Ctrl mentre si preme il pulsante Aggiorna o premere Ctrl-F5.
/*
* Nella cronologia delle pagine e negli osservati speciali, evidenzia
* i nomi degli utenti registrati ma non autoverificati.
*
* @author [[Utente:Tino]]
*/
/* <nowiki> */
(function ($) {
"use strict";
const color = '#FCF';
const exemptedRights = ['autopatrol'];
if ($('#pagehistory,.mw-changeslist').length < 1)
return;
const ipv4Re = /^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/;
const ipv6Re = /^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$/;
var names = {};
$('#pagehistory li .mw-userlink').add('.mw-changeslist .mw-userlink')
.each(function () {
var name = $("<div/>").html($(this).html()).text();
if (name.match(ipv4Re) !== null || name.match(ipv6Re) !== null)
return;
if (names[name] === undefined)
names[name] = $(this);
else
names[name] = names[name].add(this);
});
var usernames = '';
$.each(names, function (i, v) {
usernames += i + '|';
});
usernames = usernames.slice(0, usernames.length - 1);
$.ajax({
url: '//it.wikipedia.org/w/api.php',
data: {
'format': 'json',
'action': 'query',
'list': 'users',
'usprop': 'rights',
'ususers': usernames
},
dataType: 'jsonp',
success: function(data) {
data.query.users.forEach(function (e) {
var guard =
e.invalid !== undefined ||
e.rights !== undefined &&
exemptedRights.reduce(function (p, c, i, a) {
return p === true && $.inArray(c, e.rights) === -1;
}, true);
if (guard) {
names[e.name].css('background-color', color);
}
});
}
});
}) (jQuery);
/* </nowiki> */