Usuari:Anskar/scripts/escrutini.js
Aparença
El codi que afegiu en aquesta pàgina podria tenir contingut maliciós que comprometi el vostre compte. Si no esteu segur si el codi a afegir és segur, pregunteu abans en la Taverna. El codi s'executarà en mostrar una previsualització d'aquesta pàgina. |
Nota: Després de desar, heu de netejar la memòria cau del navegador per veure els canvis. En la majoria de navegadors amb Windows o Linux, premeu Ctrl+F5 o bé premeu Shift i cliqueu el botó "Actualitza" (Ctrl i "Actualitza" amb Internet Explorer). Vegeu més informació i instruccions per a cada navegador a Viquipèdia:Neteja de la memòria cau.
//<pre><nowiki>
/*
mòdul implementat per l'usuari Coet
*/
/*
ToDo:
1. les propostes d'esborrat amb un resultat de 2-1 no s'han d'esborrar, s'han d'arxivar han de tenir un percentatge del 67% per poder-se esborrar, i no 64%
2. Les propostes amb un sol vot a favor de l'esborrament esperem a processar-les als 14 dies enlloc de fer-ho als 7 dies
3. No se perquè però de tant en tant passa això: https://ca.wikipedia.org?diff=13322095&oldid=prev (crec que només passa quan s'esborra la primera proposta)
*/
if (typeof veCorregixFormat == "undefined") veCorregixFormat = false;
veProva = /Usuari:Coet\/pr:Esborrar pàgines\/Propostes/.test(document.title);
vePaginaPropostes = veProva ? "Usuari:Coet/pr:Esborrar_pàgines/Propostes" : "Viquipèdia:Esborrar_pàgines/Propostes";
vePaginaHistorial = vePaginaPropostes.replace(/Propostes/,"Historial/")+veAnyActual+"/"+veTextMes;
function recompte(txt){
reVotes=/((?:<s(?:trike)?>)? *(?: *\*? *)?\{\{ ?(?:[Aa]provació|[Oo]bjecció|[Ss]uport|[Aa]ssumible|[Ii]ndiferent|[Cc]onsentible|[Rr]ebuig|[Nn]snc|[Ee]n contra|[Aa] favor|[Vv]ot fusió) ?\}\} *(?:<\/s(?:trike)?>)?)/gmi;
votes = txt.split(reVotes);
//recompte dels vots
idxVot=0;
positius=0; negatius=0; anul_lats=0; nuls=0;fusio=0;
for (var v in votes) {
if(/.*([Aa]provació|[Oo]bjecció|[Ss]uport|[Aa]ssumible|[Ii]ndiferent|[Cc]onsentible|[Rr]ebuig|[Nn]snc|[Ee]n contra|[Aa] favor|[Vv]ot fusió).*/.test(votes[v])===true){
esNul=/<s(?:trike)?>/gi.test(votes[v]);
vot=votes[v].toLowerCase();
if(!esNul){
vot=vot.replace(/.*([Aa]provació|[Oo]bjecció|[Ss]uport|[Aa]ssumible|[Ii]ndiferent|[Cc]onsentible|[Rr]ebuig|[Nn]snc|[Ee]n contra|[Aa] favor).*/,"$1");
switch (vot.toLowerCase()){
case "aprovació" :
case "a favor" :
case "suport" :
case "assumible" :positius++; break;
case "objecció" :
case "en contra" :
case "rebuig" :
case "consentible":negatius++;break;
case "indiferent" :
case "nsnc" :nuls++;break;
case "vot fusió" :fusio++;break;
}
} else {
anul_lats++;
}
idxVot++;
}
}
return {positius: positius, negatius: negatius, nuls: nuls, anul_lats: anul_lats, fusio: fusio};
}
function extreu_dades(txt) {
proposta=/\* *.*?\[\[(?:Us(?:uari|er)|\{\{ns:2\}\}):([^|]+?)\|(?:[^\]]+?)\]\].*?[\d:]{5}, (\d\d?) ([a-zç]{3,4}) (\d{4}) \(CES?T\)(?: \(proponent\))?/i;
dades = proposta.exec(txt);
console.log(dades);
console.log(txt);
proponent = dades[1];
diaProposta = convertix(dades[2]);
mesProposta = obtin_mes(dades[3]);
anyProposta = convertix(dades[4]);
dataProposta = "el ".concat(diaProposta, " de ", mesProposta, " de ", anyProposta);
tempsTotal = calcula_lapse(diaProposta, mesProposta, anyProposta);
data1 = new Date(anyProposta, obtin_mes(mesProposta,true)-1, diaProposta);
return {data: data1, data2: dataProposta, temps: tempsTotal, proponent: proponent};
}
function veredicte(proposta){
if( /\{\{anul·lada\}\}\s*(?!<\/s(?:trike)?>)/gi.test(proposta.contingut) ) return "S'anul·la";
var dataPrp = proposta.dades.data;
var decisio = "";
var hui = new Date();
var un_dia = 1000*60*60*24;
var totalDies = Math.ceil((hui.getTime()-dataPrp.getTime())/(un_dia))-1;
var totalVotsComputables = proposta.vots.positius + proposta.vots.negatius + proposta.vots.fusio;
var ratio = 0.75 * totalVotsComputables;
var ratio7d = 0.75 * totalVotsComputables;
var ratio14d = 0.64 * totalVotsComputables;
var difMes = calcula_lapse(dataPrp.getDay(), dataPrp.getMonth()+1, dataPrp.getYear(), "m");
var textTotalDies = difMes>=1?" ("+totalDies+" di"+(totalDies==1?"a":"es")+")":"";
proposta.dades.ntotaldies = totalDies;
proposta.dades.totaldies = textTotalDies;
/**
* deprecated: la conserve, però és totalment prescindible
*
//implementació temporal deguda als canvis de política
//calculem els dies que separen el moment actual del 16 d'oct 2007 (=dataCanvi)
dataCanvi =new Date(2007, 10-1, 16);
if (dataPrp < dataCanvi) {
if (totalDies >= 7){
if (positius>=ratio) decisio = "S'esborra";
if (negatius>=ratio) decisio = "Es conserva";
}
if(totalDies > 30) {
if (positius < ratio &&
negatius < ratio) decisio = "S'arxiva";
}
} else {
*/
if (totalDies >= 4){
if (proposta.vots.positius >= 5 && proposta.vots.negatius === 0) decisio = "S'esborra";
if (proposta.vots.negatius >= 5 && proposta.vots.positius === 0) decisio = "Es conserva";
}
if (ratio7d !== 0 || ratio14d !==0) {
if (totalDies >= 7 && decisio === "") {
if (proposta.vots.positius >= ratio7d) decisio = "S'esborra";
if (proposta.vots.negatius >= ratio7d) decisio = "Es conserva";
}
if (totalDies >= 14 && decisio === ""){
if (proposta.vots.positius >= ratio14d) decisio = "S'esborra";
if (proposta.vots.negatius >= ratio14d) decisio = "Es conserva";
}
if (totalDies >= 14 && decisio === "") {
if (proposta.vots.positius < ratio14d &&
proposta.vots.negatius < ratio14d) decisio = "S'arxiva";
}
}
//en qualsevol altre cas:
if (decisio==="") decisio = "Pendent";
return decisio;
}
dbug=true;
function recompte_vots(){
if(veEditant) {
veContingut = document.getElementById("wpTextbox1").value;
} else {
veContingut = topaz.wputil.getpagecontent(vePaginaPropostes);
}
veDadesPropostes = {};
vePropostes = veContingut.split(/==(.*)==([\s\S]*?)(?:(?===)|$)/g);
for (x=1;x<vePropostes.length;x+=3){
dades = extreu_dades(vePropostes[x+1]);
vots = recompte(vePropostes[x+1]);
veDadesPropostes[vePropostes[x]]={
titol: vePropostes[x],
contingut: vePropostes[x+1],
dades: dades,
decisio: null,
vots: vots
};
}
for (var proposta in veDadesPropostes){
veDadesPropostes[proposta].decisio = veredicte(veDadesPropostes[proposta]);
}
}
function URLseccio (seccio){
paginaURL = location.href.toString().match(/https?:\/\/.*(?:Propostes|VP:EP\/P)/);
if (paginaURL === null) return 'href="#"';
accioURL = location.href.toString().match(/&action=.*/);
if (accioURL === null) {
accioURL = "";} else {accioURL = accioURL.toString().split("#")[0];}
seccio = seccio.replace(/ /g, "_");
seccio = encodeURIComponent(seccio);
seccio = seccio.replace(/'/g, "%27");
seccio = seccio.replace(/\(/g, "%28");
seccio = seccio.replace(/\)/g, "%29");
seccio = seccio.replace(/%/g, ".");
seccio = seccio.replace(/.3A/g, ":"); //reconvertim codi a caràcter, capricis del MediaWiki?
seccio = ' href="'.concat(paginaURL, accioURL, '#', seccio, '" ');
return seccio;
}
function obrePopup(){
recompte_vots();
llistaPropostes = propostesAdjacents();
ompleContingut(veDadesPropostes[llistaPropostes.primera]);
}
function tancaPopup(){
popup.style.width="";
popup.style.height="";
popup.style.bottom="420px";
popup.innerHTML='<a onclick="obrePopup()">escrutini</a>';
}
function propostesAdjacents(titol) {
propostes = [];
dadesPropostes = veDadesPropostes;
for (var prop in dadesPropostes) {propostes.push(prop);}
propia = propostes.indexOf(titol);
anterior = propia-1;
seguent = propia+1;
if(anterior < 0) anterior = propostes.length-1;
if(anterior > propostes.length-1) anterior = 0;
if(seguent < 0) seguent = propostes.length-1;
if(seguent > propostes.length-1) seguent = 0;
return {seguent: propostes[seguent], anterior: propostes[anterior], propia: titol, primera: propostes[0], numero: propostes.indexOf(titol)+1};
}
function ves_hi(prop){
prop = recuperaApostrof(prop);
mostraAmaga('avís','hidden');
ompleContingut(veDadesPropostes[prop]);
}
function ompleContingut(proposta){
nomProposta = proposta.titol.trim();
nomProponent = proposta.dades.proponent;
dataProposta = proposta.dades.data2;
tempsTotal = proposta.dades.temps;
totalDies = proposta.dades.totaldies;
nTotalDies = proposta.dades.ntotaldies;
positius = proposta.vots.positius;
negatius = proposta.vots.negatius;
anul_lats = proposta.vots.anul_lats;
nuls = proposta.vots.nuls;
fusio = proposta.vots.fusio
decisio = proposta.decisio;
processables=""; indexPropostes=""; nombreProc=0; totalPropostes=0;
i=0;
dadesPropostes = veDadesPropostes; //vull evitar que s'esborre la variable quan acabe el bucle.
for (var prop in dadesPropostes){
if(veDadesPropostes[prop].decisio !== "" && processables === "") processables = "Propostes processables: ";
if(veDadesPropostes[prop].decisio != "Pendent"){
if(processables != "Propostes processables: ") processables += " · ";
processables+= '<a id="processables" title="'+ veDadesPropostes[prop].titol.trim() +' ('+ veDadesPropostes[prop].decisio.toLowerCase()+')" onclick="ves_hi(\''+ camuflaApostrof(prop) +'\')" '+ URLseccio(veDadesPropostes[prop].titol.trim()) +'>'+ (i+1)+'</a>';
nombreProc++;
}
if (i>0) indexPropostes += " ";
indexPropostes += '<small><a id="processables" title="'+ veDadesPropostes[prop].titol.trim()+ ' ('+ veDadesPropostes[prop].decisio.toLowerCase() +')" onclick="ves_hi(\''+ camuflaApostrof(prop) +'\')" '+ URLseccio(veDadesPropostes[prop].titol.trim())+'>'+ (i+1) +'</a></small>';
i++;
}
totalPropostes=i; totalProcessables=nombreProc;
if (totalProcessables===0) processables+='<font color="grey">no hi ha cap.</font>';
popup=document.getElementById("popup");
// popup.style.width="330px";
// popup.style.height="420px";
popup.style.bottom="80px";
llista = propostesAdjacents(proposta.titol);
if(nomProponent==veUsuari){nomProponent="vós";}
contingutPopup='<table class="vePopup" width=100% style="background:white; display:block; background-color:#FFFFE0; opacity: 100; z-index: 1;">'+
'<tr><td width=85%><span style ="font-weight:bold; color:blue;">Resultats de les '+
'propostes</span></td>'+
'<td width=15% align=right><a title="amaga" onclick="tancaPopup()">✕</a></td></tr>'+
'<tr style="background-color:white; bordercolor:white;"><td align="left">'+
'<span style ="font-weight:bold; '+
'color:gold;">'+ totalProcessables +'/'+ totalPropostes +'</span></td>'+
'<td align="right"><a onclick="ves_hi(\''+ camuflaApostrof(llista.anterior) +'\')"'+
URLseccio(veDadesPropostes[llista.anterior].titol.trim()) +' title="'+
veDadesPropostes[llista.anterior].titol.trim() +'"><big><</big>'+
'</a> <a onclick="ves_hi(\''+ camuflaApostrof(llista.seguent) +'\')"'+
URLseccio(veDadesPropostes[llista.seguent].titol.trim()) +' title="'+
veDadesPropostes[llista.seguent].titol.trim() +'"><big>>'+
'</big></a></td></tr>'+
'<tr style="background-color:white; border-color:white;"><td colspan="2">'+
processables +'</td></tr>'+
'<tr style="background-color:white; border-color:white;"><td colspan="2">'+
indexPropostes +'</td></tr>'+
'<tr><td colspan="2"><b>'+ (llista.numero) +'.-</b> <a style="color:blue; '+
'font-weight:bold" href="'+ wgServer +'/wiki/'+ encodeURI(nomProposta) +'">'+ nomProposta +
'</a></td></tr>'+
'<tr><td colspan="2">La proposta ha estat presentada '+ dataProposta +'.</td></tr>'+
'<tr><td colspan="2">'+ tempsTotal + totalDies +'.</td></tr>'+
'<tr><td colspan="2">Proposada per <b>'+nomProponent+'</b>.</td></tr>'+
'<tr><td colspan="2">Compta amb:</td></tr>'+
'<tr><td colspan="2"> • <input id="vePositius" type="text" '+
'size="2" maxlength="3" align="right" value="'+ positius +'" '+
'onblur="resolucio('+ proposta +')"/> a favor</td></tr>'+
'<tr><td colspan="2"> • <input id="veNegatius" type="text" '+
'size="2" maxlength="3" align="right" value="'+ negatius +'"'+
'onblur="resolucio('+ proposta +')"/> en contra</td></tr>'+
'<tr><td colspan="2"> • <input id="veNuls" type="text" '+
'size="2" maxlength="3" align="right" value="'+ nuls +'"'+
'onblur="resolucio('+ proposta +')"/> nuls</td></tr>'+
'<tr><td colspan="2"> • <input id="veAnul·lats" type="text" '+
'size="2" maxlength="3" align="right" value="'+ anul_lats +'" '+
'onblur="resolucio('+ proposta +')"/> anul·lats</td></tr>'+
'<tr><td colspan="2"> • <input id="veFusio" type="text" '+
'size="2" maxlength="3" align="right" value="'+ fusio +'" '+
'onblur="resolucio('+ proposta +')"/> fusió</td></tr>'+
'<tr><td colspan="2" id="resolucio"></td></tr>'+
'<tr><td colspan="2" id="accions"></td></tr></table>';
popup.innerHTML=contingutPopup;
resolucio(proposta);
}
function resolucio(proposta){
nomProposta = proposta.titol;
nomProponent = proposta.dades.proponent;
dataProposta = proposta.dades.data2;
tempsTotal = proposta.dades.temps;
totalDies = proposta.dades.totaldies;
nTotalDies = proposta.dades.ntotaldies;
nousPositius = parseInt(document.getElementById("vePositius").value);
nousNegatius = parseInt(document.getElementById("veNegatius").value);
nousNuls = parseInt(document.getElementById("veNuls").value);
nousAnul_lats = document.getElementById("veAnul·lats").value;
decisio = "";
dataPrp = proposta.dades.data;
totalVotsComputables = nousPositius + nousNegatius;
ratio = 0.75 * totalVotsComputables;
ratio7d = 0.75 * totalVotsComputables;
ratio14d = 0.64 * totalVotsComputables;
dataCanvi = new Date(2007, 10-1, 16);
if (dataPrp < dataCanvi) {
if (nTotalDies >= 7){
if (nousPositius>=ratio) decisio = "S'esborra";
if (nousNegatius>=ratio) decisio = "Es conserva";
}
if(nTotalDies > 30) {
if (nousPositius < ratio &&
nousNegatius < ratio) decisio = "S'arxiva";
}
} else {
//el següent codi és el que romandrà una vegada s'hagen resolt les propostes
//anteriors al 16 d'octubre de 2007 (fins a nous canvis :) )
if (nTotalDies >= 4){
if (nousPositius>=5 && nousNegatius === 0) decisio = "S'esborra";
if (nousNegatius>=5 && nousPositius === 0) decisio = "Es conserva";
}
if (ratio7d !== 0 || ratio14d !== 0){
if (nTotalDies >= 7 && ratio7d !== 0){
if (nousPositius>=ratio7d) decisio = "S'esborra";
if (nousNegatius>=ratio7d) decisio = "Es conserva";
}
if (nTotalDies >= 14 && ratio14d !== 0){
if (nousPositius>=ratio14d) decisio = "S'esborra";
if (nousNegatius>=ratio14d) decisio = "Es conserva";
}
if(nTotalDies >= 14 && ratio14d !== 0) {
if (nousPositius < ratio14d &&
nousNegatius < ratio14d) decisio = "S'arxiva";
}
}
}
if(proposta.contingut.indexOf("{{anul·lada}}")>-1) decisio="S'anul·la";
//en qualsevol altre cas:
if (decisio==="") decisio = "Pendent";
proposta.decisio = decisio;
var resolucio1 = decisio == "Pendent" ? 'la votació <b>roman oberta</b>' : 'la pàgina <a onclick="processa(\''+ camuflaApostrof(proposta.titol) +'\')"><b>'+decisio.toLowerCase()+'rà</b></a>';
if(decisio=="S'arxiva") color="green";
if(decisio=="Es conserva" || decisio=="S'anul·la") color="blue";
if(decisio=="S'esborra") color="red";
if(decisio=="Pendent") color="orange";
resolucio1='<font color="'+ color +'">'+ decisio +'</font>';
resolucio1='Segons les normes vigents i el resultat obtingut '+resolucio1;
document.getElementById("resolucio").innerHTML=resolucio1;
}
// retira la proposta de la pàgina Viquipèdia:Esborrar pàgines/Propostes
function retira_proposta (proposta, comentari){
reconsprop = RegExp("== *"+ prepare4regexp(proposta.titol.trim()) +" *==[\\r\\n]*");
senseProposta = veContingut.replace(reconsprop, "");
senseProposta = senseProposta.replace(proposta.contingut,"");
resumRetirada = veVEprefixat +"arxivant la proposta «"+proposta.titol+"». Resultat: "+comentari;
if(veEditant){
document.getElementById("wpTextbox1").value = senseProposta;
document.editform.wpSummary.value = resumRetirada;
if(confirm("Heu eliminat una proposta d'aquesta pàgina\n"+
"¿Desitgeu desar els canvis efectuats a la pàgina?")){
document.editform.submit();
document.editform.wpWatchthis.checked = true;
}
} else {
topaz.wputil.setpagecontent(vePaginaPropostes,
senseProposta,
resumRetirada,
true);
}
//obre_pagina (vePaginaPropostes);
}
// arxiva la proposta
function arxiva_proposta(proposta, coment) {
var resumArxivaProposta = veVEprefixat+"arxivada proposta «"+proposta.titol+"». Resultat: "+coment;
var arxiuProposta='\n\n== '+ proposta.titol +' ==\n\n'+ proposta.contingut +'\n* '+coment+' --~~'+'~~';
contingutHistorial = topaz.wputil.getpagecontent(vePaginaHistorial);
if(contingutHistorial==="") arxiuProposta =
"Arxiu dels [[VP:EP/P|processos]] de [[VP:EP]] corresponents al " +veTextMes +
" de "+veAnyActual +".\n[[Categoria:Viquipèdia:Manteniment]]\n__NOINDEX__" +
arxiuProposta;
topaz.wputil.addpagecontent(vePaginaHistorial,
arxiuProposta,
resumArxivaProposta,
false);
//obre_pagina (vePaginaHistorial);
}
//retira plantilla d'esborrament ( {{esborrar1}} ) de l'article
function retira_plantilla(proposta, coment) {
var nomPag = proposta.titol.trim();
nomPag = nomPag.replace(/ /g,"_");
paginaDesti = topaz.wputil.getpagecontent(proposta.titol);
existeixPlantEsborrament = paginaDesti.search(/\{\{[Ee]sborrar1?\b.*\}\}/g)>-1;
if (!existeixPlantEsborrament) {obre_pagina (proposta.titol); return;}
sensePlantilla = paginaDesti.replace(/\{\{esborrar1? *[^}]+\}\}[\s\n\r]+/gi, "");
resumRetiraPlantilla = veVEprefixat+"retirada plantilla {{esborrar1}}. Resultat: "+ coment;
topaz.wputil.setpagecontent(nomPagina,
sensePlantilla,
resumRetiraPlantilla,
false);
obre_pagina (proposta.titol);
}
// afegix el resultat a la pàgina de discussió de l'article
function afegix_resultat(proposta, coment, pagDiscussio, dataProp) {
nomPag = proposta.titol.replace(/ /g,"_");
var textDiscussio="", resumDiscussio="";
textDiscussio = "\n==Resultat de la proposta d'esborrament==\n" + "La pàgina principal d'esta discussió es va proposar per a ser esborrada " + proposta.dades.data2 + "\n\nEl resultat de [["+vePaginaHistorial + "#" + nomPag + "|les votacions]] ha estat el següent:\n\n"+coment+"\n\nResultat obtingut amb [[Usuari:Coet/viquiestris|Viquiestris]]\n\n~~~~";
resumDiscussio = "Afegint resultat de proposta d'esborrament "+ veUString(veEnllacResum);
topaz.wputil.addpagecontent(pagDiscussio,
textDiscussio,
resumDiscussio,
false);
obre_pagina (proposta.titol);
}
// esborra l'article
function esborra_pagina(proposta, coment) {
var urlnomPag = proposta.titol.replace(/ /,"_");
window.open(wgServer+'/wiki/Special:Whatlinkshere/'+urlnomPag);
alert("Abans d'esborrar:\n\nComproveu què hi enllaça.\n"+
"Cal esborrar les redireccions que quedaran rompudes.\n\n"+
"Si pel motiu d'esborrament no té sentit que l'article es torni "+
"a crear en el futur, cal treure els enllaços interns que tingui en "+
"altres articles.\n\n"+
"En cas d'esborrar una plantilla o una imatge cal treure-la"+
"abans de les pàgines on estigui inclosa.\n\n"+
"Comproveu si té pàgina de discussió. Si el contingut no és "+
"rellevant pel futur, es pot esborrar. Si no té sentit que la pàgina "+
"es torni a crear en el futur, el contingut de la discussió que pugui "+
"ser interessant es pot traslladar a un lloc més adequat.\n\n"+
"Si té alguna imatge no lliure que només està justificada per "+
"aquest article, cal esborrar-la.\n\n"+
"Comproveu els enllaços interwiki i considereu eliminar l\'enllaç "+
"a ca: en les altres viquis amb un resum d\'edició que els pugui "+
"servir d'avís: deleted on ca.wiki per (copyvio, not notable, spam...)");
if(veMarcaAdmin){
veResumEsborraPagina = "[[".concat(
vePaginaHistorial, "#", proposta.titol, "|Pàgina esborrada]] ",
veUString(veEnllacResum), " - Resultat: ", coment
);
veResumEsborraPagina = veResumEsborraPagina.replace(" ","_");
window.open(wgServer.concat('/w/index.php?title=', proposta.titol,
'&action=delete&wpReason=', encodeURIComponent(veResumEsborraPagina)));
} else {
alert("Si us plau, comuniqueu a un administrador que\ns'ha d'eliminar la pàgina «".concat(proposta.titol, "»"));
}
}
function inserix_motiu(motiu){
addOnloadHook (function(){
rao = document.getElementById('wpReason') || document.getElementById('wpComment');
alert(rao.value);
rao.value=motiu;
}
);
}
function processa(proposta){
proposta = veDadesPropostes[recuperaApostrof(proposta)];
if(veUsuari == nomProponent) {
if(!confirm("Compte! Sou el proponent, esteu segur que voleu arxivar la proposta?")) return;
}
nomPagina = proposta.titol;
nomProponent = proposta.dades.proponent;
dataProposta = proposta.dades.data2;
decisio = proposta.decisio;
contingutProposta = veContingut.match(RegExp("== *".concat(prepare4regexp(nomPagina), " *==[\\n\\r\\s]+", prepare4regexp(proposta.contingut),"[\\n\\r\\s]+")));
//paginaDiscussio:
//Usuari, Plantilla, Imatge, Viquipèdia, Categoria, MediaWiki, Ajuda, Portal, Viquiprojecte
espais=/(Usuari|Plantilla|Fitxer|Mèdia|Viquipèdia|Categoria|MediaWiki|Ajuda|Portal|Viquiprojecte):(.*)/;
paginaDiscussio = nomPagina.search(espais)>-1 ? nomPagina.replace(espais,"$1 Discussió:$2"): "Discussió:"+nomPagina;
/*
* accions que es realitzaran
*/
//En qualsevol cas es realitzaran les dues accions següents, incloent si s'anul·la.
accions="<small> • Es retirarà la proposta de "+vePaginaPropostes;
accions+="<br/> • S'arxivarà la proposta a " + vePaginaHistorial;
if (decisio=="S'esborra") {
popup.style.height="490px";
popup.style.bottom="80px";
accions+="<br/> • S'esborrarà la pàgina.";
}
if (decisio=="S'arxiva" || decisio=="Es conserva") {
popup.style.height="490px";
popup.style.bottom="80px";
accions+="<br/> • Es retirarà la plantilla {{esborrar}} de "+ nomPagina;
accions+="<br/> • S'afegirà el resultat de la proposta a "+ paginaDiscussio;
}
document.getElementById("accions").innerHTML=accions+"</small>";
/*
* comentari del resultat
*/
comentariResultat=""; textTotalDies = "al cap "+elidix("de", proposta.dades.ntotaldies)+" dies";
if ((decisio=="S'esborra"||decisio=="Es conserva") && (positius===0||negatius===0) &&
nuls===0){
if(positius===0) {
comentariResultat = decisio.concat(" per unanimitat dels ", proposta.vots.negatius,
" participants ", proposta.dades.totaldies);
} else {
comentariResultat = decisio.concat(" per unanimitat dels ", proposta.vots.positius,
" participants ", textTotalDies);
}
} else {
comentariResultat = decisio.concat(" per ", proposta.vots.positius, " vots a favor de l'esborrament, i ",
proposta.vots.negatius, " en contra ", textTotalDies);
}
if(decisio=="S'arxiva") comentariResultat += " No s'ha assolit cap consens";
if(decisio=="S'anul·la") comentariResultat = "La proposta ha estat anul·lada pels canvis efectuats a la pàgina implicada.";
/*
* Ja hem completat tot els requisits per executar les accions escaients.
*/
if(confirm("Desitgeu executar les accions descrites anteriorment?"+
"\n\nEs la vostra responsabilitat comprovar el nombre de vots"+
"\ni les dades extretes automàticament. Si seguiu amb el procés"+
"\nno serà possible aturar-lo. Desitgeu continuar?")){
retira_proposta(proposta, comentariResultat);
arxiva_proposta(proposta, comentariResultat);
if (decisio=="S'esborra" && !veProva) {
esborra_pagina(proposta, comentariResultat);
}
if (!veProva && (decisio=="Es conserva"||decisio=="S'arxiva"||decisio=="S'anul·la")) {
retira_plantilla(proposta, comentariResultat);
afegix_resultat(proposta, comentariResultat, paginaDiscussio);
}
//window.location.reload() //Esta ordre atura la resta de codi, primer prove la següent :)
window.location.href= cawiki+vePaginaPropostes; //torna a carregar la pàgina de propostes...
obrePopup(); //i deixar l'escrutini obert...
}
}
function carrega_escrutini(){
if (wgPageName == vePaginaPropostes && veCorregixFormat && veEditant) formatador();
if (wgPageName.indexOf("Esborrar_pàgines/Propostes")>-1 &&
veHref.search(/action=history|&diff|&oldid|&submit|Discussi%C3%B3:/)==-1){
var primer="content", segon="bodyContent";
//if(veEditant) primer="toolbar"; segon="editform"; //això no cal ara
primerObj = document.getElementById(primer);
segonObj = document.getElementById(segon);
var divEscrutini = document.createElement("div");
divEscrutini.innerHTML = '<div class="vePopup" id="popup" accesskey="I" tabIndex=0 style="position:fixed; right:5px; '+
'bottom:420px; float:right; padding:6px; background-color:#FFFFE0; opacity: 100; '+
'border:1px solid orange; z-index: 1;"><a onclick="obrePopup()" '+
'shape="poly">escrutini</a>'+
'</div>';
primerObj.insertBefore(divEscrutini, segonObj);
popup=document.getElementById("popup");
}
}
$ (carrega_escrutini);
//</nowiki></pre>