Utente:Alex brollo/Scripts obsoleti

Da Wikisource.
Jump to navigation Jump to search
// load dati opere
if (typeof datiPagine == "undefined") datiPagine={};
importScript('MediaWiki:Variabili.js');

// qui inizializzare datiPag con datiPagine[base], e se c'è rullare con il cookie pagina-specifico
var datiPag={
"delta":0,
"tipo":"prosa",
"pari":"{{RigaIntestazione|||}}",
"dispari":"{{RigaIntestazione|||}}",
"virgolette":"“”",
"regexl":[]
};
$(document).ready(function() {if (wgCanonicalNamespace=="Page" && (wgAction=="edit" || wgAction=="submit") )
  {
   base=wgTitle.substring(0,wgTitle.lastIndexOf("/"));
   
   if (datiPagine[base]!=undefined) datiPag=datiPagine[base];
   if (readMyCookie(base)!=null) {readCook();} else {saveCook();}
   }
});
function modificaDatiPag() {
  $('#editform').before('<div id="modDp_box" style="position:fixed; z-index:10000; background:#FAFAFA; top:50px; right:30px; width:600px; border:1px solid #0645AD; padding:0px; ">'+
  '<p><b>Immagine di datiPag da salvare in  proprio vector.js</b>:<br />datiPagine["'+base+'"]='+JSON.stringify(datiPag)+';<br /></p>'+
  '<table width="100%" style="margin-top:0em; margin-bottom:0em; background:#FAFAFA; border:1px #CCC solid; border-collapse:collapse; " >'+
  '<tr><td>Delta:</td>'+
  '<td><input type="text" id="modDp_delta" size="10" value="'+datiPag["delta"]+'"/></td></tr>'+
  '<tr><td>Tipo (prosa|poesia): </td>'+
  '<td><input type="text" id="modDp_tipo" size="30" value="'+datiPag["tipo"]+'"/></td></tr>'+
  '<tr><td>rigaIntestazione pagine pari: </td>'+
  '<td><input type="text" id="modDp_pari" size="50" value="'+datiPag["pari"]+'"/></td></tr>'+
  '<tr><td>rigaIntestazione pagine dispari: </td>'+
  '<td><input type="text" id="modDp_dispari" size="50" value="'+datiPag["dispari"]+'"/></td></tr>'+  
  '<tr><td>virgolette: </td>'+
  '<td><input type="text" id="modDp_virgolette" size="10" value="'+datiPag["virgolette"]+'"/></td></tr>'+ 
//  '<tr><td>Coppie regex: </td>'+
//  '<td><input type="text" id="modDp_regexl" size="50" value="'+JSON.stringify(datiPag["regexl"])+'"/></td></tr>'+     
  '<tr><td> </td><td><input type="button" value="Annulla" onclick="nascondiModDp()"/><input type="button" value="OK" onclick="modDpNew()"/></td></tr>'+
  '</table>'+
  '</div>');
}

function nascondiModDp() {
  $('#modDp_box').remove();
} 
 
function modDpNew() {
  delta = $('#modDp_delta').val();
  tipo = $('#modDp_tipo').val();
  pari = $('#modDp_pari').val();
  dispari = $('#modDp_dispari').val();
  virgolette= $('#modDp_virgolette').val();
//  regexl= $('#modDp_virgolette').val();
 
//  killCookie = $('#modDp_killCookie').is(':checked');
 
 
    // aggiorno datiPag["regexl"] e salvo il cookie
    datiPag["delta"]=delta;
    datiPag["tipo"]=tipo;
    datiPag["pari"]=pari;
    datiPag["dispari"]=dispari;
    datiPag["virgolette"]=virgolette;
//    datiPag["regexl"]=JSON.parse(regexl);
 
    saveCook();
    $('#modDp_box').remove();
}
// Inserisco funzioni base per la gestione cookies (spostare in Common.js, o richiamare funzioni già presenti, se opportuno)
function createMyCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();	
	}
	else var expires = "";	
	document.cookie = name+"="+value+expires+"; path=/";
}

function readMyCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);	
	}
	return null;
}

function eraseMyCookie(name) {	createMyCookie(name,"",-1);}

// Funzioni specifiche per i cookies
function saveCook() {
	// datiPag["regexl"]=regexl;
	datiPagJSON=escape(JSON.stringify(datiPag));
	createMyCookie(base,datiPagJSON,3);
}
 
function readCook(){ 
    if (readMyCookie(base)!=null) {
       datiPag=JSON.parse(unescape(readMyCookie(base)));
   }
}
function resetCook(){
    // eraseMyCookie(base);
    
    if (datiPagine[base]!=undefined) 
     {datiPag=datiPagine[base];}
    else {
      datiPag={"delta":0, "tipo":"prosa", "pari":"{{RigaIntestazione|||}}", "dispari":"{{RigaIntestazione|||}}",     "virgolette":"“”","regexl":[]};
    }
    saveCook();
    alert("I dati originali della variabile datiPagine sono stati ricaricati nel cookie");
}
// load script
/* importScriptURI('https://meta.wikimedia.org/w/index.php?title=User:Pathoschild/Scripts/Regex_menu_framework.js&action=raw&ctype=text/javascript'); */

/* sospendo le funzioni di datiPag (9.01.2014: cleanup di cleanup)
    // proviamo ad aggiungere la gestione regexl
    if (datiPag["regexl"]!=undefined){
         for (i=0;i<datiPag["regexl"].length;i+=1) {regexRepl(datiPag["regexl"][i][0],datiPag["regexl"][i][1],datiPag["regexl"][i][2]);}
     } 
    
    
    // aggiunta poem in base a datiPagine["tipo"]
    if (editbox.value.indexOf("<poem>")==-1 && datiPag["tipo"]=="poesia") {applicaPoem();}
    
    // codifica per protezione template, tag ecc. (testo2lista[0]: testo; testo2lista[1]:lista)
     
    testo2lista=codifica(editbox.value)     
    
    // gestione datiPagine["regex"}
    r=calcolaRi()[2];
    if (r!="") {
        r=r.split("||");
        for (i=0;i<r.length;i+=1) {
            rc=r[i].split("|"); 
            testo2lista[0]=testo2lista[0].replace(RegExp(rc[0],"g"),rc[1]);
        }
    	editbox.value=decodifica(testo2lista[0],testo2lista[1]);
    }
   fine funzioni sospese */  


function calcolaRi() {
    base=wgTitle.substring(0,wgTitle.lastIndexOf("/"));
    pagDjvu=wgTitle.substring(wgTitle.lastIndexOf("/")+1)*1;
    ri='{{RigaIntestazione|||}}';
    if (wgCanonicalNamespace != 'Page') return [0,'',''];
    if (base=='') return [0,'',''];
    if (datiPag==undefined) return [0,ri,''];
    delta = datiPag['delta'];
    if (delta == undefined) delta = 0;
    pag = pagDjvu*1 - delta;
    if (pag % 2 ==0) {ri=datiPag['pari'];} else {ri=datiPag['dispari'];}
    if (ri == undefined) return [0,'',''];
    
//  aggiungo gestione piedipagina
    if (datiPag["piedipagina"]!=undefined) {
        ri=ri+datiPag["piedipagina"];
    }
// dovunque sia #pag verrà rimpiazzato
    ri=ri.replace("#pag",pag);
    regex=datiPag['regex'];
    if (typeof regex=="undefined") regex="";
    return [pag,ri,regex];
}



// RunningHeader() - puts {{RunningHeader}} in to headerbox
function RunningHeader(toggle) {
    if (toggle==undefined) {toggle=true;}
    var headerbox = document.getElementsByName('wpHeaderTextbox')[0];
    var editbox = document.getElementsByName('wpTextbox1')[0];
    var footerbox=document.getElementsByName('wpFooterTextbox')[0];
    pdp=find_stringa(editbox.value,"{{PieDiPagina|","}}",1,"{{")
    if (pdp!="") {
           editbox.value=editbox.value.replace(pdp,"");
           footerbox.value+=pdp
	}
    
    if (headerbox && headerbox.value.indexOf('{{RigaIntestazione|')>-1) {headerbox.value = headerbox.value.replace('{{Ri|','{{RigaIntestazione|');}
    if (headerbox && headerbox.value.indexOf('{{RigaIntestazione|')>-1) {headerbox.value = headerbox.value.replace('{{ri|','{{RigaIntestazione|');}
    if (editbox.value.indexOf('{{Ri|')>-1) {editbox.value = editbox.value.replace('{{Ri|','{{RigaIntestazione|');}
    if (editbox.value.indexOf('{{ri|')>-1) {editbox.value = editbox.value.replace('{{ri|','{{RigaIntestazione|');}
    rie = find_stringa(editbox.value,'{{RigaIntestazione','}}',1,'{{');
    rih = '';
    if (headerbox) rih = find_stringa(headerbox.value,'{{RigaIntestazione','}}',1,'{{');
    if (rie=="") {  // se nell'editbox non c'è Ri
        if (rih=='') {  // se nell'header non c'è Ri
            editbox.value = calcolaRi()[1]+editbox.value;    // '{{RigaIntestazione|||}}'
            return;
        }
        else { // altrimenti se nell'header c'è RI
        if (toggle) {
              editbox.value = rih+editbox.value;
              headerbox.value=headerbox.value.replace(rih,'');
              return;
              }
        }
    }
    else {  // se nell'editbox c'è Ri
        if (rih=='') { // se nell'header non c'è Ri
            editbox.value = editbox.value.replace(rie,'');
            headerbox.value = rie+headerbox.value;
            return;
        }
        else {
	        alert('Nell\'header c\'è già un template RigaIntestazione');
	        return;
        }
    }
}