MediaWiki:Gadget-archiviaBar.js

Da Wikisource.

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)
  • Internet Explorer / Edge: tieni premuto il tasto Ctrl e fai clic su Aggiorna, oppure premi Ctrl-F5
  • Opera: premi Ctrl-F5.
$(document).ready(function () {
	if (mw.config.get('wgUserName') !== null) {
		d = new Date();
		anno = d.getUTCFullYear();
		mese = ('0' + (d.getUTCMonth() + 1)).slice(-2);
		annoMese = anno + '.' + mese;
		lastCheck = localStorage.checkArchiviaBar;
		//console.log("Last check archiviazione Bar: " + lastCheck);
		
		if (lastCheck === undefined || lastCheck != annoMese) {
			//console.log('Verifico se è necessario archiviare il Bar');
			localStorage.checkArchiviaBar = annoMese;
			paginaNuovoBar = 'Wikisource:Bar/Archivio/' + annoMese;
			
			new mw.Api().get({
			     action: "query",
			     titles: [ paginaNuovoBar ],
			 }).then(function(ret) {
			     $.each(ret.query.pages, function() {
			         if (this.missing == "" ) {
						nuovoRedirect = '#RINVIA [[' + paginaNuovoBar + ']]';
						testo = pageGet('Wikisource:Bar');
						nuovoTesto = testo.replace(/#RINVIA \[\[Wikisource:Bar\/Archivio\/\d{4}.\d{2}\]\]/, nuovoRedirect);
						
						if (nuovoTesto != testo) {
							//console.log("Modifico il puntamento al Bar");
							var modificaRedirect = {
								nome: 'Wikisource:Bar',
								testo: nuovoTesto,
								sommario: 'Gadget ArchiviaBar: aggiorno il puntamento alla pagina del Bar'
							};
							pagePut(modificaRedirect);
							
							var salvaBar = {
								nome: paginaNuovoBar,
								testo: '{' + '{' + 'Bar' + '}}',
								sommario: 'Gadget ArchiviaBar: creo nuova pagina del Bar'
							};
							pagePut(salvaBar);
						} else {
							//console.log("Il puntamento al nuovo Bar è già corretto");
						}
			        } else {
			        	//console.log('La nuova pagina del bar esiste già');
			        }
			    });
			}, function(error) {
			 	console.log(error);
			});
		}
	}
});