Aller au contenu

Utilisateur:Abecido/newlettre.js

La bibliothèque libre.

Note : après avoir enregistré vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

  • Firefox / Safari : Maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ou Ctrl-R (⌘-R sur un Mac) ;
  • Google Chrome : Appuyez sur Ctrl-Maj-R (⌘-Shift-R sur un Mac) ;
  • Internet Explorer : Maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ;
  • Opera : Allez dans Menu → Settings (Opera → Préférences sur un Mac) et ensuite à Confidentialité & sécurité → Effacer les données d'exploration → Images et fichiers en cache.
myhtml='<table id="table_lettre_abecido"  \
style="position:fixed; top:50px; left:100px; height:50px; border:solid 1px; z-index:101;  background-color:white;">\
<tr><td>\
<button id="ab_lettre_ok" onclick="ab_lettre_ok()" type=submit>OK</button></td><td>\
Année : <input id="lettre_annee" size="4" maxlength="4" ></td><td>\
From  : <input id="lettre_from" size="5" maxlength="5" ></td><td>\
To    : <input id="lettre_to" size="5" maxlength="5" ></td><td>\
Num.  : <input id="lettre_no" size="5" maxlength="5" ></td><td>\
Vol.  : <input id="lettre_vol" size="2" maxlength="2" >\
</td></tr></table>';
var lettre_from=0
var lettre_to=0
var lettre_vol=0
var lettre_annee=0
$("body").append(myhtml);
$("#table_lettre_abecido").draggable();
init_fromcookie()
if($('#wpTextbox1').val() === ''){
   	    ab_lettre_ok();
}
function init_fromcookie(){
   lettre_from = document.cookie.match("lettre_from=([^;]+)")[1];
   lettre_to = document.cookie.match("lettre_to=([^;]+)")[1];
   lettre_vol = document.cookie.match("lettre_vol=([^;]+)")[1];	
   elem=document.getElementById('lettre_to');
   elem.value=lettre_to;
   elem=document.getElementById('lettre_from');
   elem.value=lettre_from;
   elem=document.getElementById('lettre_vol');
   elem.value=lettre_vol;
   result=mw.config.get('wgPageName').match(/Correspondance_de_Voltaire\/([0-9]+)\/Lettre_([0-9]+)/);
   lettre_annee=result[1];
   elem=document.getElementById('lettre_annee');
   elem.value=lettre_annee;
   lettre_no=result[2];
   elem=document.getElementById('lettre_no');
   elem.value=lettre_no;
}
function init_startend(){
	/*
  result=mw.config.get('wgPageName').match(/Correspondance_de_Voltaire\/([0-9]+)\/Lettre_([0-9]+)/);
   lettre_annee=result[1];
   elem=document.getElementById('lettre_annee');
   elem.value=lettre_annee;
   lettre_no=result[2];
   elem=document.getElementById('lettre_no');
   elem.value=lettre_no;
   lettre_from = document.cookie.match("lettre_from=([^;]+)")[1];
   lettre_to = document.cookie.match("lettre_to=([^;]+)")[1];
   lettre_vol = document.cookie.match("lettre_vol=([^;]+)")[1];
   */
   [start,end]=startsearch(lettre_from,lettre_vol,lettre_no);
   if((typeof(start)!="undefined")){
		lettre_from=start
		lettre_to=end
   }/*
   elem=document.getElementById('lettre_to');
   elem.value=lettre_to;
   elem=document.getElementById('lettre_from');
   elem.value=lettre_from;
   elem=document.getElementById('lettre_vol');
   elem.value=lettre_vol;*/

}
function ab_lettre_ok(){
	
   lettre_no = parseInt(document.getElementById("lettre_no").value);
   lettre_from = document.getElementById("lettre_from").value;
   lettre_to = document.getElementById("lettre_to").value;
   lettre_annee = document.getElementById("lettre_annee").value;
   lettre_vol = document.getElementById("lettre_vol").value;
   init_startend();
   lettre_prev=lettre_no - 1;
   lettre_next=lettre_no + 1;
   document.cookie='lettre_from='+lettre_from+';';
   document.cookie='lettre_to='+lettre_to+';';
   document.cookie='lettre_vol='+lettre_vol+';';
   textbox='<pages index="Voltaire - Œuvres complètes Garnier tome'+lettre_vol+'.djvu" from=';
   textbox+=lettre_from+' fromsection='+lettre_no+' to='+lettre_to+' tosection='+lettre_no+' header=1 \n';
//   textbox+=lettre_from+' to='+lettre_to+' onlysection='+lettre_no+' header=1 \n';
   textbox+='Titre="[[Correspondance de Voltaire|Correspondance]] : année '+lettre_annee+'" \n';
   textbox+='prev="[[../Lettre '+lettre_prev.toString()+'/]]"\n';
   textbox+='next="[[../Lettre '+lettre_next.toString()+'/]]" />\n<references />';
   $('#wpTextbox1').val(textbox);
   $("#wpPreview").click();
}
function ab_lettre_save(){
	document.cookie='lettre_from='+$('#lettre_to').val()+';';
	document.cookie='lettre_vol='+$('#lettre_vol').val()+';';
	lettre_to=parseInt($('#lettre_to').val())+1;
	document.cookie='lettre_to='+lettre_to.toString()+';';
	var x=0;
}
function search_sectionbegin(start,vol,nolettre){
	url="https://fr.wikisource.org/w/api.php?action=query&prop=revisions&rvprop=content&rvslots=main&format=json&titles="
	pagename="Page:Voltaire - Œuvres complètes Garnier tome"+vol+".djvu/"+start
	page=httpGet(url+pagename)
	regex=new RegExp('section begin\=\\\\"'+nolettre,'g')
	res=page.match(regex)
	console.log(res)
	return res
}
function httpGet(theUrl)
{
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.open( "GET", theUrl, false ); // false for synchronous request
    xmlHttp.send( null );
    return xmlHttp.responseText;
}
function startsearch(start,vol,nolettre){
	if(!(search_sectionbegin(start,vol,nolettre))){
		start=(parseInt(start)+1).toString()
	}
	end=start
	while(search_sectionbegin(end,vol,nolettre)){
		end=(parseInt(end)+1).toString()
	}
	console.log(end)
	return [start,(parseInt(end)-1).toString()]
}