Utente:LoStrangolatore/sandboxes/2: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
svuoto
versione fixata del tool.
Riga 1:
mw.util.addPortletLink('p-navigation', "javascript:$.getScript(\"/w/index.php?title=Utente:LoStrangolatore/sandboxes/2&action=raw&ctype=text/javascript\")", "Apri pagine in sequenza", '');
 
 
///////////////////////////////////// TOOL "APRI PAGINE IN SEQUENZA" /////////////////////////////////////
// Racchiude tutto il codice del tool, così non ci possono essere conflitti di nomi
Tool_ApriPagineInSequenza = {};
 
// Apre le pagine specificate del testo specificato. In particolare, ognuna delle pagine
// è Pagina:titolo.djvu/i dove i è compreso fra primaPagina e ultimaPagina comprese.
Tool_ApriPagineInSequenza.apriPagine = function(testo, primaPagina, ultimaPagina) {
for(var i = primaPagina; i <= ultimaPagina; i++) {
var pagina = "Pagina:" + testo + ".djvu/" + i;
apriSchedaDelBrowser("http://it.wikisource.org/w/index.php?title=" + pagina + "&action=edit");
}
};
 
// Cerca di dedurre il nome del testo cui l'utente ha intenzione di accedere.
// Nel caso non riesca a dedurre un buon nome, restituisce "".
Tool_ApriPagineInSequenza.deduciPossibileNomeTesto = function() {
if (wgNamespaceNumber == 0)
return wgPageName;
else
return wgPageName.split(":")[1];
}
 
// Esegue il tool.
Tool_ApriPagineInSequenza.esegui = function() {
// Messaggi utente.
var messaggio1 =
"Inserisci il nome del testo.\n\n" + "ESEMPIO:\nSe vuoi accedere alle pagine di:\n" +
" Testo:Piccolo Mondo Moderno (Fogazzaro).djvu\n" +
"inserisci:\n" +
"Piccolo Mondo Moderno (Fogazzaro)";
var messaggio2 = "Inserisci il numero della prima e dell'ultima pagina, separate da uno spazio.\n\n" +
"ESEMPIO:\nPer aprire le seguenti pagine:\n"+
" Pagina:Piccolo Mondo Moderno (Fogazzaro).djvu/20\n" +
" Pagina:Piccolo Mondo Moderno (Fogazzaro).djvu/21\n" +
" Pagina:Piccolo Mondo Moderno (Fogazzaro).djvu/22\n" +
"qui sotto dovrai scrivere:\n20 22";
// Ottengo input. Termino il tool se l'utente preme "Annulla" o se inserisce un input errato.
var testo = prompt(messaggio1, Tool_ApriPagineInSequenza.deduciPossibileNomeTesto());
if (testo == null) return; // tasto "Annulla"
var pagine = prompt(messaggio2, "");
if (pagine == null) return; // tasto "Annulla"
if (!pagine.match(/\d+\s\d+/)) {
alert("Impossibile proseguire: devono essere inseriti due numeri separati da uno spazio.");
return;
}
pagine = pagine.split(" ");
var primaPagina = pagine[0], ultimaPagina = pagine[1];
 
// Eseguo, usando l'input raccolto.
Tool_ApriPagineInSequenza.apriPagine(testo, primaPagina, ultimaPagina);
}
 
///////////////////////////////////// FINE TOOL "APRI PAGINE IN SEQUENZA" /////////////////////////////////////
 
 
Tool_ApriPagineInSequenza.esegui();