MediaWiki:Gadget-toolbar-buttons.js

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.
/**
 * 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 o immagini promozionali, costituite unicamente da collegamenti esterni e/o spam, 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 o integralmente non conformi all'uso appropriato",
			"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 = [ 'Wikipedia', 'Wikisource', 'Wikinews', 'Wikiquote', 'Wikibooks',
					 'Wikizionario', 'Wikispecies', 'Commons', 'meta' ],
		projectCodes = [ 'p', 's', 'n', 'q', 'b', 'wikt', 'p', 'c', 'm' ],
		voti = ['', 'a', 'b', 'c', 'd', 'e'],
		dipartimenti = [
			'', 'Arte, Architettura e Design', 'Economia', 'Giurisprudenza', 'Lingue', 'Medicina', 'Scienze agrarie e tessili', 'Scienze matematiche, fisiche e naturali', 'Scienze meccaniche e aerospaziali', 'Scienze sociali', 'Scuole', 'Studi umanistici', 'Tecnologie dell\'informazione', 'Wikiversità'
		],
		aree = [ 
			"", "Agraria", "Architettura", "Arte", "Bisogni educativi speciali", "Discipline non formali", "Economia", "Farmacia", 
			"Formazione parauniversitaria", "Giurisprudenza", "Ingegneria", "Lettere e filosofia", "Lingue e letterature straniere", 
			"Medicina e chirurgia", "Musica", "Psicologia", "Scienze della comunicazione", "Scienze della formazione", "ScienzeMNF", 
			"Scienze motorie e sportive", "Scienze politiche", "Studi militari", "Scuola dell'infanzia", "Scuola primaria", "Scuola media", 
			"Scuola secondaria superiore", "Sociologia", "Teologia"
		],
		iprojects = [
			"wikipedia ( italiano )", "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 )", "wikipedia ( inglese )", "wikisource ( inglese )",
			"wikibooks ( inglese )", "wikinews ( inglese )", "wikiquote ( inglese )", "wiktionary ( inglese )"
		],
		icodes = [
			"w", "commons", "s", "testo", "b", "ricetta", "n", "SPECIAL_W", "q", "m", "wikt",
			"wikispecies", "wikipedia", "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 ) {
		return {
			group: 'messaggiutente',
			ns: 3,
			icon: icon,
			template: {
				name: template,
				sign: true,
				params: {
					pagina: {
						type: 'textbox',
						label: 'Pagina',
						autocomplete: 'contribs'
					}
				},
				format: function ( params ) {
					return params.pagina !== '' ? ( '|' + params.pagina ) : '';
				}
			}
		};
	}

	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 controllare': makeAvviso( 'C', 'C', '//upload.wikimedia.org/wikipedia/commons/6/63/Pulsante_controllare.gif' ),
		'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 ) : '' );
				}
			}
		},
		'Sezione vuota': {
			group: 'avvisivoci',
			icon: '//upload.wikimedia.org/wikipedia/commons/5/50/Button_hellip.png',
			template: { 
				name: '...'
			}
		},
		'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 Wikiversità: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',
				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}}';
				}
			}
		},
		'Protezioni pagina': {
			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;
				}
			}
		},
		'Citazione necessaria': {
			group: 'avvisivoci',
			ns: 0,
			summary: '+Cn',
			icon: '//upload.wikimedia.org/wikipedia/commons/b/bd/Btn_plus.png',
			text: { pre: '{{Citazione necessaria|', post: '}}' }
		},

		// ===================================
		//   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' ),
		'Cartellino giallo': {
			group: 'messaggiutente',
			ns: 3,
			icon: '//upload.wikimedia.org/wikipedia/commons/c/cc/Bouton_Vandale2.png',
			template: {
				name: 'yc',
				sign: true
			}
		},
		'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' ),
		'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' ),
		'Senza senso': makeMessaggio( 'Senza senso', '//upload.wikimedia.org/wikipedia/commons/a/aa/Button_question.png' ),
		'Benvenuto': {
			group: 'messaggiutente',
			ns: 3,
			summary: 'Benvenuto/a su Wikiversità' ,
			icon: '//upload.wikimedia.org/wikipedia/commons/7/74/Pulsante_benvenuto.png',
			template: {
				name: 'Benvenuto',
				subst: true,
				format: function ( params ) {
					return '|firma=~~~~';
				}
			},
		},
		'Benvenuta': {
			group: 'messaggiutente',
			ns: 3,
			summary: 'Benvenuta/o su Wikiversità' ,
			icon: '//upload.wikimedia.org/wikipedia/commons/0/00/Pulsante_benvenuta.png',
			template: {
				name: 'Benvenuta',
				subst: true,
				format: function ( params ) {
					return '|firma=~~~~';
				}
			},
		},
		'Dati personali': makeMessaggio( 'Dati personali', '//upload.wikimedia.org/wikipedia/commons/3/35/Sister_icon.png' ),
		'Grazie': {
			group: 'messaggiutente',
			ns: 3,
			icon: '//upload.wikimedia.org/wikipedia/commons/2/23/Pulsante_grazie.png',
			template: {
				name: 'Grazie',
				sign: true,
				params: {
					pag1: {
						type: 'textbox',
						label: 'Pagina (senza "[[ ]]")',
						autocomplete: 'contribs'
					},
					pag2: {
						type: 'textbox',
						label: 'Pagina 2'
					},
					pag3: {
						type: 'textbox',
						label: 'Pagina 3'
					},
					pag4: {
						type: 'textbox',
						label: 'Pagina 4'
					}
				},
				format: function ( params ) {
					var ret = '';
					$.each( params, function ( key, value ) {
						if ( value !== '' ) {
							ret += '|' + value;
						}
						return value !== '';
					} );
					return ret;
				}
			}
		},
		'Aiuto wikificare': makeMessaggio( 'AiutoW', '//upload.wikimedia.org/wikipedia/commons/2/24/Pulsante-wikificare.gif' ),
		'Avviso firma': {
			group: 'messaggiutente',
			ns: 3,
			icon: '//upload.wikimedia.org/wikipedia/commons/7/7d/Mifirma.jpg',
			template: {
				name: 'Avviso firma',
				sign: true
			}
		},

		// ============================
		//   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: '# ~~~~' }
		},
		'Dot': {
			group: 'altro',
			icon: '//upload.wikimedia.org/wikipedia/commons/a/aa/Button_dot1.PNG',
			template: { 
				name: '·'
			}
		},
		'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: {
					dipartimento: { type: 'combobox', label: 'Dipartimento', value: dipartimenti },
					dipartimento2: { type: 'combobox', label: 'Dipartimento 2', value: dipartimenti },
					dipartimento3: { type: 'combobox', label: 'Dipartimento 3', value: dipartimenti },
					dipartimento4: { type: 'combobox', label: 'Dipartimento 4', value: dipartimenti },
					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> */