Cathopedia:Monobook.js/MonobookCompleto.js
/* <source lang="javascript"> */ /**
* Derivato dal monobook.js di en:User:Wayward, basato su en:User:Alphax/monobook.js * Necessita dell'apposito monobook.css * Testato su Firefox e IE * Contiene codice preso dagli script di Utente:Salvatore Ingala, Utente:Paulatz, Utente:Helios89, Utente:Timendum, Utente:Senpai, Utente:Kiado, Utente:Pietrodn * Reso modulare ed elaborato da Utente:Jalo * Forked from User:ABCD/monobook.js around April 2005 * Dual licensed under the GFDL and GPL */
if (['vector', 'monobook'].indexOf(mw.config.get('skin')) === -1) { alert('Lo script MonobookCompleto.js può essere usato soltanto con le skin Vector e Monobook'); throw new Error("Lo script MonobookCompleto.js può essere usato soltanto con le skin Vector e Monobook"); }
/************************* FUNZIONI PRINCIPALI ********************************/
/**** Aggiunge il pulsante "Allpages" nel portlet "ricerca" ****/ function setup_allpages_button() { //Non funziona correttamente con simpleSearch (Usability Initiative) if (document.getElementById("simpleSearch")) return;
var b = document.createElement('input'); b.type = "button"; b.value = "Allpages"; b.onclick = function () { top.location.href = mw.config.get("wgServer") + '/wiki/Speciale:Allpages/' + document.getElementById('searchInput').value; }; addToPortlet("p-search", document.createElement("hr")); addToPortlet("p-search", b); }
/**** Aggiunge i tab e i menu ****/ // aggiunge vari tabs e menu-tabs function add_tabs() { var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
if (typeof addlimenu == 'undefined' || typeof addlilink == 'undefined') return;
//Solo per le pagine di discussioni degli utenti if ((document.title.indexOf("Modifica") != -1) && (document.title.indexOf("Discussioni utente") != -1)) { addlimenu(tabs, 'Messaggi talk', 'talkm'); var talkm = document.getElementById('talkm').getElementsByTagName('ul')[0]; addlilink(talkm, 'javascript:edit_summary_watch("{{subst:benve|Davide - scrivimi! 17:53, 8 nov 2018 (CET)}}", "Benvenuto", false, true)', 'welcome', 'pb-welcome'); ta['pb-welcome'] = new Array('b', 'Da il benvenuto'); addlilink(talkm, 'javascript:edit_summary_watch("Ciao! La modifica che hai effettuato è sembrata essere un test, per questo motivo è stata rimossa e la pagina ripristinata. Per favore, per ulteriori prove, utilizza la pagina delle prove, dal momento che le voci vengono ripristinate rapidamente. Puoi dare un'occhiata alla guida introduttiva per imparare a contribuire sulle pagine del nostro progetto. Grazie dei contributi! Davide - scrivimi! 17:53, 8 nov 2018 (CET)", "test", false, true)', 'Test', ); addlilink(talkm, 'javascript:edit_summary_watch("Template:Vandalismo Davide - scrivimi! 17:53, 8 nov 2018 (CET)", "Avviso vandalismo", false, true)', 'Vandal', ); addlilink(talkm, 'javascript:edit_summary_watch("Template:Spam", "spam", false, true)', 'Spam', ); addlilink(talkm, 'javascript:edit_summary_watch("Template:Avvisocopyviol Davide - scrivimi! 17:53, 8 nov 2018 (CET)","avviso possibile violazione di copyright",false,true)', 'avviso cv', );
addlilink(talkm, 'javascript:edit_summary_watch("
Inizia la procedura creando QUI la pagina di cancellazione e seguendo le istruzioni.
Prima di iniziare la procedura, controlla che la voce abbia un titolo corretto, altrimenti spostala. |
Davide - scrivimi! 17:53, 8 nov 2018 (CET)","avviso proposta di cancellazione",false,true)', 'avviso canc', );
} else if (document.title.indexOf("Modifica") != -1) { // Solo durante le modifiche addlimenu(tabs, 'strumenti vari', 'tools'); var tools = document.getElementById('tools').getElementsByTagName('ul')[0]; addlilink(tools, 'javascript:fixformat()', 'format', ); addlilink(tools, 'javascript:replace()', 'replace', );
addlilink(tools, 'javascript:edit_summary_watch2("
Per questa pagina è stata richiesta la cancellazione immediata. Motivo: È necessario specificare il motivo per cui è richiesta la cancellazione.
Nei seguenti casi, previo controllo della cronologia, si può richiedere la cancellazione immediata di una pagina senza inserirla nell'elenco delle pagine da cancellare:
Per inserire il motivo, bisogna compilare il primo parametro: {{cancella subito|motivo}} oppure inserire direttamente il numero del criterio tra quelli sopra indicati: {{cancella subito|numero del criterio}} |
", "cancimm", false, true)', 'cancimm', ); addlilink(tools, 'javascript:edit_summary_watch2("
Per questa pagina è stata richiesta la cancellazione immediata poiché costituisce violazione integrale di copyright. Il testo (ora oscurato) o il file risulta essere stato copiato da: '
Notificare la violazione nella pagina di discussione dell'utente che l'ha commessa. Questo avviso può essere rimosso solo da un amministratore. Per l'amministratore: Cancella la pagina |
", "cancelcopy", false, true)', 'cancelcopy', );
addlilink(tools, 'javascript:edit_summary_watch2("
Inizia la procedura creando QUI la pagina di cancellazione e seguendo le istruzioni.
Prima di iniziare la procedura, controlla che la voce abbia un titolo corretto, altrimenti spostala. |
", "cancellare", false, true)', 'da cancellare', );
addlilink(tools, 'javascript:WikilinkDoppi()', 'Wikilink doppi', ); } }
/**** Aggiunge i link nel portlet "strumenti" ****/ function addToolBoxLinks() { //Edit count if (mustLoad("stru") || mustLoad("uec")) { importScript('MediaWiki:Gadget-UserEditCount.js'); }
if (mustLoad("stru") || mustLoad("whois")) { importScript('MediaWiki:Gadget-stru-whois.js'); }
mw.util.addPortletLink('p-tb', 'javascript:var code = getpagecontent("Wikipedia:Monobook.js/Setup.js"); if(code) eval(code);', 'Setup', ); mw.util.addPortletLink('p-tb', 'javascript:var code1 = getpagecontent("Wikipedia:Monobook.js/Pulsanti_personali.js"); if(code1) eval(code1);', 'Pulsanti personali', ); mw.util.addPortletLink('p-tb', 'javascript:var code1 = getpagecontent("Wikipedia:Monobook.js/Collegamenti_personali.js"); if(code1) eval(code1);', 'Collegamenti personali', );
if (mustLoad("stru") || mustLoad("vfol")) { importScript('MediaWiki:Gadget-VFonLine.js'); }
if (mustLoad("stru") || mustLoad("lrc")) { importScript('MediaWiki:Gadget-LiveRC.js'); }
}
/** Codice di compatibilità con WikEd **/ //Copia dal frame di wikEd (http://en.wikipedia.org/wiki/User:Cacycle/wikEd.js) alla wpTextbox1 textarea function WEUpdateTextarea() { if (typeof (wikEd) != "undefined" && wikEd && wikEd.useWikEd) WikEdUpdateTextarea(); }
//Copia la wpTextbox1 textarea nel frame del wikEd function WEUpdateFrame() { if (typeof (wikEd) != "undefined" && wikEd && wikEd.useWikEd) WikEdUpdateFrame(); }
/**** Aggiunge i link nel portlet "navigazione" ****/ function addNavBarLinks() { if (mustLoad("nav") || mustLoad("aut")) { importScript('MediaWiki:Gadget-nav-aut.js'); } if (mustLoad("nav") || mustLoad("csu")) { importScript('MediaWiki:Gadget-nav-cancimm.js'); } if (mustLoad("nav") || mustLoad("blk")) { importScript('MediaWiki:Gadget-nav-blocklist.js'); } if (mustLoad("nav") || mustLoad("log")) { importScript('MediaWiki:Gadget-nav-log.js'); } if (mustLoad("nav") || mustLoad("mcss")) { importScript('MediaWiki:Gadget-nav-css.js'); } if (mustLoad("nav") || mustLoad("mjs")) { importScript('MediaWiki:Gadget-nav-js.js'); } if (mustLoad("nav") || mustLoad("pca")) { importScript('MediaWiki:Gadget-nav-canc.js'); } if (mustLoad("nav") || mustLoad("newp")) { importScript('MediaWiki:Gadget-nav-newpages.js'); } if (mustLoad("nav") || mustLoad("rich")) { importScript('MediaWiki:Gadget-nav-rfa.js'); } if (mustLoad("nav") || mustLoad("sand")) { importScript('MediaWiki:Gadget-nav-sandbox.js'); } if (mustLoad("nav") || mustLoad("admin")) { importScript('MediaWiki:Gadget-nav-struadmin.js'); } if (mustLoad("nav") || mustLoad("stub")) { importScript('MediaWiki:Gadget-nav-stub.js'); } if (mustLoad("nav") || mustLoad("prob")) { importScript('MediaWiki:Gadget-nav-prob.js'); } if (mustLoad("nav") || mustLoad("vand")) { importScript('MediaWiki:Gadget-nav-vand.js'); } if (mustLoad("nav") || mustLoad("bot")) { importScript('MediaWiki:Gadget-nav-bot.js'); }
// Se sono stati stati installati alcuni collegamenti personali if (typeof (myLinks) != 'undefined') for (var i = 0; i < myLinks.length; i++) { nome = myLinks[i][0]; link = myLinks[i][1];
// Sostituisco %TITOLO% con il titolo della voce var link = link.replace(/%TITOLO%/, mw.config.get('wgPageName'));
// Sostituisco %TITOLO2% con il titolo della voce senza namespace var link = link.replace(/%TITOLO2%/, mw.config.get('wgTitle'));
//Aggiungo il link mw.util.addPortletLink('p-navigation', link, nome, ); } }
/** WikiHistory **/ function getHistoryFromCookie() { var c = GetCookie("wikiHistory"); var hist = c ? c.split('#') : []; for (var i = 0; i < hist.length; i++) hist[i] = decodeURIComponent(hist[i]); return hist; }
function saveHistoryToCookie() { if (mw.config.get('wgNamespaceNumber') < 0) return; var c = GetCookie("wikiHistory"), i; var h = c ? c.split('#') : []; var current = encodeURIComponent(mw.config.get('wgPageName').replace(/_/g, ' ')), found = -1; for (i = 0; i < h.length; i++) if (h[i] == current) { found = i; break; } if (found == -1) h.push(current); else h[found] = null; var newh = []; for (i = Math.max(0, h.length - 100); i < h.length; i++) if (h[i] != null) newh.push(h[i]); var expire = new Date(); // scadenza del cookie expire.setTime(expire.getTime() + (60 * 60 * 1000)); //scadenza di un'ora SetCookie('wikiHistory', newh.join('#'), expire.toGMTString(), '/'); }
/** WikiHistory END **/
/**** Menu "strumenti vari" ****/
//Sostituzioni automatiche
function fixformat() {
WEUpdateTextarea();
var txt = document.getElementById('wpTextbox1');
txt.value = txt.value
.replace(/\’/g, "'")
.replace(/ '([\w\ ]+)' /g, ' "$1" ')
.replace(/“/g, '"')
.replace(/”/g, '"')
.replace(/–/g, '-')
.replace(/,,/g, ',')
.replace(/ m2 /g, ' m² ')
.replace(/a' /g, "à ")
.replace(/([^p])o' /g, "$1ò ")
.replace(/u' /g, "ù ")
.replace(/i' /g, "ì ")
.replace(/ anzich(è|e')/g, " anziché")
.replace(/ affinch(è|e')/g, " affinché")
.replace(/ bench(è|e')/g, " benché")
.replace(/ cioé/g, " cioè")
.replace(/ Dè /g, " De' ")
.replace(/ dè /g, " de' ")
.replace(/ dò/g, " do")
.replace(/E' /g, "È ")
.replace(/É /g, "È ")
.replace(/ e' /g, " è ")
.replace(/ é/g, " è")
.replace(/ fà /g, " fa ")
.replace(/ fè /g, " fe' ")
.replace(/ Frà /g, " Fra' ")
.replace(/ fù /g, " fu ")
.replace(/ mò /g, " mo' ")
.replace(/ nè /g, " né ")
.replace(/ ne' /g, " né ")
.replace(/ nonch(è|e')/g, " nonché")
.replace(/ pè /g, " pe' ")
.replace(/ perch(è|e')/g, " perché")
.replace(/ per(ó|o') /g, ' però ')
.replace(/ piu' /g, " più ")
.replace(/ pò/g, " po'")
.replace(/ poich(è|e') /g, " poiché ")
.replace(/ propio/g, " proprio")
.replace(/ (puo|puo') /gi, ' può ')
.replace(/ quì /gi, " qui ")
.replace(/ quà /gi, " qua ")
.replace(/ qual'è/gi, " qual è")
.replace(/ sà /gi, " sa ")
.replace(/ sè /gi, " sé ")
.replace(/si' /g, "sì")
.replace(/ sò /g, " so ")
.replace(/ sù /g, " su ")
.replace(/ tr(è|e'|é) /g, " tre ")
.replace(/ sucessivo /gi, " successivo ")
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/&/g, '&')
.replace(/"/g, '"')
.replace(/à/g, 'à')
.replace(/è/g, 'è')
.replace(/é/g, 'é')
.replace(/ì/g, 'ì')
.replace(/¡/g, '¡')
.replace(/¢/g, '¢')
.replace(/£/g, '£')
.replace(/¥/g, '¥')
.replace(/´/g, "'")
.replace(/±/g, '±')
.replace(/×/g, '×')
.replace(/÷/g, '÷')
.replace(/µ/g, 'µ')
.replace(/°/g, '°')
.replace(/¼/g, '¼')
.replace(/½/g, '½')
.replace(/¾/g, '¾')
.replace(/¹/g, '¹')
.replace(/²/g, '²')
.replace(/³/g, '³')
.replace(/§/g, '§')
.replace(/<\/?(b|strong)>/gi, "")
.replace(/<\/?(i|em|var)>/gi, "")
.replace(/
\n\n/g, '\n\n')
.replace(/
/gi, '
')
.replace(/\n<hr[ \/]*>\n/gi, '\n----\n')
.replace(/ +<hr[ \/]*> +/gi, '\n----\n')
.replace(/
\/]+?)>/gi, '
') .replace(/\n *