MediaWiki:Gadget-toolbar-buttons.js: differenze tra le versioni

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Contenuto cancellato Contenuto aggiunto
m fix Avviso firma
m aggiunto noinclude a "Cancella subito"
Riga 578: Riga 578:
name: 'Cancella subito',
name: 'Cancella subito',
position: 'top',
position: 'top',
noinclude: true,
params: {
params: {
criterio: {
criterio: {

Versione delle 13:29, 9 dic 2015

/**
 * Gadget-toolbar-buttons.js
 * Questo script contiene solo la definizione del pulsanti.
 *
 * @author [[it:User:Rotpunkt]]
 */
/*global mediaWiki, jQuery */
/* <nowiki> */

( function ( mw, $ ) {
	'use strict';

	/**
	 * Array utilizzati dai pulsanti
	 */
	var argomenti = [
		"", "aeronautica", "Africa", "agricoltura", "album musicali", "allevamento", "alpinismo", "animali", "animazione", "anime e manga", "antropologia", "antroponimi", "apicoltura", "Apple", "archeologia", "architettura", "arte", "arti divinatorie", "arti marziali", "associazioni",  "astronomia", "atletica", "automobilismo", "aziende", "baseball", "Bisanzio", "biografie", "biologia", "blues", "botanica", "buddhismo", "calcio",
		"canottaggio", "cattolicesimo", "chimica", "ciclismo", "cinema", "cristianesimo", "cucina", "curling", "danza", "diritto", "Disney", "ebraismo", "ecologia", "economia", "editoria", "educazione", "Europa", "F1", "fantascienza", "film", "filosofia", "fisica", "font", "fotografia", "fumetti", "funghi", "GDR", "genetica", "Genova", "geografia", "Giappone", "giochi", "golf", "guerra", "Guerre stellari", "Harry Potter", "hockey",
		"informatica", "ingegneria", "hip hop", "jazz", "letteratura", "LGBT", "Liguria", "lingue", "linguistica", "manutenzione", "mare", "matematica", "meccanica", "medicina", "metal", "mineralogia", "mitologia", "mitologia greca", "mitologia romana", "mitologia azteca", "mitologia cinese", "mitologia egizia", "mitologia inca", "mitologia maya", "mitologia mesopotamica", "mitologia norrena", "mitologia slava", "mitologia ugro-finnica",
		"motociclismo", "musei", "musica", "musica classica", "musica elettronica", "nautica", "neopaganesimo", "numismatica", "nuoto", "paleontologia", "pallacanestro", "pallamano", "pallanuoto", "pallavolo", "patrimoni dell'umanità", "pattinaggio", "pesca sportiva", "piante", "politica", "Pokémon", "psicologia", "pugilato", "punk", "radio", "religione", "rock", "rugby", "santi", "scacchi", "scautismo", "scienza", "scherma", "sci", "sicurezza",
		"skeleton", "sociologia", "software libero", "solidarietà", "sport", "sport invernali", "stadi", "Star Trek", "storia", "subacquea", "Taoismo", "Tarantino", "teatro", "tecnologia", "telecomunicazioni", "televisione", "tennis", "tiro con l'arco", "Tolkien", "trasporti", "turismo", "vela", "videogiochi", "vini", "voci comuni", "Warhammer", "wrestling", "zoologia"
		],
		monthNames = [ '', 'gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno',
					   'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre' ],
		criteri = [
			"",
			"1. pagine vuote, di prova, senza significato o contenuti sensati",
			"2. pagine contenenti solo frasi offensive e/o volgari",
			"3. pagine scritte quasi completamente in una lingua straniera",
			"4. pagine palesemente non enciclopediche, promozionali o CV",
			"5. pagine orfane, con titolo sbagliato e dal contenuto identico ad altre pagine",
			"6. categorie senza voci, file o sottocategorie",
			"7. pagine già cancellate e reinserite senza motivo",
			"8. pagine provvisorie create per l'inversione del redirect",
			"9. redirect con errori di battitura nel titolo o errati",
			"10. discussioni e sottopagine di pagine già cancellate",
			"11. immagini doppie e orfane, o presenti su Commons",
			"12. immagini in evidente violazione di copyright",
			"13. pagine interamente costituite da testo in violazione di copyright",
			"14. immagini da verificare da oltre una settimana",
			"15. pagine 'Utente:' non appartenenti a nessuno",
			"16. pagine trasferite ad altri progetti",
			"17. sottopagine 'Utente:' richieste dell'utente stesso",
			"18. file orfani e non utili all'enciclopedia",
			"19. template obsoleto, sostituito ed orfano",
			"20. file non liberi che non rispettano l'EDP"
		],
		projects = [ 'Wikisource', 'Wikinews', 'Wikiquote', 'Wikibooks',
					 'Wikizionario', 'Wikispecies', 'Commons', 'meta' ],
		projectCodes = [ 's', 'n', 'q', 'b', 'wikt', 'p', 'c', 'm' ],
		voti = ['', 'a', 'b', 'c', 'd', 'e'],
		progetti = [
			'', 'Abruzzo', 'Africa', 'Alpinismo', 'Anime e manga', 'Antica Grecia', 'Meteorologia', 'Antica Roma',
			'Araldica', 'Archeologia', 'Architettura', 'Aree protette', 'Arte', 'Astronautica', 'Astronomia', 'Atletica leggera',
			'Aviazione', 'Basilicata', 'Biografie', 'Bisanzio', 'Buddhismo', 'Calabria', 'Calcio', 'Cattolicesimo', 'Chimica',
			'Ciclismo', 'Cina', 'Cinema', 'Comunismo', 'Controlli automatici', 'Crittografia', 'Cucina', 'Danza', 'Desing',
			'Dialetti d\'Italia', 'Diocesi', 'Diritto', 'Divinazione', 'Due Sicilie', 'Ecologia', 'Economia', 'Editoria', 'Elicotteri',
			'Emilia e Romagna', 'Esperanto', 'Europa', 'Formula 1', 'Fantascienza', 'Ferrari', 'Filatelia', 'Filosofia', 'Firenze',
			'Fisica', 'Fotografia', 'Fumetti', 'Genova', 'Geografia', 'Giappone', 'Giochi da tavolo', 'Giochi di ruolo', 'Guerra',
			'Guerra elettronica', 'Guerre stellari', 'Heavy metal', 'Hockey su ghiaccio', 'Informatica', 'Ingegneria', 'Letteratura',
			'LGBT', 'Liguria', 'Linguistica', 'Lombardia', 'Manutenzione', 'Marche', 'Marina', 'Matematica', 'Medicina', 'Milano',
			'Mitologia', 'Montagne', 'Musei', 'Musica', 'Classica', 'Hip hop', 'Jazz', 'Punk', 'Reggae', 'Napoli', 'Neopaganesimo',
			'Neuroscienze', 'Numismatica', 'Palermo', 'Pallacanestro', 'Pallavolo', 'Piemonte', 'Politica', 'Polonia', 'Popular music',
			'Pornografia', 'Premi Nobel', 'Psicologia', 'Qualità', 'Religione', 'Roma', 'Rugby', 'Santi', 'Scienza e tecnica', 'Scout', 'Sicilia',
			'Siracusa', 'Software libero', 'Sport', 'Sport Acquatici', 'Stati Uniti d\'America', 'Storia', 'Subacquea', 'Svizzera',
			'Teatro', 'Televisione', 'Tolkien', 'Torino', 'Trasporti', 'Umbria', 'Valle d\'Aosta', 'Veneto', 'Venezia e Laguna',
			'Venezia Giulia e Dalmazia', 'Vessillogia', 'Videogiochi', 'Voci fondamentali'
		],
		portali = ["", "Abruzzo", "aeronautica", "Africa", "Africa Centrale", "Africa Meridionale", "Africa Occidentale", "Africa Orientale", "Africa del Sud", "Agatha Christie", "Albania", "album musicali", "Alto Adige", "anime e manga", "Antartide", "antica Roma", "antropologia", "Apple", "archeologia", "architettura", "arte", "Asburgo", "Asia", "asteroidi", "Asti", "astronautica", "astronomia", "Australia", "Austria", "Bergamo", "biografie", "biologia",
			"Birmania", "Bisanzio", "Bolzano", "botanica", "Bulgaria", "Cagliari", "calcio", "calvinismo", "cardinali", "Cartagine", "cattolicesimo", "chiesa Cattolica", "chimica", "Cina", "cinema", "comunismo", "comunità", "Croazia", "crociate", "danza", "dighe", "diocesi", "diritto", "divinazione", "donne nella storia", "ebraismo", "economia", "editoria", "educazione", "Emilia", "energia", "Estonia", "Europa", "fantascienza", "fascismo", "fede cristiana riformata",
			"fenici", "film", "filosofia", "Finlandia", "Firenze", "fisica", "fotografia", "Francia", "Friuli-Venezia Giulia", "Frosinone", "fumetti", "funghi", "Genova", "geografia", "Germania", "Giappone", "Grecia", "Grosseto", "guerra", "guerra dei cent'anni", "guerre stellari", "Harry Potter", "hip Hop", "informatica", "Iran", "Irlanda", "Italia", "LGBTQ", "letteratura", "Lettonia", "Libano", "Liguria", "lingue artificiali", "linguistica", "Lituania", "Marche", "mare",
			"matematica", "medicina", "medioevo", "metal", "meteorologia", "Milano", "mitologia", "mondo classico", "musica", "musica corale", "Napoli", "nazismo", "neopaganesimo", "nordafrica", "Norvegia", "omosessualità", "Padova", "paesi Bassi", "paganesimo", "pallacanestro", "Parigi", "piante", "pokémon", "politica", "Polonia", "Prato", "psicologia", "Puglia", "punk", "Quentin Tarantino", "Regno Unito", "religioni", "Repubblica Ceca", "rock", "Roma", "Romagna", "Russia",
			"San Marino", "Sardegna", "scacchi", "Sicilia", "slavismo", "socialismo", "sociologia", "software libero", "Spagna", "sport", "stati Confederati d'America", "Stati Uniti", "storia", "Svezia", "taoismo", "Tarantino", "Taranto", "teatro", "televisione", "Tolkien", "Torino", "Toscana", "trasporti", "Trentino Alto Adige", "Trento", "Turkmenistan", "U2", "uccelli", "Umbria", "valle del Nilo", "Veneto", "videogiochi", "Walt Disney", "wicca"
		],
		iprojects = [
			"commons", "wikisource ( italiano )", "per un testo completo su Wikisource ( italiano )", "wikibooks ( italiano )",
			"per il wikibook libro di cucina ( italiano )", "wikinotizie ( italiano )", "articolo di wikinotizie ( italiano )",
			"wikiquote ( italiano )", "meta", "wikizionario ( italiano )", "wikispecies ( italiano )", "wikisource ( inglese )",
			"wikibooks ( inglese )", "wikinews ( inglese )", "wikiquote ( inglese )", "wiktionary ( inglese )"
		],
		icodes = [
			"commons", "s", "testo", "b", "ricetta", "n", "SPECIAL_W", "q", "m", "wikt",
			"wikispecies", "wikisource", "wikibooks", "wikinews", "wikiquote", "wiktionary"
		];
	
	/**
	 * Funzioni di utilità
	 */
	function makeAvviso( template, hotkey, icon, argonly ) {
		var button = {
			group: 'avvisivoci',
			hotkey: hotkey,
			icon: icon,
			ns: 0,
			template: {
				name: template,
				position: 'top',
				params: {
					argomento: {
						type: 'combobox',
						label: 'Argomento',
						value: argomenti
					}
				},
				format: function ( params ) {
					return '|' + ( argonly ? '' : params.motivo + '|' ) + params.argomento +
						   '|{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}';
				}
			}
		};
		if ( !argonly ) {
			button.template.params.motivo = {
				type: 'textbox',
				label: 'Motivazione'
			};
		}
		return button;
	}

	function makeMessaggio( template, icon, pages, subst ) {
		var button = {
			group: 'messaggiutente',
			ns: 3,
			icon: icon,
			template: {
				name: template,
				sign: true,
				subst: subst
			}
		};
		if ( pages > 0 ) {
			button.template.params = {};
			for ( var i = 1; i <= pages; i++ ) {
				button.template.params['pagina' + (i === 1 ? '' : i)] = {
					type: 'textbox',
					label: 'Pagina ' + (i === 1 ? '(senza "[[ ]]")' : i),
					autocomplete: 'contribs'
				};
			}
			button.template.format = function ( params ) {
				var ret = '';
				$.each( params, function ( key, value ) {
					if ( value !== '' ) {
						ret += '|' + value;
					}
					return value !== '';
				} );
				return ret;
			};
		}
		return button;
	}

	window.gadgetToolbarButtons = {
		
		// ==================================
		//   Pulsanti gruppo formattazione
		// ==================================
		
		'Testo piccolo' : {
			group: 'formattazione',
			hotkey: 'Z',
			icon: '//upload.wikimedia.org/wikipedia/commons/d/dc/Pulsante_small.png',
			text: { pre: '<small>', post: '</small>' }
		},
		'Sottolineato': {
			group: 'formattazione',
			hotkey: 'K',
			icon: '//upload.wikimedia.org/wikipedia/commons/3/37/Pulsante_sottolineato.png',
			text: { pre: '<span style="text-decoration: underline">', post: '</span>' }
		},
		'Testo barrato': {
			group: 'formattazione',
			hotkey: 'B',
			icon: '//upload.wikimedia.org/wikipedia/commons/1/1d/Pulsante_barrato.png',
			text: { pre: '<del>', post: '</del>' }
		},
		'Maiuscolo/minuscolo': {
			group: 'formattazione',
			descr: 'Modifica il testo selezionato in maiuscolo o minuscolo.',
			icon: '//upload.wikimedia.org/wikipedia/commons/c/c5/Pulsante_case.png',
			execute: function () {
				var text, options;
				text = $( '#wpTextbox1' ).textSelection( 'getSelection' );
				options = {
					peri: text === text.toLowerCase() ?
						  text.toUpperCase() : text.toLowerCase(),
					replace: true
				};
				$( '#wpTextbox1' ).textSelection( 'encapsulateSelection', options );
			}
		},
		'A capo': {
			group: 'formattazione',
			hotkey: 'N',
			icon: '//upload.wikimedia.org/wikipedia/commons/5/5e/Pulsante_newline.png',
			text: { pre: '<br />' }
		},
		'Include only': {
			group: 'formattazione',
			icon: '//upload.wikimedia.org/wikipedia/commons/6/63/Button_includeonly.png',
			text: { pre: '<includeonly>', post: '</includeonly>' }
		},
		'No include': {
			group: 'formattazione',
			icon: '//upload.wikimedia.org/wikipedia/commons/c/ce/Button_no_include.png',
			text: { pre: '<noinclude>', post: '</noinclude>' }
		},
		'formatHistory': {
			group: 'formattazione',
			icon: '//upload.wikimedia.org/wikipedia/commons/3/3f/Button_attendre.png',
			text: { pre: '{{Cassetto|Cronologia|<pre>', post: '</pre>}}' }
		},
		'formatnum': {
			group: 'formattazione',
			descr: 'Inserisce la funzione parser {{formatnum:}} nella pagina.',
			icon: '//upload.wikimedia.org/wikipedia/commons/e/e9/Button_formatnum.png',
			text: { pre: '{{formatnum:', post: '}}' }
		},

		// ===============================
		//   Pulsanti gruppo avvisivoci
		// ===============================

		'Da aiutare': makeAvviso( 'A', 'A', '//upload.wikimedia.org/wikipedia/commons/f/f9/Pulsante_A.gif' ),
		'Da controllare': makeAvviso( 'C', 'C', '//upload.wikimedia.org/wikipedia/commons/6/63/Pulsante_controllare.gif' ),
		'Enciclopedicità dubbia': makeAvviso( 'E', 'E', '//upload.wikimedia.org/wikipedia/commons/5/5b/Pulsante_enciclop.png' ),
		'Orfana': makeAvviso('O', 'O', '//upload.wikimedia.org/wikipedia/commons/5/5e/Pulsante_orfana.gif', true ),
		'POV': makeAvviso( 'P', 'P', '//upload.wikimedia.org/wikipedia/commons/6/61/Pulsante_pov.gif' ),
		'Da wikificare': makeAvviso( 'W', 'W', '//upload.wikimedia.org/wikipedia/commons/2/24/Pulsante-wikificare.gif', true ),
		'In corso': makeAvviso( 'In corso', null, '//upload.wikimedia.org/wikipedia/commons/e/ec/Button_aviso.png', true ),
		'Controlcopy': makeAvviso( 'Controlcopy', null, '//upload.wikimedia.org/wikipedia/commons/7/75/Wiki_c_copy.gif' ),
		'Senza fonti': {
			group: 'avvisivoci',
			hotkey: 'F',
			icon: '//upload.wikimedia.org/wikipedia/commons/f/fd/Pulsante_F.png',
			template: {
				name: 'F',
				extratext: '\n',
				params: {
					motivo: { 
						type: 'textbox',
						label: 'Motivazione'
					},
					argomento: {
						type: 'combobox',
						label: 'Argomento',
						value: argomenti
					}
				},
				format: function ( params ) {
					return '|' + params.argomento +
						   '|{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}' + '|' + params.motivo;
				}
			}
		},
		'Nessuna nota': {
			group: 'avvisivoci',
			icon: '//upload.wikimedia.org/wikipedia/commons/5/54/Button_naissance.png',
			template: {
				name: 'NN',
				position: 'top',
				params: {
					motivo: { 
						type: 'textbox',
						label: 'Motivazione'
					},
					argomento: {
						type: 'combobox',
						label: 'Argomento',
						value: argomenti
					}
				},
				format: function ( params ) {
					return '|' + params.argomento +
						   '|{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}' + '|' + params.motivo;
				}
			}
		},
		'Stub': {
			group: 'avvisivoci',
			hotkey: 'S',
			icon: '//upload.wikimedia.org/wikipedia/commons/a/a5/Button_STUB.png',
			template: {
				name: 'S',
				position: 'top',
				params: {
					argomento: {
						type: 'combobox',
						label: 'Argomento',
						value: argomenti
					},
					argomento2: {
						type: 'combobox',
						label: 'Argomento 2',
						value: argomenti
					}
				},
				format: function ( params ) {
					return '|' + params.argomento +
						   ( params.argomento2 ? ( '|' + params.argomento2 ) : '' );
				}
			}
		},
		'Stub sezione': {
			group: 'avvisivoci',
			icon: '//upload.wikimedia.org/wikipedia/commons/c/ce/Pulsante_sezione.png',
			template: {
				name: 'S sezione',
				params: {
					argomento: {
						type: 'combobox',
						label: 'Argomento',
						value: argomenti
					},
					argomento2: {
						type: 'combobox',
						label: 'Argomento 2',
						value: argomenti
					}
				},
				format: function ( params ) {
					return '|' + params.argomento +
						   ( params.argomento2 ? ( '|' + params.argomento2 ) : '' );
				}
			}
		},
		'Tradurre': {
			group: 'avvisivoci',
			hotkey: 'T',
			icon: '//upload.wikimedia.org/wikipedia/commons/e/eb/Button_templatelink.png',
			template: {
				name: 'T',
				position: 'top',
				params: {
					lingua: {
						type: 'textbox',
						label: 'Lingua'
					},
					argomento: {
						type: 'combobox',
						label: 'Argomento',
						value: argomenti
					}
				},
				format: function ( params ) {
					return '|' + params.lingua + '|' + params.argomento +
						   '|{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}';
				}
			}
		},
		'Tradurre sezione': {
			group: 'avvisivoci',
			icon: '//upload.wikimedia.org/wikipedia/commons/c/ce/Pulsante_sezione.png',
			template: {
				name: 'T',
				params: {
					lingua: {
						type: 'textbox',
						label: 'Lingua'
					},
					argomento: {
						type: 'combobox',
						label: 'Argomento',
						value: argomenti
					}
				},
				format: function ( params ) {
					return '|' + params.lingua + '|' + params.argomento +
						   '|{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}';
				}
			}
		},
		'Da unire': {
			group: 'avvisivoci',
			ns: 0,
			hotkey: 'U',
			icon: '//upload.wikimedia.org/wikipedia/commons/e/eb/Pulsante_unire.png',
			template: {
				name: 'U',
				position: 'top',
				params: {
					commento: {
						type: 'textbox',
						label: 'Motivazione'
					},
					argomento: {
						type: 'combobox',
						label: 'Argomento',
						value: argomenti
					},
					pagina: {
						type: 'textbox',
						label: 'Pagina',
						autocomplete: 'contribs'
					},
					paragrafo: {
						type: 'textbox',
						label: 'Paragrafo (opzionale)'
					}
				},
				format: function ( params ) {
					return '|pagina=' + params.pagina +
						   '|argomento=' + params.argomento +
						   '|data={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}' +
						   ( params.paragrafo !== '' ? ( '|paragrafo=[[#' + params.paragrafo +
													   '|' + params.paragrafo + ']]' ) : '' ) +
						   '|commento=' + params.commento;
				}
			}
		},
		'Da categorizzare': {
			group: 'avvisivoci',
			icon: '//upload.wikimedia.org/wikipedia/commons/5/55/Pulsante-categorizzare.gif',
			template: {
				name: 'Categorizzare',
				position: 'bottom',
				noinclude: true,
				params: {
					argomento: {
						type: 'combobox',
						label: 'Argomento',
						value: argomenti
					}
				},
				format: function ( params ) {
					return params.argomento ? ( '|' + params.argomento ) : '';
				}
			}
		},
		'Invertire': {
			group: 'avvisivoci',
			ns: 0,
			hotkey: 'I',
			icon: '//upload.wikimedia.org/wikipedia/commons/7/70/Button_fusion.png',
			template: {
				name: 'Spostare',
				position: 'top',
				params: {
					motivo: {
						type: 'textbox',
						label: 'Motivazione'
					},
					nome: {
						type: 'textbox',
						label: 'Nuovo nome',
						autocomplete: 'contribs'
					}
				},
				format: function ( params ) {
					return '|' + params.nome + '|' + params.motivo;
				}
			}
		},
		'WIP': {
			group: 'avvisivoci',
			ns: 0,
			icon: '//upload.wikimedia.org/wikipedia/commons/2/27/Pulsante_wip.png',
			template: {
				name: 'WIP',
				position: 'top',
				noinclude: true,
				format: function ( params ) {
					return '|' + mw.config.get( 'wgUserName' );
				}
			}
		},
		'Correggere': {
			group: 'avvisivoci',
			ns: 0,
			icon: '//upload.wikimedia.org/wikipedia/commons/d/d9/Button_uncorrect.png',
			template: {
				name: 'Correggere',
				position: 'top'
			}
		},
		'Da aggiornare': {
			group: 'avvisivoci',
			ns: 0,
			icon: '//upload.wikimedia.org/wikipedia/commons/c/cd/Button_vote_deletion.png',
			template: {
				name: 'Da aggiornare',
				position: 'top',
				params: {
					anno: {
						type: 'textbox',
						label: 'Anno'
					},
					mese: {
						type: 'combobox',
						label: 'Mese',
						value: monthNames
					}
				},
				format: function ( params ) {
					var n = monthNames.indexOf( params.mese );
					return '|anno=' + params.anno +
						   ( params.mese !== '' ? ( '|mese=' + ( n < 10 ? '0' : '' ) + n ) : '' );
				}
			}
		},
		'Violazione copyright': {
			group: 'avvisivoci',
			ns: 0,
			icon: '//upload.wikimedia.org/wikipedia/commons/5/52/Pulsante_copyviol.png',
			template: {
				name: 'ViolazioneCopyright',
				position: 'top',
				params: {
					url: {
						type: 'textbox',
						label: 'URL del sito'
					}
				},
				format: function ( params ) {
					return '|url=' + params.url;
				}
			}
		},
		'Segnala copyviol': {
			group: 'avvisivoci',
			ns: function() { return document.title.indexOf( 'Modifica di Wikipedia:Sospette violazioni di copyright' ) !== -1; },
			icon: '//upload.wikimedia.org/wikipedia/commons/5/58/Button_black_copyright.png',
			template: {
				name: 'Segnala copyviol',
				params: {
					pagina: {
						type: 'textbox',
						label: 'Pagina (senza "[[ ]]")',
						autocomplete: 'contribs'
					},
					sito: {
						type: 'textbox',
						label: 'URL o altra fonte'
					},
					sito2: {
						type: 'textbox',
						label: 'Secondo URL o altra fonte'
					},
					diff: {
						type: 'textbox',
						label: 'Diff link'
					},
					diff2: {
						type: 'textbox',
						label: 'Diff link'
					},
				},
				format: function ( params ) {
					var ret = '';
					$.each( params, function ( key, value ) {
						if ( value !== '' ) {
							ret += '|' + key + '=' + value;
						}
					} );
					return ret + '|firma=~~~~';
				}
			}
		},
		'Cancellazione': {
			group: 'avvisivoci',
			hotkey: 'D',
			icon: '//upload.wikimedia.org/wikipedia/commons/7/7b/Pulsante_cancsempl.gif',
			template: {
				name: 'Cancellazione',
				position: 'top',
				noinclude: true,
				format: function ( params ) {
					return '|arg=';
				}
			}
		},
		'Cancella subito': {
			group: 'avvisivoci',
			hotkey: 'Y',
			icon: '//upload.wikimedia.org/wikipedia/commons/0/03/Pulsante_cancimm.png',
			template: {
				name: 'Cancella subito',
				position: 'top',
				noinclude: true,
				params: {
					criterio: {
						type: 'combobox',
						label: 'Criterio',
						value: criteri
					},
					dettagli: {
						type: 'textbox',
						label: 'Dettagli (obbligatorio per i criteri 5, 7, 11, 12, 13 e 19)'
					}
				},
				format: function ( params ) {
					return '|' +
						( params.criterio !== '' ? criteri.indexOf( params.criterio ) : '' ) +
						( params.dettagli !== '' ? '|dettagli=' + params.dettagli : '' );
				}
			}
		},
		'Unverified': {
			group: 'avvisivoci',
			ns: 6,
			hotkey: 'V',
			icon: '//upload.wikimedia.org/wikipedia/commons/e/e8/Pulsante_unverified.png',
			template: {
				name: 'Unverified',
				format: function ( params ) {
					return '|giorno={{subst:CURRENTDAY}}|mese={{subst:CURRENTMONTHNAME}}|anno={{subst:CURRENTYEAR}}';
				}
			}
		},
		'Blocco totale': {
			group: 'avvisivoci',
			icon: '//upload.wikimedia.org/wikipedia/commons/9/90/Pulsante_editwar.png',
			template: {
				name: 'Protetta',
				position: 'top',
				noinclude: true
			}
		},
		'Trasferimento': {
			group: 'avvisivoci',
			ns: 0,
			icon: '//upload.wikimedia.org/wikipedia/commons/b/bd/Button_recherche_ip.png',
			template: {
				name: 'Trasferimento',
				position: 'top',
				params: {
					progetto: {
						type: 'combobox',
						label: 'Progetto',
						value: projects
					},
					paragrafo: {
						type: 'checkbox',
						label: 'Solo il paragrafo?',
						value: false
					}
				},
				format: function ( params ) {
					var idx = projects.indexOf( params.progetto );
					return '|' + projectCodes[idx] + ( params.paragrafo ? '|par' : '' );
				}
			}
		},
		'Nota disambigua': {
			group: 'avvisivoci',
			ns: function() { return mw.config.get( 'wgNamespaceNumber' ) % 2 === 0; },
			icon: '//upload.wikimedia.org/wikipedia/commons/3/32/Pulsante_nota_dis.png',
			template: {
				name: 'nota disambigua',
				position: 'top',
				params: {
					motivo: {
						type: 'textbox',
						label: 'Motivazione'
					},
					pagina: {
						type: 'textbox',
						label: 'Pagina (senza "[[ ]]")',
						autocomplete: 'contribs'
					},
					redirect: {
						type: 'textbox',
						label: 'Nome del redirect (senza "[[ ]]")'
					}
				},
				format: function ( params ) {
					var b = ( params.motivo + params.pagina + params.redirect ) !== '' ? '|' : '';
					return b + params.motivo + b + ( params.pagina !== '' ? ( params.pagina ) : '' ) +
						   ( params.redirect !== '' ? ( b + params.redirect ) : '' );
				}
			}
		},
		'Disambigua': {
			group: 'avvisivoci',
			ns: 0,
			icon: '//upload.wikimedia.org/wikipedia/commons/6/62/Button_desambig.png',
			template: {
				name: 'Disambigua',
				position: 'top',
				extratext: "\n* '''[[|]]''' - \n* '''[[|]]''' - \n* '''[[|]]''' - "
			}
		},
		'Tmp': {
			group: 'avvisivoci',
			ns: 0,
			icon: '//upload.wikimedia.org/wikipedia/commons/6/6b/Pulsante_tmp.png',
			template: {
				name: 'Tmp',
				position: 'top',
				params: {
					template: {
						type: 'textbox',
						label: 'Template'
					},
					paragrafo: {
						type: 'checkbox',
						label: 'Dati già presenti?',
						value: false
					}
				},
				format: function ( params ) {
					return '|' + params.template + ( params.paragrafo ? '|s' : '' );
				}
			}
		},
		'Scorporo/unione': {
			group: 'avvisivoci',
			ns: 1,
			icon: '//upload.wikimedia.org/wikipedia/commons/5/5f/Button_rediriger.png',
			template: {
				name: 'ScorporoUnione',
				params: {
					azione: {
						type: 'combobox',
						label: 'Scorporo/unione',
						value: [ '', 'scorporo', 'unione' ]
					},
					pagina: {
						type: 'textbox',
						label: 'Pagina (senza "[[ ]]")',
						autocomplete: 'contribs'
					},
					oldid: {
						type: 'textbox',
						label: 'Oldid'
					}
				},
				format: function ( params ) {
					var ret = '';
					$.each( params, function ( key, value ) {
						ret += '|' + key + '=' + value;
					} );
					ret += '|data={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}';
					return ret;
				}
			}
		},
		'Portale': {
			group: 'avvisivoci',
			ns: 0,
			icon: '//upload.wikimedia.org/wikipedia/commons/3/33/Pulsante_Portali.png',
			template: {
				name: 'Portale',
				params: {
					portale1: {
						type: 'combobox',
						label: 'Portale 1',
						value: portali
					},
					portale2: {
						type: 'combobox',
						label: 'Portale 2',
						value: portali
					},
					portale3: {
						type: 'combobox',
						label: 'Portale 3',
						value: portali
					}
				},
				format: function ( params ) {
					return '|' + params.portale1 +
						   ( params.portale2 !== '' ? ( '|' + params.portale2 ) : '' ) +
						   ( params.portale2 !== '' && params.portale3 !== '' ?
								( '|' + params.portale3 ) : '' );
				}
			}
		},
		'Citazione necessaria': {
			group: 'avvisivoci',
			ns: 0,
			summary: '+Cn',
			icon: '//upload.wikimedia.org/wikipedia/commons/b/bd/Btn_plus.png',
			text: { pre: '{{Citazione necessaria|', post: '}}' }
		},
		'Dmoz': {
			group: 'avvisivoci',
			ns: 0,
			icon: '//upload.wikimedia.org/wikipedia/commons/d/d5/Pulsante_dmoz.png',
			template: {
				name: 'Dmoz',
				params: {
					percorso: {
						type: 'textbox',
						label: 'Percorso (senza "http://dmoz.org/")'
					},
					voce: {
						type: 'textbox',
						label: 'Nome voce (opzionale)'
					}
				},
				format: function ( params ) {
					return '|' + params.percorso + ( params.voce !== '' ? ( '|' + params.voce ) : '' );
				}
			}
		},
		'Richiesta pulizia': {
			group: 'avvisivoci',
			icon: '//upload.wikimedia.org/wikipedia/commons/2/2e/Button_broom.png',
			template: {
				name: 'RichiestaPulizia',
				params: {
					versione1: {
						type: 'textbox',
						label: 'Oldid versione da cancellare (o iniziale se più di una)'
					},
					versione2: {
						type: 'textbox',
						label: 'Oldid versione finale (se più di una)'
					},
					commento: {
						type: 'textbox',
						label: 'Commento'
					}
				},
				format: function ( params ) {
					return ( params.versione1 !== '' && params.versione2 !== '' ?
						   '|da=' + params.versione1 + '|a=' + params.versione2 : '|' + params.versione1 ) +
						   ( params.commento !== '' ? '|commento=' + params.commento : '' );
				}
			}
		},

		// ===================================
		//   Pulsanti gruppo messaggiutente
		// ===================================

		'Avviso copyviol': {
			group: 'messaggiutente',
			ns: 3,
			icon: '//upload.wikimedia.org/wikipedia/commons/e/ef/Pulsante_avvcopy.png',
			template: {
				name: 'Avvisocopyviol',
				sign: true,
				params: {
					voce: {
						type: 'textbox',
						label: 'Pagina (senza "[[ ]]")',
						autocomplete: 'contribs'
					},
					url: {
						type: 'textbox',
						label: 'URL o altra fonte'
					},
					otrs: {
						type: 'checkbox',
						label: 'Senza indicazioni OTRS',
						value: false
					}
				},
				format: function ( params ) {
					return '|pagina=' + params.voce + '|url=' + params.url +
						   ( params.otrs ? '|OTRS=no' : '' );
				}
			}
		},
		'Avviso cancellazione': {
			group: 'messaggiutente',
			ns: 3,
			icon: '//upload.wikimedia.org/wikipedia/commons/0/00/Pulsante-cancut.png',
			template: {
				name: 'Cancellazione',
				sign: true,
				params: {
					pagina: {
						type: 'textbox',
						label: 'Pagina (senza "[[ ]]")',
						autocomplete: 'contribs'
					},
					vot: {
						type: 'textbox',
						label: 'Numero votazione (solo se diverso da 1)'
					}
				},
				format: function ( params ) {
					return '|' + params.pagina + ( params.vot !== '' ? ( '|' + params.vot ) : '' );
				}
			}
		},
		'Avviso immagine': {
			group: 'messaggiutente',
			ns: 3,
			icon: '//upload.wikimedia.org/wikipedia/commons/a/a5/Pulsante_avviso_licenza_immagine.png',
			template: {
				name: 'Avvisoimmagine',
				subst: true,
				sign: true,
				params: {
					img1: {
						type: 'textbox',
						label: 'Immagine 1 (es: NomeImmagine.ext)'
					},
					img2: {
						type: 'textbox',
						label: 'Immagine 2 (opzionale)'
					},
					img3: {
						type: 'textbox',
						label: 'Immagine 3 (opzionale)'
					}
				},
				format: function ( params ) {
					var ret;
					if ( params.img1 !== '' && params.img2 !== '' && params.img3 !== '' ) {
						ret = '|immagini=[[:Immagine:' + params.img1 + ']], [[:Immagine:' +
							  params.img2 + ']] e [[:Immagine:' + params.img3 + ']]';
					} else if ( params.img1 !== '' && params.img2 !== '' ) {
						ret = '|immagini=[[:Immagine:' + params.img1 + ']] e [[:Immagine:' + params.img2 + ']]';
					} else {
						ret = '|immagine=[[:Immagine:' + params.img1;
					}
					return ret;
				}
			}
		},
		'Avviso vandalismo': makeMessaggio( 'Vandalismo', '//upload.wikimedia.org/wikipedia/commons/6/64/Wiki_vand.gif', 1 ),
		'Cartellino giallo': makeMessaggio( 'yc', '//upload.wikimedia.org/wikipedia/commons/c/cc/Bouton_Vandale2.png', 0 ),
		'Cartellino rosso': {
			group: 'messaggiutente',
			ns: 3,
			icon: '//upload.wikimedia.org/wikipedia/commons/e/e4/Bouton_Vandale3.png',
			template: {
				name: 'rc',
				subst: true,
				params: {
					durata: {
						type: 'textbox',
						label: 'Durata del blocco'
					}
				},
				format: function ( params ) {
					return '|' + params.durata + '|~~~~';
				}
			}
		},
		'Blocco': {
			group: 'messaggiutente',
			ns: 3,
			icon: '//upload.wikimedia.org/wikipedia/commons/7/7e/Bouton_Vandale4.png',
			template: {
				name: 'Blocco',
				sign: 'true',
				params: {
					motivo: {
						type: 'textbox',
						label: 'Motivazione'
					},
					durata: {
						type: 'textbox',
						label: 'Durata'
					}
				},
				format: function ( params ) {
					return '|' + params.motivo + '|' + params.durata;
				}
			}
		},
		'Spam': makeMessaggio( 'Spam', '//upload.wikimedia.org/wikipedia/commons/c/cb/Pulsante_spam.png', 1 ),
		'Test': {
			group: 'messaggiutente',
			ns: 3,
			icon: '//upload.wikimedia.org/wikipedia/commons/4/40/Wiki_test.GIF',
			template: {
				name: 'test',
				sign: true,
				params: {
					voce: {
						type: 'textbox',
						label: 'Pagina (senza "[[ ]]")',
						autocomplete: 'contribs'
					},
					rev: {
						type: 'textbox',
						label: 'Diff link'
					}
				},
				format: function ( params ) {
					return params.voce !== '' ?  ( '|voce=' + params.voce +
						   ( params.rev !== '' ? ( '|revisione=' + params.rev ) : '' ) ) : '';
				}
			}
		},
		'Non enciclopedico': makeMessaggio( 'Non enciclopedico', '//upload.wikimedia.org/wikipedia/commons/9/9d/Button_halt.png', 1 ),
		'Senza senso': makeMessaggio( 'Senza senso', '//upload.wikimedia.org/wikipedia/commons/a/aa/Button_question.png', 1 ),
		'Benvenuto': makeMessaggio( 'Benvebot', '//upload.wikimedia.org/wikipedia/commons/7/74/Pulsante_benvenuto.png', 0, true ),
		'Dati personali': makeMessaggio( 'Dati personali', '//upload.wikimedia.org/wikipedia/commons/3/35/Sister_icon.png', 1 ),
		'Grazie': makeMessaggio( 'Grazie', '//upload.wikimedia.org/wikipedia/commons/2/23/Pulsante_grazie.png', 4 ),
		'Aiuto wikificare': makeMessaggio( 'AiutoW', '//upload.wikimedia.org/wikipedia/commons/2/24/Pulsante-wikificare.gif', 4 ),
		'Avviso firma': makeMessaggio( 'Avviso firma', '//upload.wikimedia.org/wikipedia/commons/7/7d/Mifirma.jpg', 0 ),
		'Anteprima': makeMessaggio( 'Anteprima', '//upload.wikimedia.org/wikipedia/commons/b/b6/Vector_toolbar_search-replace_button.png', 1 ),
		'Avviso evento futuro': makeMessaggio( 'Avviso evento futuro', '//upload.wikimedia.org/wikipedia/commons/4/4f/Button_clock.png', 4 ),
		'Blocco nome utente': makeMessaggio( 'BloccoNomeUtente', '//upload.wikimedia.org/wikipedia/commons/9/96/PeopleABC.png', 0, true ),
		'Conto terzi': makeMessaggio( 'Conto terzi', '//upload.wikimedia.org/wikipedia/commons/8/80/Button_number_3.png', 4 ),
		'Firma': makeMessaggio( 'Firma', '//upload.wikimedia.org/wikipedia/commons/6/6d/Button_sig.png', 1 ),
		'Oggetto': makeMessaggio( 'Oggetto', '//upload.wikimedia.org/wikipedia/commons/e/e7/Button-attachment.png', 1 ),
		'Blocco infinito': makeMessaggio( 'BloccoInfinito', '//upload.wikimedia.org/wikipedia/it/2/22/Pulsante_stop.png', 1 ),
		'Rimozione contenuti': makeMessaggio( 'RimozioneContenuti', '//upload.wikimedia.org/wikipedia/commons/e/ec/Button_aviso.png', 1 ),
		'Avviso avvisi': {
			group: 'messaggiutente',
			ns: 3,
			icon: '//upload.wikimedia.org/wikipedia/commons/2/21/Button_invalid_template.png',
			template: {
				name: 'Avvisoavvisi',
				sign: true,
				params: {
					voce: {
						type: 'textbox',
						label: 'Pagina (senza "[[ ]]")',
						autocomplete: 'contribs'
					},
					commento: {
						type: 'textbox',
						label: 'Commento'
					}
				},
				format: function ( params ) {
					return ( params.voce !== '' || params.commento !== '' ? '|' : '' ) + params.voce +
						   ( params.commento !== '' ? '|' : '' ) + params.commento;
				}
			}
		},

		// ============================
		//   Pulsanti gruppo altro
		// ============================
	
		'Ping': {
			group: 'altro',
			icon: '//upload.wikimedia.org/wikipedia/commons/b/b7/Button_ping.png',
			ns: function() { return mw.config.get( 'wgNamespaceNumber' ) !== 0; },
			template: {
				name: 'Ping',
				params: {
					user: {
						type: 'textbox',
						label: 'Utente',
						autocomplete: 'users'
					},
					user2: {
						type: 'textbox',
						label: 'Utente 2',
						autocomplete: 'users'
					},
					user3: {
						type: 'textbox',
						label: 'Utente 3',
						autocomplete: 'users'
					},
					user4: {
						type: 'textbox',
						label: 'Utente 4',
						autocomplete: 'users'
					}
				},
				format: function ( params ) {
					var ret = '';
					$.each( params, function ( key, value ) {
						if ( value !== '' ) {
							ret += '|' + value;
						}
						return value !== '';
					} );
					return ret;
				}
			}
		},
		'Problematico': {
			group: 'altro',
			icon: '//upload.wikimedia.org/wikipedia/commons/e/e1/Button_problematic.png',
			template: {
				name: 'Problematico',
				params: {
					utente: {
						type: 'textbox',
						label: 'Utente',
						autocomplete: 'users'
					}
				},
				format: function ( params ) {
					return '|' + params.utente;
				}
			}
		},
		'Vandalo': {
			group: 'altro',
			icon: '//upload.wikimedia.org/wikipedia/commons/6/64/Wiki_vand.gif',
			template: {
				name: 'Vandalo',
				params: {
					utente: {
						type: 'textbox',
						label: 'Utente',
						autocomplete: 'users'
					}
				},
				format: function ( params ) {
					return '|' + params.utente;
				}
			}
		},
		'Vedi anche': {
			group: 'altro',
			icon: '//upload.wikimedia.org/wikipedia/commons/1/12/Button_find.png',
			template: {
				name: 'Vedi anche',
				params: {
					pagina: {
						type: 'textbox',
						label: 'Pagina',
						autocomplete: 'contribs'
					}
				},
				format: function ( params ) {
					return '|' + params.pagina;
				}
			}
		},
		'Voto a favore': {
			group: 'altro',
			icon: '//upload.wikimedia.org/wikipedia/commons/0/03/Pulsante_favorevole.png',
			text: { pre: '* {{+1}} ~~~~' }
		},
		'Voto astenuto': {
			group: 'altro',
			icon: '//upload.wikimedia.org/wikipedia/commons/a/aa/Astenuto.png',
			text: { pre: '* {{0}} ~~~~' }
		},
		'Voto contrario': {
			group: 'altro',
			icon: '//upload.wikimedia.org/wikipedia/commons/e/e7/Pulsante_contrario.png',
			text: { pre: '* {{-1}} ~~~~' }
		},
		'Voto': {
			group: 'altro',
			icon: '//upload.wikimedia.org/wikipedia/commons/a/a6/Pulsante_aggiungi_voto.png',
			text: { pre: '# ~~~~' }
		},
		'Tenere': {
			group: 'altro',
			icon: '//upload.wikimedia.org/wikipedia/commons/b/b6/Button_article_de_qualite.png',
			ns: 4,
			template: {
				name: 'Tenere'
			}
		},
		'Cancellare': {
			group: 'altro',
			icon: '//upload.wikimedia.org/wikipedia/commons/1/13/Button_delete.png',
			ns: 4,
			template: {
				name: 'Cancellare'
			}
		},
		'Fatto': {
			group: 'altro',
			icon: '//upload.wikimedia.org/wikipedia/commons/e/e9/Button_done.png',
			ns: function() { return mw.config.get( 'wgNamespaceNumber' ) !== 0; },
			template: {
				name: 'Fatto'
			}
		},
		'Non fatto': {
			group: 'altro',
			icon: '//upload.wikimedia.org/wikipedia/commons/a/a5/Button_not_done.png',
			ns: function() { return mw.config.get( 'wgNamespaceNumber' ) !== 0; },
			template: {
				name: 'Non fatto'
			}
		},
		'Interprogetto': {
			group: 'altro',
			icon: '//upload.wikimedia.org/wikipedia/commons/6/63/Button_out_relevancy.png',
			template: {
				name: 'interprogetto',
				params: {
					pagina: {
						type: 'textbox',
						label: 'Pagina (senza "[[ ]]")'
					},
					progetto: {
						type: 'combobox',
						label: 'Progetto',
						value: iprojects
					}
				},
				format: function ( params ) {
					var ret, idx = projects.indexOf( params.progetto );
					if ( icodes[idx] === 'SPECIAL_W' ) {
						ret = '/notizia|' + params.pagina;
					} else {
						ret = '|' + icodes[idx] +
							  ( params.pagina !== '' ? ( '=' + params.pagina ) : '' );
					}
					return ret;
				}
			}	
		},
		'Scroll box': {
			group: 'altro',
			icon: '//upload.wikimedia.org/wikipedia/commons/7/74/Button_comment.png',
			template: {
				name: 'scroll box',
				format: function ( params ) {
					return '|larghezza=100%|altezza=100px|testo=testo contenuto';
				}
			}
		},
		'Categoria': {
			group: 'altro',
			icon: '//upload.wikimedia.org/wikipedia/commons/c/c0/Pulsante_categoria.png',
			text: { pre: '[[Categoria:', post: ']]' }
		},
		'Galleria': {
			group: 'altro',
			icon: '//upload.wikimedia.org/wikipedia/commons/9/9e/Btn_toolbar_gallery.png',
			text: { pre: '<gallery>', post: '</gallery>' }
		},
		'Redirect': {
			group: 'altro',
			hotkey: 'R',
			icon: '//upload.wikimedia.org/wikipedia/commons/c/c8/Button_redirect.png',
			text: { pre: '#RINVIA[[', post: ']]' }
		},
		'References': {
			group: 'altro',
			icon: '//upload.wikimedia.org/wikipedia/commons/7/79/Button_reflink.png',
			text: { pre: '<ref>', post: '</ref>' }
		},
		'Sezione Note': {
			group: 'altro',
			descr: 'Inserisce la sezione Note e il tag &lt;references/&gt;.',
			icon: '//upload.wikimedia.org/wikipedia/commons/5/54/Button_naissance.png',
			text: { pre: '\n== Note ==\n<references />\n' }
		},
		'Monitoraggio': {
			group: 'altro',
			ns: 1,
			hotkey: 'M',
			icon: '//upload.wikimedia.org/wikipedia/commons/2/26/Pulsante_monitoraggio.png',
			template: {
				name: 'Monitoraggio',
				position: 'top',
				params: {
					progetto: { type: 'combobox', label: 'Progetto', value: progetti },
					progetto2: { type: 'combobox', label: 'Progetto 2', value: progetti },
					progetto3: { type: 'combobox', label: 'Progetto 3', value: progetti },
					progetto4: { type: 'combobox', label: 'Progetto 4', value: progetti },
					accuratezza: { type: 'combobox', label: 'Accuratezza', value: voti },
					scrittura: { type: 'combobox', label: 'Scrittura', value: voti },
					fonti: { type: 'combobox', label: 'Fonti', value: voti },
					immagini: { type: 'combobox', label: 'Immagini', value: voti },
					note: { type: 'textbox', label: 'Note' }
				},
				format: function ( params ) {
					var ret = '\n';
					$.each( params, function ( key, value ) {
						ret += '|' + key + ' = ' + value + '\n';
					} );
					ret += '|utente = ' + mw.config.get( 'wgUserName' ) + '\n';
					ret += '|data = {{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}\n';
					return ret;
				}
			}
		}
	};
}( mediaWiki, jQuery ) );

/* </nowiki> */