Wikizionario:Monobook.js/Requisiti.js
//
//Questo script serve per verificare i requisiti di voto di //un utente. Chiede il nome utente da verificare e restituisce
//*Data di registrazione dell'utente
//*Data del primo edit
//*Data del 50esimo edit
//*Data del 500esimo edit
function FaiIlConto()
{
var nomeUtente=window.prompt("Quale utente devi controllare?");
if (nomeUtente == '')
return;
wpajax.http({url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&letype=newusers&action=query&list=logevents&leuser='+nomeUtente, onSuccess: IscrittoIl, nomeUtente: nomeUtente});
}
function IscrittoIl(xmlreq, data)
{
var api = xmlreq.responseXML;
if (api.firstChild.nodeName == "error") return;
var nomeUtente = data.nomeUtente;
members = api.getElementsByTagName('item');
if (members.length == 0)
{
alert("L'utente non sembra esistere");
return;
}
dataRegistrazioneTemp = members[members.length-1].getAttribute('timestamp');
// estrai i dati
wpajax.http({url: mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&uclimit=500&ucstart='+dataRegistrazioneTemp+'&ucdir=newer&action=query&list=usercontribs&ucuser='+nomeUtente, onSuccess: estraiDati, nomeUtente: nomeUtente, dataRegistrazioneTemp: dataRegistrazioneTemp});
}
function estraiDati(xmlreq, data)
{
var api = xmlreq.responseXML;
if (api.firstChild.nodeName == "error") return;
members = api.getElementsByTagName('item');
var nomeUtente = data.nomeUtente;
var dataRegistrazioneTemp = data.dataRegistrazioneTemp;
primaModificaTemp = members[0].getAttribute('timestamp');
if (members.length >= 50)
cinquantesimaModificaTemp = members[49].getAttribute('timestamp');
else
cinquantesimaModificaTemp = 0;
if (members.length >= 500)
cinquecentesimaModificaTemp = members[499].getAttribute('timestamp');
else
cinquecentesimaModificaTemp = 0;
//fix formato date
var monthname=new Array();
monthname['01']="gen";
monthname['02']="feb";
monthname['03']="mar";
monthname['04']="apr";
monthname['05']="mag";
monthname['06']="giu";
monthname['07']="lug";
monthname['08']="ago";
monthname['09']="set";
monthname['10']="ott";
monthname['11']="nov";
monthname['12']="dic";
primaModifica = ""+new Number(primaModificaTemp.substr(8,2))+" "+monthname[primaModificaTemp.substr(5,2)]+" "+primaModificaTemp.substr(0,4)+" alle "+primaModificaTemp.substr(11,2)+":"+primaModificaTemp.substr(14,2)+":"+primaModificaTemp.substr(17,2);
if (cinquantesimaModificaTemp != 0)
cinquantesimaModifica = ""+new Number(cinquantesimaModificaTemp.substr(8,2))+" "+monthname[cinquantesimaModificaTemp.substr(5,2)]+" "+cinquantesimaModificaTemp.substr(0,4)+" alle "+cinquantesimaModificaTemp.substr(11,2)+":"+cinquantesimaModificaTemp.substr(14,2)+":"+cinquantesimaModificaTemp.substr(17,2);
if (cinquecentesimaModificaTemp != 0)
cinquecentesimaModifica = ""+new Number(cinquecentesimaModificaTemp.substr(8,2))+" "+monthname[cinquecentesimaModificaTemp.substr(5,2)]+" "+cinquecentesimaModificaTemp.substr(0,4)+" alle "+cinquecentesimaModificaTemp.substr(11,2)+":"+cinquecentesimaModificaTemp.substr(14,2)+":"+cinquecentesimaModificaTemp.substr(17,2);
dataRegistrazione = ""+new Number(dataRegistrazioneTemp.substr(8,2))+" "+monthname[dataRegistrazioneTemp.substr(5,2)]+" "+dataRegistrazioneTemp.substr(0,4)+" alle "+dataRegistrazioneTemp.substr(11,2)+":"+dataRegistrazioneTemp.substr(14,2)+":"+dataRegistrazioneTemp.substr(17,2);
toPrint = "Analisi requisiti di \""+nomeUtente+"\":\n\nRegistrazione: "+dataRegistrazione+"\nPrima modifica: "+primaModifica+"\n50esima modifica: ";
toPrint += (members.length >= 50)?cinquantesimaModifica:"l'utente ha fatto solo "+members.length+" modifiche";
toPrint += "\n500esima modifica: ";
toPrint += (members.length >= 500)?cinquecentesimaModifica:"l'utente ha fatto solo "+members.length+" modifiche";
alert(toPrint);
}
$(function () {
var navbar = 'p-navigation';
nome = "Verifica requisiti di voto";
link = "javascript:FaiIlConto()";
//Aggiungo il link
mw.util.addPortletLink(navbar, link, nome, '');
})
//