Utilisateur:PoM/monobook.js
Un article de Wikipédia, l'encyclopédie libre.
Note : Après avoir publié la page, vous devrez forcer son rechargement pour voir les changements : Mozilla / Konqueror / Firefox : Shift-Ctrl-R, Internet Explorer / Opera : Ctrl-F5, Safari : Cmd-R.
<!-- /********************************************************* * OUTILS GÉNÉRAUX *********************************************************/ /* * addLoadEvent : appeler une fonction lorsque la page est chargée */ //''Testé avec MediaWiki 1.6a'' - ajoute un onglet "Google" qui permet de lancer une recherche locale ou globale sur Google avec le nom de l'article //comme mot-clé. Hégésippe a ajouté quelques liens en plus à la version originale. function googleOnglet() { var a = document.getElementById("p-cactions"); if (a) { var pageName = document.title.replace(" - Wikipédia", ""); b = a.getElementsByTagName("ul"); if(b.length > 0) { b[0].innerHTML = b[0].innerHTML + '<li id="ca-nstab-user"><img src="http://www.google.com/intl/en/logos/Logo_60wht.gif" height="20px">' + '<a href="http://www.google.fr/search?num=20&hl=en&safe=off&q=site%3Afr.wikipedia.org+' + pageName + '&btnG=Search">' + 'wp-fr</a>' + '<a href="http://www.google.fr/search?num=20&hl=en&safe=off&q=site%3Awikipedia.org+' + pageName + '&btnG=Search">' + 'wp</a>' + '<a href="http://www.google.fr/search?num=20&hl=fr&safe=off&q=' + pageName + '&btnG=Search&meta=lr%3Dlang_fr">' + 'web-fr</a>' + '<a href="http://www.google.fr/search?num=20&hl=en&safe=off&q=' + pageName + '&btnG=Search">' + 'web</a>' + '</li>'; } } } addLoadEvent(googleOnglet); // ----------------------------------------------------------------- function addLoadEvent(func) { if (window.addEventListener) { window.addEventListener("load", func, false); } else if (window.attachEvent) { window.attachEvent("onload", func); } } /* * insertAfter : insérer un élément dans une page */ function insertAfter(parent, node, referenceNode) { parent.insertBefore(node, referenceNode.nextSibling); } /********************************************************* * OUTILS À DESTINATION DE TOUS UTILISATEURS *********************************************************/ /* * NUPatrol : Patrouille nouveaux arrivants */ function TodayDate() { m = new Array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"); today = new Date(); day = today.getDate(); year = today.getYear(); if (year < 2000) year = year + 1900; return (day + " " + m[today.getMonth()] + " " + year); } function NUPatrol(){ if ( window.location.href.indexOf( 'Special:Log/newusers') < 0 && window.location.href.indexOf( '&type=newusers' ) < 0 ) return; var items, item, i, links, user, name, talk, contribs, insertLoc, link; items = document.getElementById( 'bodyContent' ).getElementsByTagName( 'ul' )[ 0 ].getElementsByTagName( 'li' ); function NewLink( txt, url, plainlinks, linkColor ) { var a = document.createElement( 'a' ); a.appendChild( document.createTextNode( txt ) ); a.href = url; if ( plainlinks ) a.className = 'plainlinks'; if ( linkColor ) { if ( typeof linkColor == "string" ) a.style.color = linkColor; else a.style.color = '#FF0000'; // old default behavior } return a; } for ( i = 0; i < items.length; i++ ) { item = items[ i ]; links = item.getElementsByTagName( 'a' ); user = links[ 0 ]; name = user.firstChild.nodeValue; talk = links[ 2 ]; talk.firstChild.nodeValue = 'discussion'; // lowercase 'Talk' for consistency contribs = links[ 3 ]; insertLoc = user.nextSibling; // ' newusers ' item.insertBefore( document.createTextNode( ' ( ' ), insertLoc ); item.insertBefore( talk, insertLoc ); item.insertBefore( document.createTextNode( ', ' ), insertLoc ); item.insertBefore( contribs, insertLoc ); item.insertBefore( document.createTextNode( ', ' ), insertLoc ); item.insertBefore( NewLink( 'actions', '/w/index.php?title=Special%3ALog&user=' + name, true, '#000088' ), insertLoc ); item.insertBefore( document.createTextNode( ', ' ), insertLoc ); item.insertBefore( NewLink( 'blocages', '/w/index.php?title=Special%3ALog&type=block&page=User%3A' + name, true, '#008800' ), insertLoc ); item.insertBefore( document.createTextNode( ', ' ), insertLoc ); item.insertBefore( NewLink( 'est bloqué ?', '/wiki/Special:Ipblocklist?action=search&ip=' + name, true, '#888800' ), insertLoc ); item.insertBefore( document.createTextNode( ', ' ), insertLoc ); item.insertBefore( NewLink( 'bloquer', '/w/index.php?title=Special:Blockip&ip=' + name, true, '#880000' ), insertLoc ); item.insertBefore( document.createTextNode( ' )' ), insertLoc ); item.removeChild( insertLoc.nextSibling ); // should remove the span item.removeChild( insertLoc ); // should remove ' newusers ' text } } addLoadEvent (NUPatrol); /* * DeluxeBar : meilleur champ d'édition */ function DeluxeBar() { if (document.createTextNode) { var toolbar = document.getElementById("toolbar"); if (!toolbar) return; var messages = new Array() messages[0] = "{{subst:" + "Bienvenue sur ta page" + "}}" + "~~" + "~~"; messages[1] = "{{subst:" + "Bienvenue" + "}}" + "~~" + "~~"; messages[2] = "{{subst:" + "Test 1" + "}}" + "~~" + "~~"; messages[3] = "{{subst:" + "Test 2" + "}}" + "~~" + "~~"; messages[4] = "{{subst:" + "Test 3" + "}}" + "~~" + "~~"; messages[5] = "{{subst:" + "Bienvenue spammeur" + "}}" + "~~" + "~~"; messages[6] = "{{subst:" + "VandaleBloqué|n" + "}}" + "~~" + "~~"; messages[7] = "{{" + "suppression" + "}}"; messages[8] = "#" + "{{"+ "Supprimer" + "}}" + " Pour des raisons que moi seul connait mais qui respecte ainsi la PdD qui oblige à argumenter."; messages[9] = "#" + "{{"+ "Conserver" + "}}" + " Pour des raisons que moi seul connait mais qui respecte ainsi la PdD qui oblige à argumenter."; messages[10] = "--{{"+ "Utilisateur:PoM/Signature" + "}}"; var images = new Array() images[0] = "http://commons.wikimedia.org/wiki/Image:Button_accueilA.png"; images[1] = "http://commons.wikimedia.org/wiki/Image:Button_accueilB.png"; images[2] = "http://commons.wikimedia.org/wiki/Image:Bouton_Vandale1.png"; images[3] = "http://commons.wikimedia.org/wiki/Image:Bouton_Vandale2.png"; images[4] = "http://commons.wikimedia.org/wiki/Image:Bouton_Vandale3.png"; images[5] = "http://commons.wikimedia.org/wiki/Image:Button_base.png"; images[6] = "http://commons.wikimedia.org/wiki/Image:Button_base.png"; images[7] = "http://commons.wikimedia.org/wiki/Image:Button_base.png"; images[8] = "http://commons.wikimedia.org/wiki/Image:Button_base.png"; images[9] = "http://commons.wikimedia.org/wiki/Image:Button_base.png"; images[10] = "http://upload.wikimedia.org/wikipedia/commons/f/ff/Qsicon_Achtung.png"; var commentaires = new Array() commentaires[0] = "Bienvenue sur ta page !"; commentaires[1] = "Bienvenue !"; commentaires[2] = "avertissement 1er niveau"; commentaires[3] = "avertissement 2e niveau"; commentaires[4] = "avertissement 3e niveau" ; commentaires[5] = "avertissement spammeur"; commentaires[6] = "avis de blocage" ; commentaires[7] = "Proposé à la suppression"; commentaires[8] = "Supprimer et motif"; commentaires[9] = "Conserver et motif"; commentaires[10] = "Signature pas content"; //////////////////////////////// for (var i=0;i<messages.length;i++) { var img = document.createElement("img"); img.setAttribute("src", images[i]); img.setAttribute("alt", commentaires[i]); var ref = document.createElement("a"); ref.setAttribute("href", "javascript:insertTags('', \"" + messages[i] + "\", '');" + "javascript:changeSummary(\"" + commentaires[i] + "\");" ); ref.appendChild(img); toolbar.appendChild(ref); } } } function changeSummary(sampleText) { document.editform.wpSummary.value = sampleText; } addLoadEvent(DeluxeBar); /* * OptimizedShortPages : rajout de fonctionnalités dans [[Special:Shortpages]] */ function OptimizedShortPages() { if (document.URL.indexOf("http://fr.wikipedia.org/wiki/Special:Shortpages")!=0) return; var mainNode = document.getElementsByTagName("ol"); var allArticles = mainNode[0].getElementsByTagName("li"); for (i=0; i<allArticles.length; i++) { var articleName = allArticles[i].childNodes[0].getAttribute("title"); var historyElement = document.createElement("a"); var histUrl = "/w/index.php?title=" + articleName + "&action=history" historyElement.setAttribute("href", histUrl); var historyText = document.createTextNode("… (hist) "); historyElement.appendChild(historyText); insertAfter(allArticles[i], historyElement, allArticles[i].childNodes[1]); var relatedElement = document.createElement("a"); var relatedUrl = "/wiki/Special:Whatlinkshere/" + articleName relatedElement.setAttribute("href", relatedUrl); var relatedText = document.createTextNode(" (liens) "); relatedElement.appendChild(relatedText); var diffElement = document.createElement("a"); var diffUrl = "/w/index.php?title=" + articleName + "&diff=0" diffElement.setAttribute("href", diffUrl); var diffText = document.createTextNode(" (diff) "); diffElement.appendChild(diffText); insertAfter(allArticles[i], relatedElement, historyElement); insertAfter(allArticles[i], diffElement, relatedElement); insertAfter(allArticles[i], document.createTextNode(allArticles[i].childNodes[1].data), diffElement); allArticles[i].removeChild(allArticles[i].childNodes[1]); } } addLoadEvent(OptimizedShortPages); /* * Bistro_Oracle, PaS_PaF_CSS_JS, Vandalisme : Ajout de liens dans la barre de navigation vers des pages souvent consultées */ function Bistro_Oracle() { var a = document.getElementById("p-navigation"); if (a) { b = a.getElementsByTagName("ul"); if(b.length > 0) { b[0].innerHTML = b[0].innerHTML + '<li><a style="display: inline" id="n-bistro" title="Wikipédia:Le Bistro/'+ TodayDate() +'" href="/wiki/Wikip%C3%A9dia:Le_Bistro/'+ TodayDate() +'">Bistro</a>, <a style="display: inline" id="n-bistro" title="Oracle" href="/wiki/Wikipédia:Oracle">Oracle</a>, <a style="display: inline" id="n-bistro" title="BA" href="/wiki/WP:BA">BA</a></li>' } } } addLoadEvent(Bistro_Oracle); function PaS_PaF_CSS_JS() { var a = document.getElementById("p-navigation"); if (a) { b = a.getElementsByTagName("ul"); if(b.length > 0) { b[0].innerHTML = b[0].innerHTML + '<li><a style="display: inline" id="n-pas" title="Wikipédia:Pages à supprimer" href="/w/index.php?title=Wikip%E9dia:Pages%20%E0%20supprimer&action=purge">PàS</a>, <a style="display: inline" id="n-paf" title="Wikipédia:Pages à fusionner" href="/w/index.php?title=Wikip%E9dia:Pages%20%E0%20fusionner&action=purge">PàF</a>, <a style="display: inline" id="n-CSS" title="Utilisateur:PoM/monobook.css" href="/w/index.php?title=Utilisateur:PoM/monobook.css">CSS</a>, <a style="display: inline" id="n-JS" title="Utilisateur:PoM/monobook.js"href="/w/index.php?title=Utilisateur:PoM/monobook.js">JS</a></li>' } } } addLoadEvent(PaS_PaF_CSS_JS); function Vandalisme() { var a = document.getElementById("p-navigation"); if (a) { b = a.getElementsByTagName("ul"); if(b.length > 0) { b[0].innerHTML = b[0].innerHTML + '<li><a style="display: inline" id="n-vand" title="Wikipédia:Vandalisme en cours"href="/wiki/Wikipédia:Vandalisme_en_cours/Alertes_en_cours">Vandalisme</a>, <a style="display: inline" id="n-vand" title="Liste de blocage"href="/wiki/Special:ipblocklist">ListeB</a></li>' ; } } } addLoadEvent(Vandalisme); function LienArbitrage() { var a = document.getElementById("p-navigation"); if (a) { b = a.getElementsByTagName("ul"); if(b.length > 0) { b[0].innerHTML = b[0].innerHTML + '<li><a style="display: inline" id="n-arbcom" title="Comité d\'arbitrage" href="/wiki/Wikipédia:Comité d\'arbitrage/Arbitrage">Arbitrage</a>, <a style="display: inline" id="n-arbcom" title="Requêtes" href="/wiki/Wikipédia:Requête aux administrateurs">Requêtes</a></li>' ; } } } addLoadEvent(LienArbitrage); /* * CategoryTree : Arborescence de catégories */ function CategoryTree() { // Auteur : Anakin, version du 11 décembre 2005 var element = document.getElementById('ca-nstab-category'); if (element) { var categoryname = element.firstChild.href; categoryname = categoryname.substring(7); var wikiname = categoryname.substring(0, categoryname.indexOf('.')); var indexofname = categoryname.indexOf(":") + 1; categoryname = categoryname.substring(indexofname); var indexofampercent = categoryname.indexOf("&"); if (indexofampercent != -1) categoryname = categoryname.substring(0, indexofampercent); var li = document.createElement('li'); li.id = 'ca-categorytree'; var a = document.createElement('a'); a.appendChild(document.createTextNode("Arborescence")); a.href = 'http://tools.wikimedia.de/~daniel/WikiSense/CategoryTree.php?wiki=' + wikiname + '&art=on&cat=' + categoryname; li.appendChild(a); document.getElementById('ca-nstab-category').parentNode.appendChild(li); } } addLoadEvent(CategoryTree); /* * OngletPurge : Onglet pour purger le cache */ function OngletPurge() { var a = document.getElementById("p-cactions"); if (a) { var pageName = document.title.replace(" - Wikipédia", ""); b = a.getElementsByTagName("ul"); if(b.length > 0) { b[0].innerHTML = b[0].innerHTML + '<li id="ca-nstab-user">' + '<a href="/w/index.php?action=purge&title=' + pageName + '">purger</a>' + '</li>'; } } } addLoadEvent(OngletPurge); /* == Popup de Lupin == */ document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); simplePopups=true; popupDelay=0.7; popupStructure='original'; popupOnEditSelection=false; popupAdminLinks=true; var oldEditsectionLinks = true; /************************* * Importer commons * *************************/ function PaletteOutils() { var a = document.getElementById("p-tb"); if (a) { b = a.getElementsByTagName("ul"); if(b.length > 0) { b[0].innerHTML = b[0].innerHTML + '<li><span id="n-bistro" title="http://commons.wikimedia.org/wiki/Special:Upload">' + '<a href="http://commons.wikimedia.org/wiki/Special:Upload">' + 'Importer une image ou un son sur Commons</a></span> </li>' } } } addLoadEvent(PaletteOutils); /************************* * Gestion améliorée * *************************/ var suiviManagerAllPages = new Array(); function SuiviManagerRegexp(regexp) { var match = new RegExp(regexp); for (var i=0;i<suiviManagerAllPages.length;i++) { var pageName = suiviManagerAllPages[i].childNodes[0].getAttribute("value"); if (match.test(pageName)) { suiviManagerAllPages[i].childNodes[0].checked=true; } } } function SuiviManagerLiensRouges() { for (var i=0;i<suiviManagerAllPages.length;i++) { var pageClass = suiviManagerAllPages[i].childNodes[2].getAttribute("class"); if (pageClass && pageClass=="new") { suiviManagerAllPages[i].childNodes[0].checked=true; } } } function SuiviManagerDeselect() { for (var i=0;i<suiviManagerAllPages.length;i++) { suiviManagerAllPages[i].childNodes[0].checked=false; } } function SuiviManager() { if (document.URL.indexOf("http://fr.wikipedia.org/wiki/Special:Watchlist/edit")!=0) return; var a=-1; var interfaceMsg = new Array(); var regexpList = new Array(); ////////////////////////////////////////////////// // Expressions régulières et liens de l'interface // // besoin d'aide pour les regexp ? // http://www.commentcamarche.net/javascript/jsregexp.php3 ////////////////////////////////////////////////// interfaceMsg[++a] = "<b>Tout cocher</b>"; regexpList[a] = "^.*"; interfaceMsg[++a] = "Utilisateurs"; regexpList[a] = "^Utilisateur:"; interfaceMsg[++a] = "Wikipédia:*"; regexpList[a] = "^Wikipédia:"; interfaceMsg[++a] = "Sous-pages de PàS"; regexpList[a] = "^Wikipédia:Pages à supprimer\/"; interfaceMsg[++a] = "Sous-pages de PàV"; regexpList[a] = "^Wikipédia:Pages à vérifier\/"; interfaceMsg[++a] = "Pages du bistro"; regexpList[a] = "^Wikipédia:Le Bistro\/"; interfaceMsg[++a] = "Images"; regexpList[a] = "^Image:"; interfaceMsg[++a] = "Modèles"; regexpList[a] = "^Modèle:"; interfaceMsg[++a] = "Aide"; regexpList[a] = "^Aide:"; interfaceMsg[++a] = "Catégories"; regexpList[a] = "^Catégorie:"; interfaceMsg[++a] = "Portails"; regexpList[a] = "^Portail:"; ////////////////////////////////////////////////// var topTag = document.getElementById("contentSub") // récupère toutes les pages var watchlist = document.getElementsByTagName("ul"); for (u=0;u<watchlist.length;u++) { var entries = watchlist[u].getElementsByTagName("li"); for (i=0;i<entries.length;i++) { suiviManagerAllPages.push(entries[i]); } } // prépare la mini-interface var str = "<div style=\"background-color:#8ecfe4;font-size:1px;height:8px;border:1px solid #AAAAAA;-moz-border-radius-topright:0.5em;-moz-border-radius-topleft:0.5em;\"></div>" + "<div style=\"border:1px solid #6ac1de;border-top:0px solid white;padding:5px 5px 0 5px;margin-bottom:3ex;\"><p>" + "<div style=\"float: left; text-align: left; white-space: nowrap;\"></div>" for (var cpt = 0; cpt < interfaceMsg.length; cpt ++) { str += "<a href=\"javascript:SuiviManagerRegexp('" + regexpList[cpt] + "')\">" + interfaceMsg[cpt] + " •</a> " } str += "<a href=\"javascript:SuiviManagerLiensRouges()\">" + "Retirer les liens rouges" + " •</a> " str += "<a href=\"javascript:SuiviManagerDeselect()\">" + "<b>Enlever toutes les coches</b>" + " •</a> " topTag.innerHTML = topTag.innerHTML + "<br clear=all />" + str + "<p></div>" } addLoadEvent(SuiviManager);