Utente:Alex brollo/salatore.js
Aspetto
Nota: dopo aver pubblicato, potrebbe essere necessario pulire la cache del proprio browser per vedere i cambiamenti.
- Firefox / Safari: tieni premuto il tasto delle maiuscole Shift e fai clic su Ricarica, oppure premi Ctrl-F5 o Ctrl-R (⌘-R su Mac)
- Google Chrome: premi Ctrl-Shift-R (⌘-Shift-R su un Mac)
- Edge: tieni premuto il tasto Ctrl e fai clic su Aggiorna, oppure premi Ctrl-F5.
// console.log("Versione salatore con contributori additivi 2");
function salatore() {
mw.salvaPagina = function (title,text,summary) {
new mw.Api().postWithToken( 'edit', {
action: 'edit',
title: title,
summary: summary,
text: text,
}).done(function( data ) {
if ( data && data.edit && data.edit.result == 'Success' ) {
console.log("OK, pagina " + title + "salvata");
}
});
};
// salvataggio contributori su pagina remota (nsDiscussioni_indice)
mw.salvaContributori=function() {
if (mw.config.get("wgCanonicalNamespace")=="Index") {
var paginaFonte=mw.config.get("wgPageName");
paginaFonte="Index talk:"+(/.+:(.+)/).exec(paginaFonte)[1]; console.log(paginaFonte);
var contributoriOld="";
var testoPaginaFonte="";
var oldContributori=[];
//paginaFonte="Index talk:"+paginaFonte;
try {testoPaginaFonte = $.ajax({url:mw.config.get("wgServer")+"/w/index.php?action=raw&title="+paginaFonte,async:false}).responseText;
contributoriOld=find_stringa(testoPaginaFonte,"== Contributori ==","<!-- fine contributori -->",1);
oldContributori=produciLista(contributoriOld,"[[Utente:","|",0);
var errore=find_stringa(testoPaginaFonte,"<!DOCTYPE html>","</html>",1);
if (errore!=="") {
testoPaginaFonte=testoPaginaFonte.replace(errore,"");
}
} catch(err) {
console.log("No Index talk page");
}
var contributoriNew=JSON.parse(localStorage.contributors);
for (i=0;i<oldContributori.length;i+=1) {
if (contributoriNew.indexOf(oldContributori[i])===-1) {
contributoriNew.push(oldContributori[i]);
contributoriNew.sort();
}
}
for (i=0;i<contributoriNew.length;i+=1) {
contributoriNew[i]="* [[Utente:"+contributoriNew[i]+"|"+contributoriNew[i]+"]]";
}
contributoriNew="== Contributori ==\n"+contributoriNew.join("\n")+"\n<!-- fine contributori -->";
if (contributoriOld!=="") {
testoPaginaFonte=testoPaginaFonte.replace(contributoriOld,contributoriNew);
} else {
testoPaginaFonte+="\n"+contributoriNew;
}
mw.salvaPagina(paginaFonte,testoPaginaFonte,"salvataggio contributori");
}
};
/*
== Contributori ==
* [[Utente:BrolloBot|BrolloBot]]
* [[Utente:Alex brollo|Alex brollo]]
<!-- fine contributori -->
*/
if (mw.config.get("wgUserName")===null) return;
$(".pagineDellEdizione a").attr("target","editPagina");
var l=[];
var contributors=[];
var lGood=[];
$(".pagineDellEdizione a").each(function() {l.push($(this).attr("title"))});
var cicli=Math.ceil(l.length/50);
var counter=cicli;
var sal={"0":0,"1":0,"2":0,"3":0,"4":0};
for (i=0;i<cicli;i+=1) {
leggi();
}
function leggi() {
$.ajax({
method:"POST",
url: 'https://it.wikisource.org/w/api.php',
data: {
format: 'json',
action: 'query',
prop:"revisions",
rvprop:"content|user",
titles: l.splice(0,50).join("|")
}
}).done(function(data) {
dati=data.query.pages;
$.each(dati, function (key,val) {
var temp=[];
temp.push(val.title);
try {
var r=/<pagequality level="(\d)" user="(.+?)" \/>/.exec(val.revisions[0]["*"]).slice(1,3);
sal[r[0]]+=1;
temp.push(r[0]);
temp.push(r[1]);
temp.push(val.revisions[0].user);
if (temp[1]==="3") {
if (temp[2] !== mw.config.get("wgUserName")) {
lGood.push(/(\d+)$/.exec(val.title)[1]);
$('.pagineDellEdizione .quality3[title="'+temp[0]+'"]').css("background-color","PaleGreen");
}
}
if (contributors.indexOf(temp[2])===-1) contributors.push(temp[2]);
if (contributors.indexOf(temp[3])===-1) contributors.push(temp[3]);
} catch(err) {}
});
counter-=1;
if (counter===0) {
console.log("numero elementi:",lGood.length);
localStorage.salatore=JSON.stringify({"basePage":mw.config.get("wgTitle"), "sal75":lGood.sort(function(a,b) {return a-b;})});
localStorage.contributors=JSON.stringify(contributors.sort());
mw.salvaContributori();
console.log(sal);
}
});
}
}
$(document).ready(function() {
if (mw.config.get("wgCanonicalNamespace")==="Index") $('<div class="top_icon_raw" style="cursor: pointer" title="Evidenziatore SAL 75%">'+
'<img alt="Evidenziatore SAL 75%" src="https://upload.wikimedia.org/wikisource/it/0/0e/Ipotesi_varianti_SAL_75%25_1.png">'+
'</div>').click(function() {salatore();}).appendTo(".top_icon_cont");
// console.log("Attivato salatore");
});