/*
* Estensione di LiveRC che permette di inserire i template di avviso in cima alle voci
--------------------------------------------------------------------------------------
*
---------LLLL---------III--------------------------RRRRRRRRRR--------CCCCC------------
* Auteur : [[:it:User:Jalo]] [[:it:User:Rotpunkt]] [[:fr:User:Dr Brains]]
---------LLLL---------III--------------------------RRRRRRRRRRRR----CCCCCCCCC----------
*
---------LLLL--------------------------------------RRR------RRR---CCC-----CCC---------
* This script contains functions (InserisciTemplate_showDialog, InserisciTemplate_dumpTemplate and InserisciTemplate_buildInputEl)
---------LLLL---------III--VV-----VV--EEEEEEEEE----RRR------RRR--CCC------------------
* and formats (all template definitions) modified from:
---------LLLL---------III---VV---VV---EEE----------RRRRRRRRRRR---CCC------------------
* http://it.wikipedia.org/w/index.php?title=MediaWiki:Gadget-tb-base.js&oldid=66478020
---------LLLL---------III---VV---VV---EEEEEE-------RRRRRRRRRR----CCC------------------
* http://it.wikipedia.org/w/index.php?title=MediaWiki:Gadget-tb-* (for the templates)
---------LLLL---------III----VV-VV----EEEEEE-------RRR-----RRR----CCC-----CCC---------
* author Rotpunkt (http://it.wikipedia.org/wiki/Utente:Rotpunkt)
---------LLLLLLLLLLL--III----VVVVV----EEE----------RRR------RRR----CCCCCCCCC----------
*/
---------LLLLLLLLLLL--III-----VVV-----EEEEEEEEE----RRR-------RRR-----CCCCC------------
/* jshint maxerr: 10000, curly: true */
--------------------------------------------------------------------------------------
'''Extension de LiveRC'''
// Permette di inserire i template di avviso in cima alle voci
* Licence : ...?
* Documentation :
* Auteur : [[:it:User:Jalo]] [[:it:User:Rotpunkt]]
*
* This script contains functions (InserisciTemplate_showDialog, InserisciTemplate_dumpTemplate and InserisciTemplate_buildInputEl)
* and formats (all template definitions) modified from:
* http://it.wikipedia.org/w/index.php?title=MediaWiki:Gadget-tb-base.js&oldid=66478020
* http://it.wikipedia.org/w/index.php?title=MediaWiki:Gadget-tb-* (for the templates)
* author Rotpunkt (http://it.wikipedia.org/wiki/Utente:Rotpunkt)
*
* Développement et maintenance :
LiveRC_Config.InstalledLiveRCExtensions.push( "InserisciTemplate" );
{{Catégorisation JS|LiveRC}}
*/
//<source lang=javascript>
importStylesheetURI( '//it.wikipedia.org/w/index.php?title=MediaWiki:Gadget-LiveRC 1x.js/InserisciTemplate.css&action=raw&ctype=text/css' );
if (typeof(lrcHooks)!="undefined") { // DÉBUT IF
var templateArguments = {
/////////////////////////////// CSS ///////////////////////////////////////////////////////
A: [
"", "alimentazione", "animazione", "anime e manga", "antropologia", "antroponimi", "araldica", "archeologia", "associazioni", "astronautica", "aviazione", "cinema", "cultura", "danza", "design", "diritto", "ecologia", "economia", "editoria", "energia", "fantascienza", "fantasy", "filatelia", "filosofia",
importStylesheetURI('//it.wikipedia.org/w/index.php?title=MediaWiki:Gadget-LiveRC 1x.js/InserisciTemplate.css&action=raw&ctype=text/css');
"fotografia", "fumetti", "geografia", "giochi", "giornalismo", "guerra", "informatica", "istruzione", "lavoro", "LGBT", "linguistica", "marina", "mitologia", "moda", "musica", "natura", "nautica", "numismatica", "onorificenze", "paleontologia", "politica", "pornografia", "professioni", "psicologia",
"scautismo", "scienza", "sessualità", "società", "sociologia", "sport", "storia", "trasporti", "turismo", "urbanistica", "voci comuni"
///////////////////////// VARIABLES ////////////////////////////////////////////////////////
],
C: [
//// PARAMÈTRES PERSONNALISABLES ////
"", "alimentazione", "animazione", "anime e manga", "antropologia", "antroponimi", "araldica", "archeologia", "architettura", "arte", "associazioni", "biografie", "cinema", "cronologia", "cultura", "diritto", "ecologia", "editoria", "energia", "enologia", "fantascienza", "filatelia", "filosofia",
"fotografia", "fumetti", "geografia", "giochi", "guerra", "immaginario", "informatica", "lavoro", "leggende", "letteratura", "LGBT", "linguistica", "medicina", "metrologia", "mezzi di trasporto", "mitologia", "moda", "musica", "natura", "neuroscienze", "numismatica", "paleontologia", "patrimoni dell'umanità",
var templateArguments_A = [
"educazione", "alimentazionepesca", "animazionepolitica", "anime e mangapornografia", "antropologiaprofessioni", "antroponimipsicologia", "araldicareligione", "archeologiascautismo", "associazioniscienza", "astronauticasessualità", "aviazionesocietà", "cinemasociologia", "culturasport", "danzastoria", "designteatro", "dirittotecnologia", "ecologiatrasporti", "economiaturismo", "editoriaurbanistica", "energiavessillologia", "fantascienza",voci comuni"fantasy", "filatelia", "filosofia",
],
"fotografia", "fumetti", "geografia", "giochi", "giornalismo", "guerra", "informatica", "istruzione", "lavoro", "LGBT", "linguistica", "marina", "mitologia", "moda", "musica", "natura", "nautica", "numismatica", "onorificenze", "paleontologia", "politica", "pornografia", "professioni", "psicologia",
E: [
"scautismo", "scienza", "sessualità", "società", "sociologia", "sport", "storia", "trasporti", "turismo", "urbanistica", "voci comuni"
"", "alimentazione", "animazione", "antropologia", "antroponimi", "araldica", "archeologia", "architettura", "aree naturali protette", "astronomia", "aviazione", "biografie", "biologia", "botanica", "chimica", "cinema", "cucina", "cultura", "danza", "diritto", "ecologia", "economia", "editoria",
];
"elettronica", "enologia", "fantascienza", "filatelia", "filosofia", "fisica", "fotografia", "fumetti", "geografia", "geologia", "giochi", "giornalismo", "guerra", "informatica", "ingegneria", "istruzione", "letteratura", "LGBT", "lingue", "linguistica", "marina", "meccanica", "medicina", "mineralogia",
"mitologia", "moda", "musei", "musica", "natura", "neopaganesimo", "neuroscienze", "nobiltà", "numismatica", "paranormale", "pesca", "politica", "pornografia", "professioni", "psicologia", "religione", "scautismo", "scienza", "sessualità", "società", "sociologia", "spettacolo", "sport", "storia",
var templateArguments_C = [
"teatro", "tecnologia", "template", "trasporti", "turismo", "università", "urbanistica", "zoologia"
"", "alimentazione", "animazione", "anime e manga", "antropologia", "antroponimi", "araldica", "archeologia", "architettura", "arte", "associazioni", "biografie", "cinema", "cronologia", "cultura", "diritto", "ecologia", "editoria", "energia", "enologia", "fantascienza", "filatelia", "filosofia",
],
"fotografia", "fumetti", "geografia", "giochi", "guerra", "immaginario", "informatica", "lavoro", "leggende", "letteratura", "LGBT", "linguistica", "medicina", "metrologia", "mezzi di trasporto", "mitologia", "moda", "musica", "natura", "neuroscienze", "numismatica", "paleontologia", "patrimoni dell'umanità",
F: [
"educazione", "pesca", "politica", "pornografia", "professioni", "psicologia", "religione", "scautismo", "scienza", "sessualità", "società", "sociologia", "sport", "storia", "teatro", "tecnologia", "trasporti", "turismo", "urbanistica", "vessillologia", "voci comuni"
"", "araldica", "archeologia", "arte", "cronologia", "cultura", "geografia", "giochi", "musica", "natura", "nobiltà", "onomastica", "patrimoni dell'umanità", "scienza", "società", "sport", "storia", "tecnologia", "trasporti", "voci comuni"
];
],
O: [
var templateArguments_E = [
"", "aviazione", "alimentazione", "animazione", "antropologia", "antroponimi", "araldica", "archeologia", "architettura", "aree naturali protettearte", "astronomiabiografie", "aviazionecinema", "biografiecultura", "biologiadanza", "botanicadiritto", "chimicaeconomia", "cinemaeditoria", "cucinafilatelia", "culturafilosofia", "danzafumetti", "dirittogeografia", "ecologiageologia", "economiagiochi", "editoriaguerra", "istruzione",
"elettronicaletteratura", "enologialinguistica", "fantascienzamarina", "filateliamedicina", "filosofiamitologia", "fisicamusica", "fotografianatura", "fumettineuroscienze", "geografianumismatica", "geologiapaleontologia", "giochipolitica", "giornalismoprofessioni", "guerrapseudoscienza", "informaticapsicologia", "ingegneriareligione", "istruzionescautismo", "letteraturascienza", "LGBT",scienze "linguesociali", "linguistica",scienze "marinaumanistiche", "meccanicasessualità", "medicinasocietà", "mineralogia",
"sport", "storia", "storia di famiglia", "teatro", "tecnologia", "trasporti", "turismo", "urbanistica", "valute", "vessillologia", "voci comuni"
"mitologia", "moda", "musei", "musica", "natura", "neopaganesimo", "neuroscienze", "nobiltà", "numismatica", "paranormale", "pesca", "politica", "pornografia", "professioni", "psicologia", "religione", "scautismo", "scienza", "sessualità", "società", "sociologia", "spettacolo", "sport", "storia",
],
"teatro", "tecnologia", "template", "trasporti", "turismo", "università", "urbanistica", "zoologia"
P: [
];
"", "alimentazione", "animazione", "antropologia", "antroponimi", "archeologia", "architettura", "associazioni", "astronautica", "aziende", "biografie", "botanica", "cinema", "cucina", "cultura", "design", "diritto", "ecologia", "economia", "energia", "fantasy", "filatelia", "filosofia", "fotografia",
"fumetti", "geografia", "giochi", "Internet", "istruzione", "LGBT", "linguistica", "marina", "mezzi di trasporto", "mitologia", "moda", "montagna", "musica", "natura", "numismatica", "pornografia", "professioni", "psicologia", "radio", "religione", "scautismo", "scienza", "sessualità", "società",
var templateArguments_F = [
"sociologia", "storia", "tecnologia", "televisione", "trasporti", "turismo", "urbanistica", "voci comuni"
"", "araldica", "archeologia", "arte", "cronologia", "cultura", "geografia", "giochi", "musica", "natura", "nobiltà", "onomastica", "patrimoni dell'umanità", "scienza", "società", "sport", "storia", "tecnologia", "trasporti", "voci comuni"
];,
S: [
"", "Africa", "agricoltura", "album musicali", "alimentazione", "alpinismo", "alpinisti", "anfibi", "animazione", "anime e manga", "antica Grecia", "antica Roma", "antropologia", "archeologia", "architetti", "architettura",
var templateArguments_O = [
"",aree "aviazionenaturali protette", "alimentazionearte", "animazioneassociazioni", "antropologiaastronomia", "antroponimiattori", "araldicaaviazione", "archeologiaaziende", "architettura",beach "artevolley", "biografie", "cinemabiologia", "culturaBisanzio", "danzabotanica", "dirittocalciatori", "economiacalcio", "editoriacantanti", "filateliacattolicesimo", "filosofiacestisti", "fumetti", "geografia", "geologia", "giochi", "guerra", "istruzione",
"letteraturachiese", "linguisticachimica", "marina",chimica "medicinafisica", "mitologiaciclismo", "musicacinema", "naturacittà", "neuroscienzecollezionismo", "numismaticaconflitti", "paleontologiacriminalità", "politicacristianesimo", "professionicucina", "pseudoscienzadanza", "psicologiadesign", "religionediritto", "scautismoDisney", "scienzaecologia", "scienze socialieconomia", "scienze umanisticheeditoria", "sessualitàeducazione", "società",
"erotismo", "fantascienza", "fantasy", "Ferrari", "ferrovie", "film", "filologia", "filosofia", "fisica", "fiumi", "fumetti", "geografia", "geologia", "geometria", "giochi", "giornalisti", "gruppi musicali", "guerra", "guerre napoleoniche",
"sport", "storia", "storia di famiglia", "teatro", "tecnologia", "trasporti", "turismo", "urbanistica", "valute", "vessillologia", "voci comuni"
"Guerre stellari", "hip hop", "industria", "informatica", "ingegneria", "isole", "istituzioni", "istruzione", "letteratura", "LGBT", "linguistica", "logica", "mammiferi", "marina", "mass media", "matematica", "meccanica", "medicina", "metal", "mineralogia",
];
"mitologia", "mitologia greca", "mitologia romana", "moda", "montagne", "musica", "musica classica", "musicisti", "numismatica", "numismatici", "nuoto", "pallacanestro", "pallavolo", "paranormale", "patrimoni dell'umanità", "personaggi immaginari", "pesci",
"piante", "piloti automobilistici", "pittura", "Pokémon", "politica", "politici", "pornografia", "psicologia", "punk", "religione", "rettili", "rock", "santi", "scautismo", "sci", "scienza", "scrittori", "scultura", "seconda guerra mondiale", "singoli discografici",
var templateArguments_P = [
"sociologia", "alimentazione",sostanze "animazionechimiche", "antropologiasport", "antroponimisportivi", "archeologiastadi", "architettura",Star "associazioniTrek", "astronauticastoria", "aziende",storia "biografieantica", "botanica",storia "cinemacontemporanea", "cucina",storia "culturamedievale", "design",storia "dirittomoderna", "ecologiateatro", "economiatecnologia", "energiatelecomunicazioni", "fantasytelevisione", "filatelia",Terra "filosofiadi Mezzo", "fotografiatrasporti",
"turismo", "uccelli", "urbanistica", "vescovi", "videogiochi", "voci comuni", "wrestling"
"fumetti", "geografia", "giochi", "Internet", "istruzione", "LGBT", "linguistica", "marina", "mezzi di trasporto", "mitologia", "moda", "montagna", "musica", "natura", "numismatica", "pornografia", "professioni", "psicologia", "radio", "religione", "scautismo", "scienza", "sessualità", "società",
],
"sociologia", "storia", "tecnologia", "televisione", "trasporti", "turismo", "urbanistica", "voci comuni"
T: [
];
"", "alimentazione", "alpinismo", "animali", "animazione", "antropologia", "antroponimi", "araldica", "archeologia", "architettura", "artropodi", "associazioni", "astrologia", "astronautica", "astronomia", "aviazione", "aziende", "biografie", "biologia", "botanica", "chimica", "cinema", "costume",
"cucina", "cultura", "danza", "design", "diritto", "Disney", "ebraismo", "ecologia", "editoria", "elettronica", "energia", "filatelia", "filosofia", "fisica", "fotografia", "fumetti", "geologia", "giochi", "giornalismo", "grafica", "guerra", "ingegneria", "istruzione", "LGBT", "linguistica", "marina",
var templateArguments_S = [
"meccanica", "Africamedicina", "agricolturameteorologia", "albummicologia", musicali"mitologia", "alimentazionemoda", "alpinismomusei", "alpinistimusica", "anfibinatura", "animazioneneopaganesimo", "animenumismatica", e"paleontologia", manga"pesca", "anticapolitica", Grecia"pornografia", "anticaprofessioni", Roma"pseudoscienza", "antropologiapsicologia", "archeologiapsicometria", "architettipubblica amministrazione", "architetturareligione", "scautismo",
"areescienza", naturali"scienze protetteumanistiche", "artesessualità", "associazioniSicilia", "astronomiasocietà", "attorisociologia", "aviazioneSpagna", "aziendespettacolo", "beach volleysport", "biografiestoria", "biologiateatro", "Bisanziotecnologia", "botanicatelevisione", "calciatoritrasporti", "calcioturismo", "cantantiurbanistica", "cattolicesimovessillologia", "cestistivoci comuni", "zoologia"
],
"chiese", "chimica", "chimica fisica", "ciclismo", "cinema", "città", "collezionismo", "conflitti", "criminalità", "cristianesimo", "cucina", "danza", "design", "diritto", "Disney", "ecologia", "economia", "editoria", "educazione",
U: [
"erotismo", "fantascienza", "fantasy", "Ferrari", "ferrovie", "film", "filologia", "filosofia", "fisica", "fiumi", "fumetti", "geografia", "geologia", "geometria", "giochi", "giornalisti", "gruppi musicali", "guerra", "guerre napoleoniche",
"Guerre stellari", "hipanime e hopmanga", "industriaantropologia", "informaticaantroponimi", "ingegneriaaraldica", "isolearcheologia", "istituzioniassociazioni", "istruzioneastronomia", "letteraturaaviazione", "LGBTaziende", "linguisticabiografie", "logicacinema", "mammifericontrolli automatici", "marinacronologia", "masscucina", media"cultura", "matematicadanza", "meccanicadiritto", "medicinaecologia", "metaleditoria", "mineralogiafantasy", "filatelia", "filosofia",
"mitologiafumetti", "mitologiagiochi", greca"giornalismo", "mitologiaistruzione", romana"lavoro", "modaletteratura", "montagneLGBT", "musicalingue", "musicalinguistica", classica"marina", "musicistimitologia", "numismaticamoda", "numismaticimusei", "nuotomusica", "pallacanestronatura", "pallavolonumismatica", "paranormalepaleontologia", "patrimonipolitica", dell'umanità"pornografia", "personaggiradio", immaginari"religione", "pesciscautismo", "scienza", "sessualità", "società",
"sociologia", "spettacolo", "sport", "teatro", "tecnologia", "televisione", "template", "trasporti", "turismo", "urbanistica", "voci comuni", "zoologia"
"piante", "piloti automobilistici", "pittura", "Pokémon", "politica", "politici", "pornografia", "psicologia", "punk", "religione", "rettili", "rock", "santi", "scautismo", "sci", "scienza", "scrittori", "scultura", "seconda guerra mondiale", "singoli discografici",
],
"sociologia", "sostanze chimiche", "sport", "sportivi", "stadi", "Star Trek", "storia", "storia antica", "storia contemporanea", "storia medievale", "storia moderna", "teatro", "tecnologia", "telecomunicazioni", "televisione", "Terra di Mezzo", "trasporti",
W: [
"turismo", "uccelli", "urbanistica", "vescovi", "videogiochi", "voci comuni", "wrestling"
"", "alimentazione", "animazione", "antropologia", "antroponimi", "araldica", "archeologia", "architettura", "arte", "associazioni", "aviazione", "aziende", "biografie", "cinema", "collezionismo", "cultura", "danza", "design", "diritto", "ecologia", "edilizia", "editoria", "fantascienza", "fantasy", "filosofia", "fumetti", "geografia", "giochi", "guerra", "istruzione", "lavoro", "LGBT", "linguistica", "mitologia", "moda", "musei", "musica", "natura", "numismatica", "pesca", "politica", "pornografia", "professioni", "psicologia", "religione", "scautismo", "scienza", "scienze umanistiche", "sessualità", "società", "sociologia", "spettacolo", "sport", "storia", "teatro", "tecnologia", "trasporti", "turismo", "urbanistica", "vessillologia", "voci comuni"
];
],
Categorizzare: [
var templateArguments_T = [
"", "alimentazione", "alpinismoanime e manga", "animaliantroponimi", "animazionearaldica", "antropologiaarcheologia", "antroponimiarchitettura", "araldicaarte", "archeologiaassociazioni", "architetturaastrologia", "artropodiaviazione", "associazioniaziende", "astrologiabiografie", "astronauticacucina", "astronomiadiritto", "aviazioneecologia", "aziendeeconomia", "biografieeditoria", "biologiafilatelia", "botanicafilosofia", "chimicafotografia", "cinemafumetti", "costumegeografia",
"cucinageologia", "culturagiochi", "danzaguerra", "designingegneria", "dirittoistruzione", "Disneyletteratura", "ebraismoLGBT", "ecologialinguistica", "editoriamarina", "elettronicamedicina", "energiamineralogia", "filateliamitologia", "filosofiamoda", "fisicamusica", "fotografianumismatica", "fumettipolitica", "geologiapornografia", "giochipsicologia", "giornalismoreligione", "graficascautismo", "guerrascienza", "ingegneriaSicilia", "istruzionesocietà", "LGBTsport", "linguistica", "marina",
"storia", "teatro", "tecnologia", "televisione", "template", "trasporti"
"meccanica", "medicina", "meteorologia", "micologia", "mitologia", "moda", "musei", "musica", "natura", "neopaganesimo", "numismatica", "paleontologia", "pesca", "politica", "pornografia", "professioni", "pseudoscienza", "psicologia", "psicometria", "pubblica amministrazione", "religione", "scautismo",
],
"scienza", "scienze umanistiche", "sessualità", "Sicilia", "società", "sociologia", "Spagna", "spettacolo", "sport", "storia", "teatro", "tecnologia", "televisione", "trasporti", "turismo", "urbanistica", "vessillologia", "voci comuni", "zoologia"
Correggere: [
];
"", "alimentazione", "animazione", "anime e manga", "antropologia", "araldica", "archeologia", "architettura", "arte", "associazioni", "astronautica", "astronomia", "aviazione", "aziende", "biografie", "biologia", "chimica", "cinema", "criminalità", "cucina", "cultura", "danza", "diritto", "economia",
"editoria", "energia", "fantasy", "filosofia", "fisica", "fotografia", "fumetti", "geografia", "geologia", "giochi", "giornalismo", "guerra", "immaginario", "informatica", "ingegneria", "istruzione", "lavoro", "letteratura", "LGBT", "lingue", "linguistica", "marina", "matematica", "medicina", "meteorologia",
var templateArguments_U = [
"mitologia", "anime e mangamoda", "antropologiamusica", "antroponiminatura", "araldicanobiltà", "archeologianumismatica", "associazionipolitica", "astronomiapornografia", "aviazioneprofessioni", "aziendepseudoscienza", "biografiepsicologia", "cinemapubblicità", "controlli automaticiradio", "cronologiareligione", "cucinascautismo", "culturascienza", "danzasessualità", "dirittosocietà", "ecologiasociologia", "editoriasport", "fantasystoria", "filateliastoria di famiglia", "filosofiateatro", "tecnologia",
"televisione", "trasporti", "videogiochi", "voci comuni"
"fumetti", "giochi", "giornalismo", "istruzione", "lavoro", "letteratura", "LGBT", "lingue", "linguistica", "marina", "mitologia", "moda", "musei", "musica", "natura", "numismatica", "paleontologia", "politica", "pornografia", "radio", "religione", "scautismo", "scienza", "sessualità", "società",
],
"sociologia", "spettacolo", "sport", "teatro", "tecnologia", "televisione", "template", "trasporti", "turismo", "urbanistica", "voci comuni", "zoologia"
InCorso: [
];
"", "astronautica", "catastrofi", "conflitti", "Europa", "fumetti", "informatica", "musica", "politica", "sport", "Stati Uniti d'America", "televisione", "trasporti"
],
var templateArguments_Categorizzare = [
DaAggiornare: [
"", "alimentazione", "anime e manga", "antroponimi", "araldica", "archeologia", "architettura", "arte", "associazioni", "astrologia", "aviazione", "aziende", "biografie", "cucina", "diritto", "ecologia", "economia", "editoria", "filatelia", "filosofia", "fotografia", "fumetti", "geografia",
"geologia", "giochianimazione", "guerraastrologia", "ingegneriaaziende", "istruzionebiografie", "letteraturacultura", "LGBTdiritto", "linguisticafilatelia", "marinageografia", "medicinaguerra", "mineralogiaingegneria", "mitologiaistruzione", "modalinguistica", "musicamarina", "numismaticamoda", "politicamontagna", "pornografianatura", "psicologianumismatica", "religionepsicologia", "scautismo", "scienza", "Siciliascienze umanistiche", "societàservizi pubblici", "sportsocietà",
"storiaspettacolo", "teatrosport", "tecnologiastoria", "televisionetecnologia", "template", "trasporti"
];,
Controlcopy: [
"", "animazione", "anime e manga", "antropologia", "archeologia", "architettura", "aree naturali protette", "associazioni", "astronomia", "aviazione", "aziende", "biografie", "botanica", "chimica", "cinema", "costume", "cucina", "cultura", "design", "diritto", "ecologia", "economia", "editoria",
var templateArguments_Correggere = [
"enologia", "alimentazionefantascienza", "animazionefantasy", "anime e mangafilatelia", "antropologiafilosofia", "araldicafisica", "archeologiafotografia", "architetturafumetti", "artegeografia", "associazionigeologia", "astronauticagiochi", "astronomiagiornalismo", "aviazioneguerra", "aziendeinformatica", "biografieingegneria", "biologiaistruzione", "chimicalavoro", "cinemaleggende", "criminalitàletteratura", "cucinaLGBT", "culturalinguistica", "danzamarina", "dirittomedicina", "economiameteorologia",
"editoriamineralogia", "energiamitologia", "fantasymoda", "filosofiamusica", "fisicanatura", "fotografianeopaganesimo", "fumettinumismatica", "geografiapolitica", "geologiapornografia", "giochiprofessioni", "giornalismopseudoscienza", "guerrapsicologia", "immaginarioradio", "informaticascautismo", "ingegneriascienza", "istruzionesessualità", "lavorosocietà", "letteraturasociologia", "LGBTspettacolo", "linguesport", "linguisticastoria", "marinateatro", "matematicatecnologia", "medicina", "meteorologia",
"televisione", "trasporti", "turismo", "voci comuni", "zoologia"
"mitologia", "moda", "musica", "natura", "nobiltà", "numismatica", "politica", "pornografia", "professioni", "pseudoscienza", "psicologia", "pubblicità", "radio", "religione", "scautismo", "scienza", "sessualità", "società", "sociologia", "sport", "storia", "storia di famiglia", "teatro", "tecnologia",
],
"televisione", "trasporti", "videogiochi", "voci comuni"
Cancellazione: [
];
"", "agricoltura", "alimentazione", "animazione", "anime e manga", "antroponimi", "araldica", "archeologia", "architettura", "associazioni", "aziende", "biografie", "cinema", "comunicazione", "criminalità", "cronologia", "cultura", "danza", "design", "diritto", "ecologia", "editoria", "enti pubblici",
"esoterismo", "fantascienza", "fantasy", "filatelia", "filosofia", "fisica", "fotografia", "fumetti", "geografia", "giornalismo", "guerra", "immaginario", "istruzione", "letteratura", "LGBT", "linguistica", "marina", "mitologia", "moda", "musica", "nautica", "nobiltà", "numismatica", "politica", "pornografia",
var templateArguments_InCorso = [
"professioni", "astronauticapsicologia", "catastrofiradio", "conflittiscautismo", "Europascienza", "fumettisessualità", "informaticasocietà", "musicasociologia", "politicasoftware libero", "sportsolidarietà", "Statispettacolo", Uniti"storia", d'America"teatro", "tecnologia", "televisione", "template", "trasporti", "turismo", "università", "urbanistica", "voci comuni"
];,
CancellaSubito: [
"", "1. pagine vuote, di prova", "2. solo frasi offensive", "3. solo lingua straniera", "4. promozionali o CV", "5. pagine doppie", "6. categorie vuote", "7. pagine già cancellate", "8. pagine create per l'inversione", "9. redirect errati", "10. talk e sottopag. di pagine già canc.", "11. immagini doppie ed orfane",
var templateArguments_DaAggiornare = [
"12. immagini in evidente copyviol", "13. pagine copiate senza licenza libera", "14. immagini da verificare da tanto", "15. pagine \"Utente:\" di nessuno", "16. pagine già trasferite", "17. sottopag. \"Utente:\" richieste da lui"
"", "animazione", "astrologia", "aziende", "biografie", "cultura", "diritto", "filatelia", "geografia", "guerra", "ingegneria", "istruzione", "linguistica", "marina", "moda", "montagna", "natura", "numismatica", "psicologia", "scautismo", "scienza", "scienze umanistiche", "servizi pubblici", "società",
]
"spettacolo", "sport", "storia", "tecnologia", "template", "trasporti"
]};
var templateArguments_Controlcopy = [
"", "animazione", "anime e manga", "antropologia", "archeologia", "architettura", "aree naturali protette", "associazioni", "astronomia", "aviazione", "aziende", "biografie", "botanica", "chimica", "cinema", "costume", "cucina", "cultura", "design", "diritto", "ecologia", "economia", "editoria",
"enologia", "fantascienza", "fantasy", "filatelia", "filosofia", "fisica", "fotografia", "fumetti", "geografia", "geologia", "giochi", "giornalismo", "guerra", "informatica", "ingegneria", "istruzione", "lavoro", "leggende", "letteratura", "LGBT", "linguistica", "marina", "medicina", "meteorologia",
"mineralogia", "mitologia", "moda", "musica", "natura", "neopaganesimo", "numismatica", "politica", "pornografia", "professioni", "pseudoscienza", "psicologia", "radio", "scautismo", "scienza", "sessualità", "società", "sociologia", "spettacolo", "sport", "storia", "teatro", "tecnologia",
"televisione", "trasporti", "turismo", "voci comuni", "zoologia"
];
var templateArguments_Cancellazione = [
"", "agricoltura", "alimentazione", "animazione", "anime e manga", "antroponimi", "araldica", "archeologia", "architettura", "associazioni", "aziende", "biografie", "cinema", "comunicazione", "criminalità", "cronologia", "cultura", "danza", "design", "diritto", "ecologia", "editoria", "enti pubblici",
"esoterismo", "fantascienza", "fantasy", "filatelia", "filosofia", "fisica", "fotografia", "fumetti", "geografia", "giornalismo", "guerra", "immaginario", "istruzione", "letteratura", "LGBT", "linguistica", "marina", "mitologia", "moda", "musica", "nautica", "nobiltà", "numismatica", "politica", "pornografia",
"professioni", "psicologia", "radio", "scautismo", "scienza", "sessualità", "società", "sociologia", "software libero", "solidarietà", "spettacolo", "storia", "teatro", "tecnologia", "televisione", "template", "trasporti", "turismo", "università", "urbanistica", "voci comuni"
];
var templateArguments_CancellaSubito = [
"", "1. pagine vuote, di prova", "2. solo frasi offensive", "3. solo lingua straniera", "4. promozionali o CV", "5. pagine doppie", "6. categorie vuote", "7. pagine già cancellate", "8. pagine create per l'inversione", "9. redirect errati", "10. talk e sottopag. di pagine già canc.", "11. immagini doppie ed orfane",
"12. immagini in evidente copyviol", "13. pagine copiate senza licenza libera", "14. immagini da verificare da tanto", "15. pagine \"Utente:\" di nessuno", "16. pagine già trasferite" , "17. sottopag. \"Utente:\" richieste da lui"
];
/* Template list:
*
* 'template': (string) name of the template to be inserted
* 'string': (string) option label in the template combo box
* 'where': (string) where to insert the template in the page. (topAccepted orvalues are: top, bottom)
* 'noinclude': (boolean) whether the template shall be tagged with "noinclude"
* 'subst': (boolean) whether the template shall be "substed"
* 'parameters': (object) list of the parameters of the template
* 'name': (string) parameter name shown in the popup dialog
* 'type': (string) type of the argument. Accepted values are: string, checkbox, select
* 'value':
* type==string Not(string) Some text (or requirednothing)
* type==select (array) The list of combo box options
* type==checkbox The boolean initial state (true or false)
*/
* type==select The list of combo box options
* 'format': The format of the written template
*/
Custom_lstMyTemplate = {};
lstMyTemplate = {
'A': { template: 'A',
string: 'Aiutare',
where: 'top',
noinclude: false,
subst: false,
parameters: {
motivo: {
motivo: {name: 'Motivo', type: 'string'},
name: 'Motivo',
argomento: {name: 'Argomento', type: 'select', value: templateArguments_A},
type: 'string'
argomento2: {name: 'Argomento2', type: 'select', value: templateArguments_A},
},
mese: {name: 'Mese', type: 'string' , value: '{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}'}
argomento: {
}
name: 'Argomento',
},
type: 'select',
'C': { template:'C',
value: templateArguments.A
string:'Controllare',
},
where:'top',
argomento2: {
noinclude: false,
name: 'Argomento2',
subst: false,
type: 'select',
parameters: {
value: templateArguments.A
motivo: {name: 'Motivo', type: 'string'},
},
argomento: {name: 'Argomento', type: 'select', value: templateArguments_C},
mese: {
mese: {name: 'Mese', type: 'string', value: '{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}'}
name: 'Mese',
}
type: 'string',
},
value: '{{subst:' + 'CURRENTMONTHNAME}} {{subst' + ':CURRENTYEAR}}'
'E': { template:'E',
}
string:'Enciclopedicità',
}
where:'top',
},
noinclude: false,
'C': {
subst: false,
template: 'C',
parameters: {
string: 'Controllare',
motivo: {name: 'Motivo', type: 'string'},
where: 'top',
argomento: {name: 'Argomento', type: 'select', value: templateArguments_E},
noinclude: false,
argomento2: {name: 'Argomento2', type: 'select', value: templateArguments_E},
subst: false,
mese: {name: 'Mese', type: 'string' , value: '{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}'}
parameters: {
}
motivo: {
},
name: 'Motivo',
'F': { template:'F',
type: 'string:'Senza fonti',
},
where:'top',
argomento: {
noinclude: false,
name: 'Argomento',
subst: false,
type: 'select',
parameters: {
value: templateArguments.C
commento: {name: 'Commento', type: 'string'},
},
argomento: {name: 'Argomento', type: 'select', value: templateArguments_F},
mese: {
mese: {name: 'Mese', type: 'string', value: '{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}'}
name: 'Mese',
}
type: 'string',
},
value: '{{subst:' + 'CURRENTMONTHNAME}} {{subst' + ':CURRENTYEAR}}'
'O': { template:'O',
}
string:'Orfana',
}
where:'top',
},
noinclude: false,
'E': {
subst: false,
template: 'E',
parameters: {
string: 'Enciclopedicità',
argomento: {name: 'Argomento', type: 'select', value: templateArguments_O},
where: 'top',
argomento2: {name: 'Argomento2', type: 'select', value: templateArguments_O},
noinclude: false,
mese: {name: 'Mese', type: 'string', value: '{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}'}
subst: false,
}
parameters: {
},
motivo: {
'P': { template:'P',
name: 'Motivo',
string:'POV',
type: 'string'
where:'top',
},
noinclude: false,
argomento: {
subst: false,
name: 'Argomento',
parameters: {
type: 'select',
motivo: {name: 'Motivo', type: 'string'},
value: templateArguments.E
argomento: {name: 'Argomento', type: 'select', value: templateArguments_P},
},
argomento2: {name: 'Argomento2', type: 'select', value: templateArguments_P},
argomento2: {
mese: {name: 'Mese', type: 'string', value: '{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}'}
name: 'Argomento2',
}
type: 'select',
},
value: templateArguments.E
'S': { template:'S',
},
string:'Stub',
data: {
where:'top',
name: 'Data',
noinclude: false,
type: 'string',
subst: false,
value: '{{subst:' + 'CURRENTMONTHNAME}} {{subst' + ':CURRENTYEAR}}'
parameters: {
}
argomento: {name: 'Argomento', type: 'select', value: templateArguments_S},
}
argomento2: {name: 'Argomento2', type: 'select', value: templateArguments_S}
},
}
'F': {
},
template: 'F',
'T': { template:'T',
string: 'TradurreSenza fonti',
where: 'top',
noinclude: false,
subst: false,
parameters: {
commento: {
lingua: {name: 'Lingua', type: 'string'},
name: 'Commento',
argomento: {name: 'Argomento', type: 'select', value: templateArguments_T},
type: 'string'
mese: {name: 'Mese', type: 'string', value: '{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}'}
},
}
argomento: {
},
name: 'Argomento',
'U': { template:'U',
type: 'select',
string:'Unire',
value: templateArguments.F
where:'top',
},
noinclude: false,
data: {
subst: false,
name: 'Data',
parameters: {
pagina: {name: 'Pagina', type: 'string'},
value: '{{subst:' + 'CURRENTMONTHNAME}} {{subst' + ':CURRENTYEAR}}'
verso: {name: 'Verso', type: 'select', value: ["a", "da"]},
}
discussione: {name: 'Discussione', type: 'string'},
}
argomento: {name: 'Argomento', type: 'select', value: templateArguments_U},
},
argomento2: {name: 'Argomento2', type: 'select', value: templateArguments_U},
'O': {
sezione: {name: 'Sezione', type: 'string'},
template: 'O',
commento: {name: 'Commento', type: 'string'},
string: 'Orfana',
data: {name: 'Data', type: 'string' , value: '{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}'}
where: 'top',
}
noinclude: false,
},
subst: false,
'Categorizzare': { template:'Categorizzare',
parameters: {
string:'Categorizzare',
argomento: {
where:'bottom',
name: 'Argomento',
noinclude: false,
type: 'select',
subst: false,
value: templateArguments.O
parameters: {
},
argomento: {name: 'Argomento', type: 'select', value: templateArguments_Categorizzare},
argomento2: {
commento: {name: 'Commento', type: 'string'}
name: 'Argomento2',
}
type: 'select',
},
value: templateArguments.O
'Spostare': { template:'Spostare',
},
string:'Spostare',
mese: {
where:'top',
name: 'Mese',
noinclude: false,
type: 'string',
subst: false,
value: '{{subst:' + 'CURRENTMONTHNAME}} {{subst' + ':CURRENTYEAR}}'
parameters: {
}
voce: {name: 'Nome voce', type: 'string'},
}
motivo: {name: 'Motivo', type: 'string'}
},
}
'P': {
},
template: 'P',
'Correggere': { template:'Correggere',
string: 'CorreggerePOV',
where: 'top',
noinclude: false,
subst: false,
parameters: {
motivo: {
argomento: {name: 'Argomento', type: 'select', value: templateArguments_Correggere},
name: 'Motivo',
argomento2: {name: 'Argomento2', type: 'select', value: templateArguments_Correggere},
commento: {name: 'Commento', type: 'string'},
},
mese: {name: 'Mese', type: 'string' , value: '{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}'}
argomento: {
}
name: 'Argomento',
},
type: 'select',
'In corso': { template:'In corso',
value: templateArguments.P
string:'In corso',
},
where:'top',
argomento2: {
noinclude: false,
name: 'Argomento2',
subst: false,
type: 'select',
parameters: {
value: templateArguments.P
"1": {name: 'Argomento', type: 'select', value: templateArguments_InCorso}
},
}
mese: {
},
name: 'Mese',
'Da aggiornare': { template:'Da aggiornare',
type: 'string:'Da aggiornare',
value: '{{subst:' + 'CURRENTMONTHNAME}} {{subst' + ':CURRENTYEAR}}'
where:'top',
}
noinclude: false,
}
subst: false,
},
parameters: {
'S': {
argomento: {name: 'Argomento', type: 'select', value: templateArguments_DaAggiornare},
template: 'S',
argomento2: {name: 'Argomento2', type: 'select', value: templateArguments_DaAggiornare},
string: 'Stub',
commento: {name: 'Commento', type: 'string'},
where: 'top',
mese: {name: 'Mese', type: 'string' , value: '{{subst:CURRENTMONTHNAME}}'},
noinclude: false,
anno: {name: 'Anno', type: 'string' , value: '{{subst:CURRENTYEAR}}'}
subst: false,
}
parameters: {
},
argomento: {
'Cancelcopy': { template:'Cancelcopy',
name: 'Argomento',
string:'Cancelcopy',
type: 'select',
where:'top',
value: templateArguments.S
noinclude: true,
},
subst: false,
argomento2: {
parameters: {
name: 'Argomento2',
fonte: {name: 'Fonte', type: 'string'}
type: 'select',
}
value: templateArguments.S
},
}
'Controlcopy': { template:'Controlcopy',
}
string:'Controlcopy',
},
where:'top',
'T': {
noinclude: true,
template: 'T',
subst: false,
string: 'Tradurre',
parameters: {
where: 'top',
argomento: {name: 'argomento', type: 'select', value: templateArguments_Controlcopy},
noinclude: false,
motivo: {name: 'motivo', type: 'string'},
subst: false,
data: {name: 'Data', type: 'string' , value: '{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}'}
parameters: {
}
lingua: {
},
name: 'Lingua',
'ViolazioneCopyright': { template:'ViolazioneCopyright',
type: 'string'
string:'ViolazioneCopyright',
},
where:'top',
argomento: {
noinclude: true,
name: 'Argomento',
subst: false,
type: 'select',
parameters: {
value: templateArguments.T
url: {name: 'url', type: 'string'}
},
}
data: {
},
name: 'Data',
'Cancellazione': { template:'Cancellazione',
type: 'string:'Cancellazione',
value: '{{subst:' + 'CURRENTMONTHNAME}} {{subst' + ':CURRENTYEAR}}'
where:'top',
}
noinclude: true,
}
subst: false,
},
parameters: {
'U': {
arg: {name: 'arg', type: 'select', value: templateArguments_Cancellazione},
template: 'U',
arg2: {name: 'arg2', type: 'select', value: templateArguments_Cancellazione}
string: 'Unire',
}
where: 'top',
},
noinclude: false,
'Cancella subito': { template:'Cancella subito',
subst: false,
string:'Cancella subito',
parameters: {
where:'top',
pagina: {
noinclude: true,
name: 'Pagina',
subst: false,
type: 'string'
parameters: {
},
motivo: {name: 'motivo', type: 'select', value: templateArguments_CancellaSubito},
verso: {
altroMotivo: {name: 'Altro motivo', type: 'string'}
name: 'Verso',
}
type: 'select',
},
value: [ "a", "da" ]
'Protetta': { template:'Protetta',
},
string:'Protetta',
discussione: {
where:'top',
name: 'Discussione',
noinclude: true,
type: 'string'
subst: false
},
argomento: {
'Trasferimento': { template:'Trasferimento',
name: 'Argomento',
string:'Trasferimento',
type: 'select',
where:'top',
value: templateArguments.U
noinclude: false,
},
subst: false,
argomento2: {
parameters: {
name: 'Argomento2',
"1": {name: 'codiceProgetto', type: 'string'}
type: 'select',
}
value: templateArguments.U
},
},
'Nota disambigua': { template:'Nota disambigua',
sezione: {
string:'Nota disambigua',
name: 'Sezione',
where:'top',
type: 'string'
noinclude: false,
},
subst: false,
commento: {
parameters: {
name: 'Commento',
descrizione: {name: 'descrizione', type: 'string' },
titolo: {name: 'titolo', type: 'string' },
},
redirect: {name: 'redirect', type: 'string' }
data: {
}
name: 'Data',
}
type: 'string',
value: '{{subst:' + 'CURRENTMONTHNAME}} {{subst' + ':CURRENTYEAR}}'
}
}
},
'W': {
template: 'W',
string: 'Wikificare',
where: 'top',
noinclude: false,
subst: false,
parameters: {
argomento: {
name: 'Argomento',
type: 'select',
value: templateArguments.W
},
data: {
name: 'Data',
type: 'string',
value: '{{subst:' + 'CURRENTMONTHNAME}} {{subst' + ':CURRENTYEAR}}'
}
}
},
'Categorizzare': {
template: 'Categorizzare',
string: 'Categorizzare',
where: 'bottom',
noinclude: false,
subst: false,
parameters: {
argomento: {
name: 'Argomento',
type: 'select',
value: templateArguments.Categorizzare
},
commento: {
name: 'Commento',
type: 'string'
}
}
},
'Spostare': {
template: 'Spostare',
string: 'Spostare',
where: 'top',
noinclude: false,
subst: false,
parameters: {
voce: {
name: 'Nome voce',
type: 'string'
},
motivo: {
name: 'Motivo',
type: 'string'
}
}
},
'Correggere': {
template: 'Correggere',
string: 'Correggere',
where: 'top',
noinclude: false,
subst: false,
parameters: {
argomento: {
name: 'Argomento',
type: 'select',
value: templateArguments.Correggere
},
argomento2: {
name: 'Argomento2',
type: 'select',
value: templateArguments.Correggere
},
commento: {
name: 'Commento',
type: 'string'
},
mese: {
name: 'Mese',
type: 'string',
value: '{{subst:' + 'CURRENTMONTHNAME}} {{subst' + ':CURRENTYEAR}}'
}
}
},
'In corso': {
template: 'In corso',
string: 'In corso',
where: 'top',
noinclude: false,
subst: false,
parameters: {
"1": {
name: 'Argomento',
type: 'select',
value: templateArguments.InCorso
}
}
},
'Da aggiornare': {
template: 'Da aggiornare',
string: 'Da aggiornare',
where: 'top',
noinclude: false,
subst: false,
parameters: {
argomento: {
name: 'Argomento',
type: 'select',
value: templateArguments.DaAggiornare
},
argomento2: {
name: 'Argomento2',
type: 'select',
value: templateArguments.DaAggiornare
},
commento: {
name: 'Commento',
type: 'string'
},
mese: {
name: 'Mese',
type: 'string',
value: '{{subst:' + 'CURRENTMONTHNAME}}'
},
anno: {
name: 'Anno',
type: 'string',
value: '{{subst:' + 'CURRENTYEAR}}'
}
}
},
'Cancelcopy': {
template: 'Cancelcopy',
string: 'Cancelcopy',
where: 'top',
noinclude: true,
subst: false,
parameters: {
fonte: {
name: 'Fonte',
type: 'string'
}
}
},
'Controlcopy': {
template: 'Controlcopy',
string: 'Controlcopy',
where: 'top',
noinclude: true,
subst: false,
parameters: {
argomento: {
name: 'argomento',
type: 'select',
value: templateArguments.Controlcopy
},
motivo: {
name: 'motivo',
type: 'string'
},
data: {
name: 'Data',
type: 'string',
value: '{{subst:' + 'CURRENTMONTHNAME}} {{subst' + ':CURRENTYEAR}}'
}
}
},
'ViolazioneCopyright': {
template: 'ViolazioneCopyright',
string: 'ViolazioneCopyright',
where: 'top',
noinclude: true,
subst: false,
parameters: {
url: {
name: 'url',
type: 'string'
}
}
},
'Cancellazione': {
template: 'Cancellazione',
string: 'Cancellazione',
where: 'top',
noinclude: true,
subst: false,
parameters: {
arg: {
name: 'arg',
type: 'select',
value: templateArguments.Cancellazione
},
arg2: {
name: 'arg2',
type: 'select',
value: templateArguments.Cancellazione
}
}
},
'Cancella subito': {
template: 'Cancella subito',
string: 'Cancella subito',
where: 'top',
noinclude: true,
subst: false,
parameters: {
motivo: {
name: 'motivo',
type: 'select',
value: templateArguments.CancellaSubito
},
altroMotivo: {
name: 'Altro motivo',
type: 'string'
}
}
},
'Protetta': {
template: 'Protetta',
string: 'Protetta',
where: 'top',
noinclude: true,
subst: false
},
'Trasferimento': {
template: 'Trasferimento',
string: 'Trasferimento',
where: 'top',
noinclude: false,
subst: false,
parameters: {
"1": {
name: 'codiceProgetto',
type: 'string'
}
}
},
'Nota disambigua': {
template: 'Nota disambigua',
string: 'Nota disambigua',
where: 'top',
noinclude: false,
subst: false,
parameters: {
descrizione: {
name: 'descrizione',
type: 'string'
},
titolo: {
name: 'titolo',
type: 'string'
},
redirect: {
name: 'redirect',
type: 'string'
}
}
}
};
function LiveRC_FormatTemplateParamsgetTemplateList(params) {
return Object.keys( Custom_lstMyTemplate ).length
var text = new Array();
? Custom_lstMyTemplate
for(var arg in params){
: lstMyTemplate;
if(params.hasOwnProperty(arg)) text.push(arg+"="+params[arg]);
}
return text.join("|");
}
// ####################################################################################################################
/**
function lrcRunInsertTemplate(data){
* Add options in the "Tag" form
var TagSelect = document.getElementById('LiveTagReason');
*/
function lrcRunInsertTemplate( data ) {
var TagSelect = document.getElementById( 'LiveTagReason' ),
TemplateList = getTemplateList();
jQuery $.each(lstMyTemplate TemplateList, function( i, val ) {
var optTag = document.createElement( 'option' );
optTag.value = i;
optTag.className = "InserisciTemplateExtension";
optTag.innerHTML = val.string;
TagSelect.appendChild( optTag );
} });
$( '<div>' )
// setup dialog
.attr( 'id', 'gtb-dialog' )
mw.loader.using(['jquery.ui.dialog'], function () {
.appendTo( 'body' );
$('<div>')
.attr('id', 'gtb-dialog')
.appendTo('body');
});
}
LiveRC_AddHook( "AfterPreviewArticle", lrcRunInsertTemplate );
////////////////////////////////////////// HOOKS
/**
LiveRC_AddHook("AfterPreviewArticle", lrcRunInsertTemplate);
* Function launched when choosing one of this extension options
*/
getLiveTagFunctions.InserisciTemplateExtension = function( page, option ) {
lrcDisableLink( "LiveTagReason" );
lrcDisableLink( "LiveTagLink" );
var TemplateList = getTemplateList(),
// Récupération des information et requête de page
message = TemplateList[ option.value ];
getLiveTagFunctions["InserisciTemplateExtension"] = function(page, option){
var message = lstMyTemplate[option.value];
wpajax.http({ url: wgServer + wgScriptPath + '/api.php?format=xml'
+ '&action=query&prop=info&intoken=edit'
+ '&inprop=protection'
+ '&titles=' + encodeURIComponent(page),
onSuccess: InserisciTemplate_PostTagPage,
page: page,
message: message});
return false;
}
// Traitement ajout de bandeau
function InserisciTemplate_PostTagPage(xmlreq, data){
var page = data.page;
var message = data.message;
ObjetXML = xmlreq.responseXML;
var Isprotected = false;
var PR = ObjetXML.getElementsByTagName("pr");
for(var a=0,l=PR.length;a<l;a++){
var Type = PR[a].getAttribute("type");
var Level = PR[a].getAttribute("level");
if(Type=="edit" && wgUserGroups.indexOf(Level)==-1) Isprotected = true;
}
if(Isprotected){
LiveRC_alert("<b>"+lrcMakeText("PROTECTEDPAGE").split("$1").join(page)+"</b>");
return;
}
var Page = ObjetXML.getElementsByTagName("page")[0];
edittoken = Page.getAttribute("edittoken");
new mw.Api().get( {
// show dialog
format: 'json',
var tpl = InserisciTemplate_showDialog(message, page);
action: 'query',
}
prop: 'info',
inprop: 'protection',
function InserisciTemplate_PostTagPageDone(Req, data){
titles: page
var params = data.params;
} )
var where = data.where;
.done( function ( res ) {
var text = "<b>" +params["title"]+ " : " + lrcMakeText("TAG_DONE") + "</b> <small>("+params[(where=='bottom')?"appendtext":"prependtext"]+")</small>";
InserisciTemplate_PostTagPage( res, page, message );
LiveRC_alert(text);
} );
return false;
};
function InserisciTemplate_PostTagPage( res, page, message ) {
var resPage = Object.values( res.query.pages )[0];
if ( !resPage ) {
return;
}
for ( var prEntry in resPage.protection ) {
if ( prEntry.type === "edit" && mw.config.get( 'wgUserGroups' ).indexOf( prEntry.level ) === -1 ) {
LiveRC_alert( "<b>" + lrcMakeText( "PROTECTEDPAGE" ).split( "$1" ).join( page ) + "</b>" );
return;
}
}
InserisciTemplate_showDialog( message, page );
}
/**
* Show the dialog in order to ask for the template parameters.
*/
function InserisciTemplate_showDialog( data, page ) {
var $dialog, $fieldset;
$dialog = $( '#gtb-dialog' ).html( lrcMakeText( "IT_InsertTemplate1" ) );
// create the dialog html
$( '<a>' )
$dialog = $('#gtb-dialog').html(lrcMakeText("IT_InsertTemplate1"));
.attr( 'href', mw.util.getUrl( 'Template:' + data.template ) )
$('<a>')
.attr( 'target', '_blank' )
.attr('href', wgArticlePath.split("$1").join(lrcGetNamespaceName(10)) + data.template)
.attr( 'targettabindex', '_blank-1' )
.attrcss( 'tabindexcolor', '-1#2e45ad' )
.text( data.template )
.css('color', '#2e45ad')
.appendTo( $dialog );
.text(data.template)
$dialog.append( lrcMakeText( "IT_InsertTemplate2" ) );
.appendTo($dialog);
$fieldset = $( '<fieldset>' ).css( 'border-color', 'gray' ).appendTo( $dialog );
$dialog.append(lrcMakeText("IT_InsertTemplate2"));
$fieldset( = $('<fieldsetlegend>' ).csstext( lrcMakeText( 'border-colorIT_InsertTemplateParams', 'gray') ).appendTo( $dialogfieldset );
$.each( data.parameters, function( id, val ) {
$('<legend>').text('Parametri').appendTo($fieldset);
var inputEl = InserisciTemplate_buildInputEl( id, val );
$.each(data.parameters, function (id, val) {
$( '<label>' )
var inputEl = InserisciTemplate_buildInputEl(id, val);
.attr( 'for', id )
$('<label>')
.text( inputEl.label + ':' )
.attr('for', id)
.appendTo( $fieldset );
.text(inputEl.label + ':')
.appendTo( $fieldset);
.append( '<br/>' )
$fieldset
.append('<br/>' inputEl.el )
.append(inputEl.el '<br/>' );
} );
.append('<br/>');
});
var OKText = lrcMakeText( 'OK' ),
// show the dialog
CancelText = lrcMakeText( 'Cancel' );
$dialog.dialog({
title: '<img src="https://upload.wikimedia.org/wikipedia/commons/b/b6/LiveRC-cropt.svg" width="42"/> ' + data.string,
var Buttons = {
width: 500,
OKText: function() {
resizable: false,
var params = {};
modal: true,
$dialog.find( 'input:text,select' ).each( function() {
zIndex: 10000,
params[ $( this ).attr( 'id' ) ] = $.trim( $( this ).val() );
buttons: {
} );
'Inserisci': function () {
text = InserisciTemplate_dumpTemplate( data, params );
var params = {};
$( this ).dialog( 'close' );
$dialog.find('input:text,select').each(function () {
InserisciTemplate_postTemplate( data, text, page );
params[$(this).attr('id')] = $.trim($(this).val());
},
});
CancelText: function() {
$dialog.find('input:checkbox').each(function () {
$( this ).dialog( 'close' );
params[$(this).attr('id')] = $(this).prop('checked');
}
});
};
text = InserisciTemplate_dumpTemplate(data, params);
$(this)dialog.dialog('close'); {
title: lrcMakeIcon( "LogoIcon" ) + ' ' + data.string,
InserisciTemplate_postTemplate(data, text, page);
width: 500,
},
resizable: false,
'Annulla': function () {
modal: true,
$(this).dialog('close');
zIndex: 10000,
}
buttons: Buttons
}
} });
}
function InserisciTemplate_dumpTemplateInserisciTemplate_buildInputEl(template id, paramsdata ) {
var label = data.name,
var text, templateParams = "";
inputEl;
templateParams = LiveRC_FormatTemplateParams(params || {});
if ( data.type == 'string' ) {
text = (template.noinclude ? '<noinclude>' : '') +
inputEl = $( '<input/>' )
'{{' + (template.subst ? 'subst:' : '') +
.attr( 'id', id )
template.template + '|' +
.attr( 'type', 'text' )
(templateParams) +
.attr( 'size', 50 )
'}}' +
.attr( 'value', ( data.value || '' ) );
(template.noinclude ? '</noinclude>' : '') + '\n';
} else if ( data.type == 'select' ) {
inputEl = $( '<select>' )
.attr( 'id', id )
.css( 'width', '200px' );
$.each( data.value, function( i, option ) {
$( '<option>' )
.html( option )
.appendTo( inputEl );
} );
}
return {
label: label,
el: inputEl
};
}
/**
return text;
* Check the dialog box and create the wikitext from the template and its params
*/
function InserisciTemplate_dumpTemplate( template, params ) {
return ( template.noinclude ? '<noinclude>' : '' ) +
'{{' + ( template.subst ? 'subst:' : '' ) +
template.template + '|' +
LiveRC_FormatTemplateParams( params ) +
'}}' +
( template.noinclude ? '</noinclude>' : '' ) + '\n';
}
function LiveRC_FormatTemplateParams( params ) {
var edittoken = "";
var text = [];
function InserisciTemplate_postTemplate (data, text, page){
for ( var arg in params ) {
lrcDisableLink("LiveTagReason");
if ( params.hasOwnProperty( arg ) ) {
lrcDisableLink("LiveTagLink");
text.push( arg + "=" + params[ arg ] );
var EditParam = new Array();
}
EditParam["token"] = edittoken;
}
if (data.where == 'top')
return text.join( "|" );
EditParam["prependtext"] = text+"\n";
else if (data.where == 'bottom')
EditParam["appendtext"] = "\n"+text;
else //default = top
EditParam["prependtext"] = text+"\n";
EditParam["summary"] = lrcMakeText("RESUMESTART") + lrcMakeText("TAG_RESUME") + ' ' + data.template;
EditParam["title"] = page;
EditParam["watchlist"] = "preferences";
EditParam["notminor"] = "1";
EditParam["nocreate"] = "1";
if(lrcMakeParam("BypassWatchdefault")) EditParam["watchlist"] = "nochange";
var Params = new Array();
for(var Param in EditParam){
Params.push(Param+"="+encodeURIComponent(EditParam[Param]));
}
Params = Params.join("&");
var headers = new Array();
headers['Content-Type'] = 'application/x-www-form-urlencoded';
wpajax.http({ url: wgServer + wgScriptPath + '/api.php?action=edit',
method: "POST", headers: headers,
data: Params,
onSuccess: InserisciTemplate_PostTagPageDone,
params:EditParam,
where: data.where
});
}
/**
function InserisciTemplate_buildInputEl(id, data) {
* Save the edit
var label, inputEl;
*/
function InserisciTemplate_postTemplate( data, text, page ) {
lrcDisableLink( "LiveTagReason" );
lrcDisableLink( "LiveTagLink" );
var EditParam = {
action: 'edit',
summary: lrcMakeText( "RESUMESTART" ) + lrcMakeText( "TAG_RESUME" ) + ' ' + data.template,
title: page,
watchlist: lrcMakeParam( "BypassWatchdefault" ) ? 'nochange' : "preferences",
notminor: 1,
nocreate: 1
};
if ( data.typewhere == 'stringbottom' ) {
EditParam.appendtext = "\n" + text;
label = data.name;
} else { // top, or default = top
inputEl = $('<input/>')
EditParam.prependtext = text + "\n";
.attr('id', id)
}
.attr('type', 'text')
.attr('size', 50)
.attr('value', (data.value || ''));
} else if (data.type == 'checkbox') {
label = data.name;
inputEl = $('<input/>')
.attr('id', id)
.attr('type', 'checkbox')
.attr('checked', data.value);
} else if (data.type == 'select') {
label = data.name;
inputEl = $('<select>')
.attr('id', id)
.css('width', '200px');
$.each(data.value, function (i, option) {
$('<option>')
.html(option)
.appendTo(inputEl);
});
}
new mw.Api().postWithEditToken( EditParam )
return { label: label, el: inputEl };
.done( function () {
LiveRC_alert( "<b>" + page + " : " + lrcMakeText( "TAG_DONE" ) + "</b> <small>(" + text + ")</small>" );
} );
}
/* ########################################## CONFIGURATION PANEL ################################## */
// ===== Create a fieldset in the configuration panel =====
/**
function InserisciTemplate_CreateConfigPanel(){
* Create a fieldset in the configuration panel
var InserisciTemplateUl = LiveRC_ManageParams_CreateNewListMenu("InserisciTemplateLegend", LiveRC_ManageParams_CreateActionButtons());
*/
var Target = InserisciTemplateUl.parentNode;
function InserisciTemplate_CreateConfigPanel() {
var Templates = Custom_lstMyTemplate;
var InserisciTemplateUl = LiveRC_ManageParams_CreateNewListMenu( "InserisciTemplateLegend", LiveRC_ManageParams_CreateActionButtons() ),
if(!Templates || lrcGetObjectLength(Templates)==0) Templates = lstMyTemplate;
Target = InserisciTemplateUl.parentNode,
for(var temp in Templates){
Templates = getTemplateList();
if(!Templates.hasOwnProperty(temp)) continue;
var Template = Templates[temp];
for ( var temp in Templates ) {
var TemplateForm = InserisciTemplate_CreateTemplateConfigPanel(Template);
if ( Templates.hasOwnProperty( temp ) ) {
Target.appendChild(TemplateForm);
Target.appendChild( InserisciTemplate_CreateTemplateConfigPanel( Templates[ temp ] ) );
}
}
var NewTemplate = document.createElement('p');
}
NewTemplate.id = "InserisciTemplate_AddNeTemplateP";
var NewTemplateLinkNewTemplate = document.createElement( 'ap' );
NewTemplate.id = "InserisciTemplate_AddNeTemplateP";
NewTemplateLink.innerHTML = "(+)";
var NewTemplateLink.title = lrcMakeTextdocument.createElement("IT_AddTemplate" 'a' );
NewTemplateLink.hrefinnerHTML = "javascript:;(+)";
NewTemplateLink.onclicktitle = functionlrcMakeText(){ InserisciTemplate_AddNewTemplate("IT_AddTemplate" ); };
NewTemplateLink.href = "javascript:;";
NewTemplate.appendChild(NewTemplateLink);
NewTemplateLink.onclick = function() {
Target.appendChild(NewTemplate);
InserisciTemplate_AddNewTemplate();
InserisciTemplateUl.parentNode.removeChild(InserisciTemplateUl);
};
var ThisFieldset = document.getElementById("LiveRC_OptionsContent_InserisciTemplateLegend");
NewTemplate.appendChild( NewTemplateLink );
var TargetFieldset = document.getElementById("LiveRC_OptionsContent_lstParamMenuTabs");
Target.appendChild( NewTemplate );
if(ThisFieldset && TargetFieldset) TargetFieldset.parentNode.insertBefore(ThisFieldset, TargetFieldset);
InserisciTemplateUl.parentNode.removeChild( InserisciTemplateUl );
var ThisFieldset = document.getElementById( "LiveRC_OptionsContent_InserisciTemplateLegend" );
var TargetFieldset = document.getElementById( "LiveRC_OptionsContent_lstParamMenuTabs" );
if ( ThisFieldset && TargetFieldset ) {
TargetFieldset.parentNode.insertBefore( ThisFieldset, TargetFieldset );
}
}
LiveRC_AddHook( "AfterCreateParamPanel", InserisciTemplate_CreateConfigPanel );
function InserisciTemplate_AddNewTemplate() {
var P = document.getElementById( "InserisciTemplate_AddNeTemplateP" );
if ( !P ) { return;
}
var BlankTemplate = { template:'',
var BlankTemplate = {
string:'',
template: '',
where:'top',
string: '',
noinclude: false,
where: 'top',
subst: false,
noinclude: false,
parameters: {}
subst: false,
};
parameters: {}
var NewDiv = InserisciTemplate_CreateTemplateConfigPanel(BlankTemplate);
};
P.parentNode.insertBefore(NewDiv, P);
var NewDiv = InserisciTemplate_CreateTemplateConfigPanel( BlankTemplate );
P.parentNode.insertBefore( NewDiv, P );
}
function InserisciTemplate_DeleteTemplate( DeleteLink ) {
var Div = DeleteLink;
while ( Div ) {
if (hasClass( Div,.classList.contains( "InserisciTemplate_TemplateDiv" ) ) break;{
break;
Div = Div.parentNode;
}
Div = if(!Div) return.parentNode;
}
Div.parentNode.removeChild(Div);
if ( !Div ) {
return;
}
$( Div ).remove();
}
function InserisciTemplate_CreateTemplateConfigPanel( Template ) {
var TemplateDiv = document.createElement( 'div' );
TemplateDiv.className = "InserisciTemplate_TemplateDiv ParamMenuLi";
var Legend = document.createElement( 'p' );
var Title = document.createElement( 'a' );
Title.className = "InserisciTemplate_template";
Title.innerHTML = "{{" + Template.template + "}} ";
Title.target = "_blank";
Title.href = lrcGetPageURLmw.util.getUrl(lrcGetNamespaceName(10)+ "Template:" + Template.template );
Title.title = lrcGetNamespaceName(10)+"Template:" + Template.template;
Title.onclick = function(){ { liveArticle(lrcGetNamespaceName(10)+ "Template:" + Template.template ); return false; };
Legend.appendChild( Title );
var DeleteTemplateLink = document.createElement( 'a' );
DeleteTemplateLink.innerHTML = "(-)";
DeleteTemplateLink.title = lrcMakeText( "IT_DeleteTemplate" );
DeleteTemplateLink.href = "javascript:;";
DeleteTemplateLink.onclick = function() { InserisciTemplate_DeleteTemplate( this); });
};
Legend.appendChild(DeleteTemplateLink);
TemplateDiv Legend.appendChild(Legend DeleteTemplateLink );
TemplateDiv.appendChild( Legend );
var TemplateForm = document.createElement('form');
var TemplateForm.className = "InserisciTemplate_TemplateForm"document.createElement( 'form' );
TemplateForm.className = "InserisciTemplate_TemplateForm";
TemplateDiv.appendChild(TemplateForm);
TemplateDiv.appendChild( TemplateForm );
var UL = document.createElement('ul');
var UL = document.createElement( 'ul' );
TemplateForm.appendChild(UL);
TemplateForm.appendChild( UL );
var LI_Template = document.createElement( 'li' );
UL.appendChild( LI_Template );
// 'template': name of the template to be inserted
var Label_template = document.createElement( 'label' );
Label_template.setAttribute( 'for', 'template' );
Label_template.innerHTML = "template : ";
LI_Template.appendChild( Label_template );
var Input_template = document.createElement( 'input' );
Input_template.id = 'template';
Input_template.type = "text";
Input_template.value = ( Template.template || "" );
LI_Template.appendChild( Input_template );
LI_Template.appendChild( document.createTextNode( " - " ) );
// 'string': option label in the template combo box
var Label_string = document.createElement( 'label' );
Label_string.setAttribute( 'for', 'string' );
Label_string.innerHTML = "string : ";
LI_Template.appendChild( Label_string );
var Input_string = document.createElement( 'input' );
Input_string.id = 'string';
Input_string.type = "text";
Input_string.value = ( Template.string || "" );
LI_Template.appendChild( Input_string );
LI_Template.appendChild( document.createTextNode( " - " ) );
// 'where': where to insert the template in the page (top or bottom)
var Label_where = document.createElement( 'label' );
Label_where.setAttribute( 'for', 'where' );
Label_where.innerHTML = "where : ";
LI_Template.appendChild( Label_where );
var Select_where = document.createElement( 'select' );
Select_where.id = 'where';
var Opts = [ "top", "bottom" ];
for ( var a = 0, l = Opts.length; a < l; a++ ) {
var OptValue = Opts[ a ];
var Opt = document.createElement( 'option' );
Opt.innerHTML = OptValue;
Opt.value = OptValue;
if ( if(OptValue == Template.where ) { Opt.selected = "selected";
}
Select_where.appendChild(Opt);
Select_where.appendChild( Opt );
}
}
LI_Template.appendChild(Select_where);
LI_Template.appendChild(document.createTextNode(" -Select_where "));
LI_Template.appendChild( document.createTextNode( " - " ) );
// 'noinclude': whether the template shall be tagged with "noinclude"
var Label_noinclude = document.createElement( 'label' );
Label_noinclude.setAttribute( 'for', 'noinclude' );
Label_noinclude.innerHTML = "noinclude : ";
LI_Template.appendChild( Label_noinclude );
var Input_noinclude = document.createElement( 'input' );
Input_noinclude.id = 'noinclude';
Input_noinclude.type = "checkbox";
if ( Template.noinclude ) { Input_noinclude.checked = "checked";
}
LI_Template.appendChild(Input_noinclude);
LI_Template.appendChild(document.createTextNode(" -Input_noinclude "));
LI_Template.appendChild( document.createTextNode( " - " ) );
// 'subst': whether the template shall be "substed"
var Label_subst = document.createElement( 'label' );
Label_subst.setAttribute( 'for', 'subst' );
Label_subst.innerHTML = "subst : ";
LI_Template.appendChild( Label_subst );
var Input_subst = document.createElement( 'input' );
Input_subst.id = 'subst';
Input_subst.type = "checkbox";
if ( Template.subst ) { Input_subst.checked = "checked";
}
LI_Template.appendChild(Input_subst);
LI_Template.appendChild( Input_subst );
// 'parameters'
var LI_parameters = document.createElement( 'li' );
UL.appendChild( LI_parameters );
var Label_parameters = document.createElement( 'label' );
Label_parameters.setAttribute( 'for', 'parameters' );
Label_parameters.innerHTML = "parameters : ";
LI_parameters.appendChild( Label_parameters );
var ParamsUL = document.createElement( 'ul' );
ParamsUL.id = 'parameters';
LI_parameters.appendChild( ParamsUL );
for ( var param in Template.parameters ) {
if ( !Template.parameters.hasOwnProperty( param ) ) { continue;
}
var LI_Param = InserisciTemplate_CreateNewParam(param, Template.parameters[param]);
var LI_Param = InserisciTemplate_CreateNewParam( param, Template.parameters[ param ] );
ParamsUL.appendChild(LI_Param);
ParamsUL.appendChild( LI_Param );
}
}
var Li_NewParam = document.createElement('li');
var Link_NewParamLi_NewParam = document.createElement( 'ali' );
var Link_NewParam.innerHTML = "document.createElement(+ 'a' )";
Link_NewParam.titleinnerHTML = lrcMakeText"(+)"IT_AddParam");
Link_NewParam.hreftitle = lrcMakeText( "javascript:;IT_AddParam" );
Link_NewParam.href = "javascript:;"; Link_NewParam.onclick = function(){ { InserisciTemplate_AddParamToTemplate( this ); };
Li_NewParam.appendChild( Link_NewParam );
ParamsUL.appendChild( Li_NewParam );
return TemplateDiv;
}
function InserisciTemplate_AddParamToTemplate( AddParamLink ) {
var NewParams = {
var Li = AddParamLink.parentNode;
name: '',
var NewParams = {name: '', type: 'string', value: ''};
type: 'string',
var NewParamLi = InserisciTemplate_CreateNewParam("", NewParams);
value: ''
Li.parentNode.insertBefore(NewParamLi, Li);
};
var NewParamLi = InserisciTemplate_CreateNewParam( "", NewParams );
$( NewParamLi ).insertBefore( AddParamLink.parentNode );
}
function InserisciTemplate_CreateNewParam( param, Params ) {
var ParamNameParamType = Params.nametype;
var ParamTypeParamValue = Params.typevalue;
var LI_Param = document.createElement( 'li' );
var ParamValue = Params.value;
var LI_Param.className = document.createElement('li')"LI_parameters_li";
LI_Param.className = "LI_parameters_li";
var DeleteParamLink = document.createElement( 'a' );
DeleteParamLink.innerHTML = "(-)";
DeleteParamLink.title = lrcMakeText( "IT_DeleteParam" );
DeleteParamLink.href = "javascript:;";
DeleteParamLink.onclick = function() { InserisciTemplate_DeleteParamFromTemplate(this); };
$( this.parentNode ).remove();
LI_Param.appendChild(DeleteParamLink);
};
LI_Param.appendChild(document.createTextNode(" - "));
LI_Param.appendChild( DeleteParamLink );
LI_Param.appendChild( document.createTextNode( " - " ) );
//// parameters id
var Label_id = document.createElement( 'label' );
Label_id.setAttribute( 'for', 'Param_id' );
Label_id.innerHTML = "id : ";
LI_Param.appendChild( Label_id );
var Input_id = document.createElement( 'input' );
Input_id.id = 'Param_id';
Input_id.type = "text";
Input_id.value = ( param || "" );
LI_Param.appendChild( Input_id );
LI_Param.appendChild( document.createTextNode( " - " ) );
//// parameters.name
var Label_name = document.createElement( 'label' );
Label_name.setAttribute( 'for', 'Param_name' );
Label_name.innerHTML = "name : ";
LI_Param.appendChild( Label_name );
var Input_name = document.createElement( 'input' );
Input_name.id = 'Param_name';
Input_name.type = "text";
Input_name.value = (ParamName Params.name || "" );
LI_Param.appendChild( Input_name );
LI_Param.appendChild( document.createTextNode( " - " ) );
//// parameters.type
var Label_type = document.createElement( 'label' );
Label_type.setAttribute( 'for', 'Param_type' );
Label_type.innerHTML = "type : ";
LI_Param.appendChild( Label_type );
var Select_type = document.createElement( 'select' );
Select_type.id = 'Param_type';
var Opts = [ "string", "select" ];
for ( var a = 0, l = Opts.length; a < l; a++ ) {
var OptValue = Opts[ a ];
var Opt = document.createElement( 'option' );
Opt.innerHTML = OptValue;
Opt.value = OptValue;
if ( if(OptValue == ParamType ) { Opt.selected = "selected";
}
Select_type.appendChild(Opt);
Select_type.appendChild( Opt );
}
}
Select_type.onchange = function(){ InserisciTemplate_ChageValueType(this); }
Select_type.onchange = function() {
LI_Param.appendChild(Select_type);
InserisciTemplate_ChangeValueType( this );
LI_Param.appendChild(document.createTextNode(" - "));
};
LI_Param.appendChild( Select_type );
LI_Param.appendChild( document.createTextNode( " - " ) );
//// parameters.value
var Label_value = document.createElement( 'label' );
Label_value.setAttribute( 'for', 'Param_value' );
Label_value.innerHTML = "value : ";
LI_Param.appendChild( Label_value );
if ( ParamType == "string" ) {
var Input_value = document.createElement( 'input' );
Input_value.id = 'Param_value';
Input_value.type = "text";
Input_value.size = "30";
Input_value.value = ( ParamValue || "" );
LI_Param.appendChild( Input_value );
} else if ( ParamType == "select" ) {
var Select_value = document.createElement( 'select' );
Select_value.id = 'Param_value';
Select_value.style.width = '206px';
var Opts = ParamValue;
for ( var a = 0, l = Opts.length; a < l; a++ ) {
var OptValue = Opts[ a ];
var Opt = document.createElement( 'option' );
Opt.innerHTML = OptValue;
Opt.value = OptValue;
Select_value.appendChild( Opt );
}
}
LI_Param.appendChild( Select_value );
LI_Param.appendChild( document.createTextNode( " " ) );
var DeleteOptionLink = document.createElement( 'a' );
DeleteOptionLink.innerHTML = "(-)";
DeleteOptionLink.title = lrcMakeText( "IT_DeleteOption" );
DeleteOptionLink.href = "javascript:;";
DeleteOptionLink.onclick = function() { InserisciTemplate_DeleteOptionFromSelect( this); });
};
LI_Param.appendChild(DeleteOptionLink);
LI_Param.appendChild(document.createTextNode(" ")DeleteOptionLink );
LI_Param.appendChild( document.createTextNode( " " ) );
var AddOptionLink = document.createElement( 'a' );
AddOptionLink.innerHTML = "(+)";
AddOptionLink.title = lrcMakeText( "IT_AddOption" );
AddOptionLink.href = "javascript:;";
AddOptionLink.onclick = function() { InserisciTemplate_AddOptionToSelect( this); });
};
LI_Param.appendChild(AddOptionLink);
LI_Param.appendChild( AddOptionLink );
}
}
return LI_Param;
return LI_Param;
}
function InserisciTemplate_ChageValueTypeInserisciTemplate_ChangeValueType( Select ) {
var NewTypeLabels = Select.valueparentNode.getElementsByTagName( 'label' );
var LastLabel = Labels[ ( Labels.length - 1 ) ];
var Li = Select.parentNode;
while ( LastLabel.nextSibling ) {
var Labels = Li.getElementsByTagName('label');
var $( LastLabel.nextSibling = Labels[(Labels).length-1remove()];
}
while(LastLabel.nextSibling){ LastLabel.nextSibling.parentNode.removeChild(LastLabel.nextSibling); }
if (NewType Select.value == "string" ) {
var Input_value = document.createElement( 'input' );
Input_value.id = 'Param_value';
Input_value.type = "text";
Input_value.size = "30";
Input_value.value = "";
LastLabel.parentNode.appendChild( Input_value );
} else {
var Select_value = document.createElement( 'select' );
Select_value.id = 'Param_value';
Select_value.style.width = '206px';
var Opt = document.createElement( 'option' );
Opt.innerHTML = "";
Opt.value = "";
Select_value.appendChild( Opt );
LastLabel.parentNode.appendChild( Select_value );
LastLabel.parentNode.appendChild( document.createTextNode( " " ) );
var DeleteOptionLink = document.createElement( 'a' );
DeleteOptionLink.innerHTML = "(-)";
DeleteOptionLink.title = lrcMakeText( "IT_DeleteOption" );
DeleteOptionLink.href = "javascript:;";
DeleteOptionLink.onclick = function() { InserisciTemplate_DeleteOptionFromSelect( this); });
};
LastLabel.parentNode.appendChild(DeleteOptionLink);
LastLabel.parentNode.appendChild(document.createTextNode(" ")DeleteOptionLink );
LastLabel.parentNode.appendChild( document.createTextNode( " " ) );
var AddOptionLink = document.createElement('a');
var AddOptionLink = document.createElement( 'a' );
AddOptionLink.innerHTML = "(+)";
AddOptionLink.titleinnerHTML = lrcMakeText"(+)"IT_AddOption");
AddOptionLink.hreftitle = lrcMakeText( "javascript:;IT_AddOption" );
AddOptionLink.href = "javascript:;"; AddOptionLink.onclick = function(){ { InserisciTemplate_AddOptionToSelect( this); });
};
LastLabel.parentNode.appendChild(AddOptionLink);
LastLabel.parentNode.appendChild( AddOptionLink );
}
}
}
function InserisciTemplate_DeleteOptionFromSelect( DeleteOptionLink ) {
var LiSelects = DeleteOptionLink.parentNode.getElementsByTagName( 'select' );
for ( var a = 0, l = Selects.length; a < l; a++ ) {
var Selects = Li.getElementsByTagName('select');
var Select for(var= a=0,l=Selects.length;[ a<l ];a++){
if ( !Select.id var|| Select.id != Selects[a];'Param_value' ) {
continue;
if(!Select.id || Select.id != 'Param_value') continue;
}
var SelectedOpt = Select.value;
var SelectedOpt = Select.value; var Options = Select.getElementsByTagName( 'option' );
for ( var b = 0, m = Options.length; b < m; b++ ) {
var thisOpt = Options[ b ];
if ( if(thisOpt.value != SelectedOpt ) { continue;
}
thisOpt.parentNode.removeChild(thisOpt);
thisOpt.parentNode.removeChild( thisOpt );
}
}
}
}
function InserisciTemplate_AddOptionToSelect( AddOptionLink ) {
var AddOptionForm = document.createElement( 'span' );
var AddOptionInput = document.createElement( 'input' );
AddOptionInput.type = 'text';
AddOptionForm.appendChild( AddOptionInput );
var AddOptionInputOK = document.createElement( 'input' );
AddOptionInputOK.type = 'button';
AddOptionInputOK.value = lrcMakeText( "OK" );
AddOptionInputOK.onclick = function() { InserisciTemplate_AddOptionToSelect_OK( this); });
};
AddOptionInputOK.onselect = function(){ InserisciTemplate_AddOptionToSelect_OK(this); };
AddOptionInputOK.onselect = function() {
AddOptionForm.appendChild(AddOptionInputOK);
InserisciTemplate_AddOptionToSelect_OK( this );
var AddOptionInputCancel = document.createElement('input');
};
AddOptionInputCancel.type = 'button';
AddOptionForm.appendChild( AddOptionInputOK );
AddOptionInputCancel.value = lrcMakeText("Cancel");
var AddOptionInputCancel.onclick = functiondocument.createElement(){ InserisciTemplate_AddOptionToSelect_Cancel(this'input' ); };
AddOptionInputCancel.onselecttype = function(){ InserisciTemplate_AddOptionToSelect_Cancel(this); }'button';
AddOptionInputCancel.value = lrcMakeText( "Cancel" );
AddOptionForm.appendChild(AddOptionInputCancel);
AddOptionInputCancel.onclick = function() {
AddOptionLink.parentNode.insertBefore(AddOptionForm, AddOptionLink);
InserisciTemplate_AddOptionToSelect_Cancel( this );
AddOptionLink.style.display = "none";
};
AddOptionInputCancel.onselect = function() {
InserisciTemplate_AddOptionToSelect_Cancel( this );
};
AddOptionForm.appendChild( AddOptionInputCancel );
AddOptionLink.parentNode.insertBefore( AddOptionForm, AddOptionLink );
AddOptionLink.style.display = "none";
}
function InserisciTemplate_AddOptionToSelect_Cancel( AddOptionInputCancel ) {
var Span = AddOptionInputCancel.parentNode;
var Link = Span.nextSibling;
$( Span ).remove();
Span.parentNode.removeChild(Span);
Link.style.display = "";
}
function InserisciTemplate_AddOptionToSelect_OK( AddOptionInputOK ) {
var Input = AddOptionInputOK.previousSibling;
var NewOption = Input.value;
var Li = AddOptionInputOK.parentNode.parentNode;
var Selects = Li.getElementsByTagName( 'select' );
for ( var a = 0, l = Selects.length; a < l; a++ ) {
var Select = Selects[ a ];
if ( if(!Select.id || Select.id != 'Param_value' ) { continue;
}
var Option = document.createElement('option');
var Option = document.createElement( 'option' );
Option.innerHTML = NewOption;
Option.valueinnerHTML = NewOption;
Option.value = NewOption;
Select.appendChild(Option);
Select.appendChild( Option );
}
}
InserisciTemplate_AddOptionToSelect_Cancel(AddOptionInputOK)
InserisciTemplate_AddOptionToSelect_Cancel( AddOptionInputOK );
}
/**
function InserisciTemplate_DeleteParamFromTemplate(DeleteParamLink){
* Check the fieldset and add a text to be saved in /LiveRCparam.js page
var Li = DeleteParamLink.parentNode;
*/
Li.parentNode.removeChild(Li);
function InserisciTemplate_CheckConfigPanel() {
var $ITConfigPanel = $( '#LiveRC_OptionsContent_InserisciTemplateLegend' );
if ( !$ITConfigPanel.length ) {
return;
}
var Items = {};
$ITConfigPanel.find( 'form.InserisciTemplate_TemplateForm' ).each( function () {
var NewItem = {
template: this.getElementById( 'template' ).value,
string: this.getElementById( 'string' ).value,
where: this.getElementById( 'where' ).value,
noinclude: this.getElementById( 'noinclude' ).checked,
subst: this.getElementById( 'subst' ).checked
};
NewItem.parameters = {};
var ParamLIs = $( this ).find( 'li.LI_parameters_li' );
ParamLIs.each( function () {
var NewParam = {
name: this.getElementById( 'Param_name' ).value,
type: this.getElementById( 'Param_type' ).value
};
if ( NewParam.type == "string" ) {
var value = this.getElementById( 'Param_value' ).value.unhtmlize();
if ( value ) {
NewParam.value = value;
}
} else {
NewParam.value = [];
var $Opt = $( this.getElementById( 'Param_value' ) ).find( '.option' );
Opt.each( function () {
NewParam.value.push( this.value.unhtmlize() );
} );
}
NewItem.parameters[ this.getElementById( 'Param_id' ).value ] = NewParam;
} );
Items[ NewItem.template ] = NewItem;
} );
var TextToSave = InserisciTemplate_CompareNewParams( Items );
if ( !TextToSave ) {
return;
}
var SavedText = "\nCustom_lstMyTemplate = {\n";
var SavedItems = [];
for ( var item in Items ) {
var SavedItem = " '" + item + "':{\n";
var ThisTemplate = Items[ item ];
for ( var tempParam in ThisTemplate ) {
SavedItem += " " + tempParam + " : ";
var tempParamValue = ThisTemplate[ tempParam ];
if ( tempParam != "parameters" ) {
SavedItem += ( typeof( tempParamValue ) == "string" ? lrcEscapeStrHTML( tempParamValue ) : tempParamValue ) + ",\n";
} else {
SavedItem += "{\n";
var tempParameters = [];
for ( var parameter in tempParamValue ) {
var thisparam = tempParamValue[ parameter ];
var ParamItems = [];
for ( var paramItem in thisparam ) {
var thisparamItemValue = thisparam[ paramItem ];
if ( paramItem != "value" || typeof( thisparamItemValue ) == "string" ) {
ParamItems.push( paramItem + ":" + lrcEscapeStrHTML( thisparamItemValue ) );
} else {
var ThisParamValue = [];
for ( var a = 0, l = thisparamItemValue.length; a < l; a++ ) {
ThisParamValue.push( lrcEscapeStrHTML( thisparamItemValue[ a ] ) );
}
ParamItems.push( paramItem + ": [" + ThisParamValue.join( "," ) + "]" );
}
}
tempParameters.push( " " + lrcEscapeStrHTML( parameter ) + " : {" + ParamItems.join( "," ) + "}" );
}
SavedItem += tempParameters.join( ",\n" );
SavedItem += "\n }";
}
}
SavedItem += "\n }";
SavedItems.push( SavedItem );
}
SavedText += SavedItems.join( ",\n" );
SavedText += "};\n\n";
LiveRC_Config.BeforeParamPanelSavedHookResult += SavedText;
}
LiveRC_AddHook( "BeforeParamPanelSaved", InserisciTemplate_CheckConfigPanel );
function InserisciTemplate_CompareNewParams( NewItems ) {
// ===== Check the fieldset and add a text to be saved in /LiveRCparam.js page =====
var OldItems = lstMyTemplate;
if ( JSON.stringify( Object.keys( OldItems ).sort() ) !== JSON.stringify( Object.keys( NewItems ).sort() ) ) {
function InserisciTemplate_CheckConfigPanel(){
return true;
var ITConfigPanel = document.getElementById('LiveRC_OptionsContent_InserisciTemplateLegend');
}
if(!ITConfigPanel) return;
var ElementForms = getElementsByClass("InserisciTemplate_TemplateForm", ITConfigPanel, "form");
var Items = new Object();
for(var a=0,l=ElementForms.length;a<l;a++){
var ThisForm = ElementForms[a];
var NewItem = new Object();
NewItem.template = getElementWithId('template', 'input', ThisForm).value;
NewItem.string = getElementWithId('string', 'input', ThisForm).value;
NewItem.where = getElementWithId('where', 'select', ThisForm).value;
NewItem.noinclude = (getElementWithId('noinclude', 'input', ThisForm).checked ? true : false );
NewItem.subst = (getElementWithId('subst', 'input', ThisForm).checked ? true : false );
NewItem.parameters = new Object();
var ParamLIs = getElementsByClass("LI_parameters_li", ThisForm, "li");
for(var b=0,m=ParamLIs.length;b<m;b++){
var ParamLi = ParamLIs[b];
var NewParam = new Object();
var NewParamId = getElementWithId('Param_id', 'input', ParamLi).value;
NewParam.name = getElementWithId('Param_name', 'input', ParamLi).value;
NewParam.type = getElementWithId('Param_type', 'select', ParamLi).value;
if(NewParam.type == "string"){
NewParam.value = getElementWithId('Param_value', 'input', ParamLi).value;
}else{
NewParam.value = new Array();
var ParamValueSelect = getElementWithId('Param_value', 'select', ParamLi);
var Opt = ParamValueSelect.getElementsByTagName('option');
for(var c=0,k=Opt.length;c<k;c++){
NewParam.value.push(Opt[c].value);
}
}
NewItem.parameters[NewParamId] = NewParam;
}
Items[NewItem.template] = NewItem;
}
var SavedText = "\nCustom_lstMyTemplate = {\n";
var SavedItems = new Array();
for(var item in Items){
var SavedItem = " '"+item+"':{\n";
var ThisTemplate = Items[item];
for(var tempParam in ThisTemplate){
SavedItem += " "+tempParam+" : ";
var tempParamValue = ThisTemplate[tempParam];
if(tempParam!="parameters"){
SavedItem += ( typeof(tempParamValue)=="string" ? lrcEscapeStr(tempParamValue) : tempParamValue ) + ",\n";
}else{
SavedItem += "{\n";
var tempParameters = new Array();
for(var parameter in tempParamValue){
var thisparam = tempParamValue[parameter];
var ParamItems = new Array();
for(var paramItem in thisparam){
var thisparamItemValue = thisparam[paramItem];
if(paramItem!="value" || typeof(thisparamItemValue)=="string"){
ParamItems.push( paramItem + ":" + lrcEscapeStr(thisparamItemValue) );
}else{
var ThisParamValue = new Array();
for(var a=0,l=thisparamItemValue.length;a<l;a++){
ThisParamValue.push(lrcEscapeStr(thisparamItemValue[a]));
}
ParamItems.push( paramItem +": [" + ThisParamValue.join(",") + "]" );
}
}
tempParameters.push(" " + lrcEscapeStr(parameter) + " : {" + ParamItems.join(",") + "}");
}
SavedItem += tempParameters.join(",\n");
SavedItem += "\n }";
}
}
SavedItem += "\n }";
SavedItems.push(SavedItem);
}
SavedText += SavedItems.join(",\n");
SavedText += "};\n\n";
LiveRC_Config["BeforeParamPanelSavedHookResult"] += SavedText;
}
LiveRC_AddHook("BeforeParamPanelSaved", InserisciTemplate_CheckConfigPanel);
for ( var template in OldItems ) {
for ( var item in OldItems[ template ] ) {
if ( item !== "parameters" && OldItems[ template ][ item ] !== NewItems[ template ][ item ] ) {
return true;
}
}
var oldParams = OldItems[ template ].parameters,
newParams = NewItems[ template ].parameters;
if ( Object.keys( oldParams ).length !== Object.keys( newParams ).length ) {
// ===== Vars for configuration panel fieldset =====
return true;
}
for ( var param in oldParams ) {
if ( !newParams[ param ] ) {
return true;
}
for ( var paramitem in oldParams[ param ] ) {
if ( paramitem != "value" || ( typeof( oldParams[ param ][ paramitem ] ) != "object" && typeof( newParams[ param ][ paramitem ] ) != "object" ) ) {
if ( oldParams[ param ][ paramitem ] !== newParams[ param ][ paramitem ] ) {
return true;
}
} else {
if ( oldParams[ param ][ paramitem ].length != newParams[ param ][ paramitem ].length ) {
return true;
}
for ( var a = 0, l = oldParams[ param ][ paramitem ].length; a < l; a++ ) {
if ( oldParams[ param ][ paramitem ][ a ] != newParams[ param ][ paramitem ][ a ] ) {
return true;
}
}
}
}
}
}
return false;
}
/*** Vars for configuration panel fieldset */
// Texts
lrcTexts.IT_InsertTemplate1 = "Inserisce il template {{";
try{
lrcTexts["IT_InsertTemplate1"].IT_InsertTemplate2 = "Inserisce il}} templatenella {{pagina.";
lrcTexts["IT_InsertTemplate2"].IT_InsertTemplateParams = "}} nella pagina.Parametri";
lrcTexts[".IT_AddTemplate"] = "Aggiungi un nuovo template";
lrcTexts[".IT_DeleteTemplate"] = "Cancella questo template";
lrcTexts[".IT_AddParam"] = "Aggiungi un nuovo parametro";
lrcTexts[".IT_DeleteParam"] = "Cancella questo parametro";
lrcTexts[".IT_DeleteOption"] = "Cancella l'opzione selezionata";
lrcTexts[".IT_AddOption"] = "Aggiungi una nuova opzione";
}catch(e){ }
lrcParamDesc.DescIT_InsertTemplate1 = "[InserisciTemplate] Inserisci la parte 1 della frase del template";
lrcParamDesc.DescIT_InsertTemplate2 = "[InserisciTemplate] Inserisci la parte 2 della frase del template";
lrcParamDesc.DescIT_InsertTemplateParams = "[InserisciTemplate] Parametri";
lrcParamDesc.DescIT_AddTemplate = "[InserisciTemplate] Frase Aggiungi un nuovo template";
// Descriptions
lrcParamDesc.DescIT_DeleteTemplate = "[InserisciTemplate] Frase Cancella questo template";
try{
lrcParamDesc["DescIT_InsertTemplate1"].DescIT_AddParam = "[InserisciTemplate] Inserisci la parte 1Frase dellaAggiungi fraseun delnuovo templateparametro";
lrcParamDesc["DescIT_InsertTemplate2"].DescIT_DeleteParam = "[InserisciTemplate] Inserisci la parte e dellaFrase fraseCancella delquesto templateparametro";
lrcParamDesc["DescIT_AddTemplate"] .DescIT_DeleteOption = "[InserisciTemplate] Frase Aggiungi unCancella nuovol'opzione templateselezionata";
lrcParamDesc["DescIT_DeleteTemplate"] .DescIT_AddOption = "[InserisciTemplate] Frase CancellaAggiungi una questonuova templateopzione";
lrcParamDesc.DescInserisciTemplateLegend = "Parametri per l'estensione InserisciTemplate";
lrcParamDesc["DescIT_AddParam"] = "[InserisciTemplate] Frase Aggiungi un nuovo parametro";
lrcParamDesc["DescIT_DeleteParam"] .DescInserisciTemplateLegend_short = "[InserisciTemplate] Frase Cancella questo parametro";
lrcParamDesc["DescIT_DeleteOption"] = "[InserisciTemplate] Frase Cancella l'opzione selezionata";
lrcParamDesc["DescIT_AddOption"] = "[InserisciTemplate] Frase Aggiungi una nuova opzione";
lrcParamDesc["DescInserisciTemplateLegend"] = "Parametri per l'estensione InserisciTemplate";
lrcParamDesc["DescInserisciTemplateLegend_short"] = "InserisciTemplate";
}catch(e){ }
// Hide/Show tabs panel item
addParamMenuTab( "InserisciTemplateLegend", true );
/* ************************************************************************************************************************************************ */
} // FIN IF
//</source>
|