Cathopedia:Monobook.js/MonobookCompleto.js

Da Cathopedia, l'enciclopedia cattolica.
100%Decrease text sizeStandard text sizeIncrease text size
Share/Save/Bookmark
Vai alla navigazione Vai alla ricerca

/* <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("

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("

", "cancimm", false, true)', 'cancimm', ); addlilink(tools, 'javascript:edit_summary_watch2("

", "cancelcopy", false, true)', 'cancelcopy', );

addlilink(tools, 'javascript:edit_summary_watch2("

", "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 *

*([^<]+?) *<\/h1> *\n/gi, "\n= $1 =\n") .replace(/\n *

*([^<]+?) *<\/h2> *\n/gi, "\n== $1 ==\n") .replace(/\n *

*([^<]+?) *<\/h3> *\n/gi, "\n=== $1 ===\n") .replace(/\n *

*([^<]+?) *<\/h4> *\n/gi, "\n==== $1 ====\n") .replace(/\n *

*([^<]+?) *<\/h5> *\n/gi, "\n===== $1 =====\n") .replace(/\n *
*([^<]+?) *<\/h6> *\n/gi, "\n====== $1 =======\n"); document.getElementById('wpSummary').value += "+formattazione "; WEUpdateFrame(); } //Cerca e sostituisci function replace() { WEUpdateTextarea(); var s = prompt("Search regexp?"); if (s) { var r = prompt("Replace regexp?"); if (!r && r != ) return; var txt = document.getElementById('wpTextbox1'); txt.value = txt.value.replace(new RegExp(s, "g"), r); } WEUpdateFrame(); } /**** Funzioni per le pagine di discussione ****/ // Aggiunge il messaggio "msg" alla pagina editata, scrive "summ" nell'oggetto, // segna o meno "segui questa pagina" a seconda dell'impostazione precedente // e spunta "modifica minore". Se start è true aggiunge il messaggio a inizio pagina function edit_summary_watch(msg, summ, watch, minor, start) { WEUpdateTextarea(); var f = document.editform, t = f.wpTextbox1; if ( start ) { t.value = msg + '\n' + t.value; } else { if (t.value.length > 0) { t.value += '\n'; } t.value += msg; } f.wpSummary.value = summ; f.wpWatchthis.checked = watch; f.wpMinoredit.checked = minor; WEUpdateFrame(); } // Come il precedente, ma aggiunge "msg" all'inizio della pagina function edit_summary_watch2(msg, summ, watch, minor) { edit_summary_watch(msg,summ,watch,minor,true); } function doImports() { //script per il conteggio dei wikilink doppi if (document.title.indexOf("Modifica") != -1) { //usato solo in modifica importScript('Wikipedia:Monobook.js/WikilinkDoppi.js'); } /** Rende il titolo editabile, in modo da usarlo come casella di ricerca **/ if (mustLoad("edt")) { importScript('MediaWiki:Gadget-EDTitle.js'); } // script "recent Senpaio" ver. 1.0 // Vedi Utente:Senpai/monobook/recent2.js, derivato dall'Anti-vandal tool di en:user:Lupin; tradotto ed adattato da Utente:Senpai e Utente:Valepert if (mustLoad("avan")) { importScript('Utente:Senpai/monobook/recent2.js'); } if (mustLoad("cwtch")) { importScript('MediaWiki:Gadget-CatWatch.js'); } if (mustLoad("nms")) { importScript('MediaWiki:Gadget-NMS.js'); } if (mustLoad("qed")) { importScript('Wikipedia:Monobook.js/QuickEdit.js'); } if (mustLoad("wed") && BrowserDetect.browser != "Explorer") { importScript('MediaWiki:Gadget-WikEd.js'); } // script Cronologia della pagina" // Vedi Wikipedia:Monobook.js/MostraModifiche.js di nl:User:JePe // non va con IE if (mustLoad("rch") && BrowserDetect.browser != "Explorer") { importScript('Wikipedia:Monobook.js/MostraModifiche.js'); } // script "Command line" // Vedi Utente:Salvatore_Ingala/commandline.js di Utente:Salvatore_Ingala // NOTA: deve rimanere DOPO wikEd per motivi di compatibilità! if (mustLoad("cmd")) { importScript('Utente:Salvatore_Ingala/commandline.js'); } // script del retropatrolling // Vedi Wikipedia:VPopSpeed // non va con IE if (mustLoad("vpop") && BrowserDetect.browser != "Explorer") { importScript('Utente:Henna/VPopSpeed.js'); } if (mustLoad("popup")) { importScript('MediaWiki:Gadget-Popup.js'); } if (mustLoad("linkcomplete")) { importScript('MediaWiki:Gadget-LinkComplete.js'); } if (mustLoad("qdel")) { importScript('MediaWiki:Gadget-QuickDelete.js'); } if (mustLoad("unw")) { importScript('MediaWiki:Gadget-Unwatch.js'); } if (mustLoad("dels")) { importScript('MediaWiki:Gadget-DeleteSection.js'); } // Trasforma le cronologie incollate in versioni con wikilink if (document.title.indexOf("Discussione") != -1) { importScript('Wikipedia:Monobook.js/Cronologia.js'); } if (mustLoad("nav") || mustLoad("requi")) { importScript('MediaWiki:Gadget-nav-requisiti.js'); } if (mw.config.get('wgTitle') == 'Monobook.js/E-LiveRC' && mustLoad("elrc")) { importScript('Wikipedia:Monobook.js/E-LiveRC.js'); } // Link cliccabili in crono if (mustLoad("clink")) { var autolinkParseLink = false; // se si usa il wikEd importScriptURI('//en.wikipedia.org/w/index.php?title=User:Lenore/autolink.js&action=raw&ctype=text/javascript'); } importScript('MediaWiki:Gadget-nav-qualità.js'); if (mw.config.get('wgAction') == "edit" || mw.config.get('wgAction') == "submit") { importScript('Wikipedia:Monobook.js/MonobookCompleto.js/Toolbar.js'); } } /****************************** FUNZIONI AUSILIARIE ***********************************/ //Ritorna true se la variabile toLoad contiene l'opzione str mustLoad = (function () { mustLoadCache = {}; var A = toLoad ? toLoad.split(' ') : []; for (var i = 0; i < A.length; i++) { if (A[i]) { mustLoadCache[A[i]] = true; } } return function (str) { return mustLoadCache[str] === true; }; })(); importScript('Wikipedia:Monobook.js/Deprecazioni.js'); /****************************** ONLOAD ***********************************/ $.when( mw.loader.using('/w/index.php?title=Wikipedia:Monobook.js/Utils.js&action=raw&ctype=text/javascript'), $.ready ) .then( function () { saveHistoryToCookie(); //memorizza le pagine visitate in un cookie if (mustLoad("orol")) { // Aggiunge l'orologio importScript('MediaWiki:Gadget-Orologio.js'); } addNavBarLinks(); addToolBoxLinks(); if (mw.config.get('wgNamespaceNumber') != -1) { //non nelle pagine speciali if (mustLoad("ns0")) { importScript('MediaWiki:Gadget-section0.js'); } if (mustLoad("led")) { importScript('MediaWiki:Gadget-lastedit.js'); } if (mustLoad("purg")) { importScript('MediaWiki:Gadget-Purge.js'); } if (mustLoad("tabs") && mw.config.get('skin') !== 'vector') add_tabs(); } if (mustLoad("chat")) { importScript('MediaWiki:Gadget-Chat.js'); } // Aggiunge il link "Novita'" nella barra superiore // Apre gli "Osservati Speciali" mostrando solo le modifiche avvenute dopo l'ultima volta che ci sei passato if (mustLoad("since")) { importScript('MediaWiki:Gadget-Since.js'); } if (mustLoad("allp")) setup_allpages_button(); doImports(); }); //</source>