Utilisateur:Dr Brains/monobook.js
Note : après avoir enregistré tes préférences, tu devras forcer son rechargement complet en ignorant le contenu actuel du cache de ton explorateur pour voir les changements : Mozilla / Firefox / Konqueror / Safari : maintiens la touche Majuscule (Shift) en cliquant le bouton Actualiser (Reload,) ou presse Maj-Ctrl-R (Maj-Cmd-R sur Apple Mac) ; Internet Explorer / Opera : maintiens la touche Ctrl en cliquant le bouton Actualiser ou presse Ctrl-F5.
//__NORICHEDITOR__ // Pas de WYGSYG sur ma page Javascript /////////////////////////////////////////////////////////////////////// Redirection automatique vers le skin monobook /////////////////////////////////////////////////////////////////////// var AdresseURL = window.location.href; // Fonction de récupération des arguments de l'URL function recuperesArgumentURL(argumentARecuperer){ urlPage = window.location.href; listeArguments = urlPage.split(new RegExp(argumentARecuperer+"=", "g")); if(listeArguments.length == 1) { return false; }else{ argumentRecherche = listeArguments[1].split(new RegExp("&", "g")); } return argumentRecherche[0]; } // Ajout d'un lien dans les liens personnels pour revenir au skin wikimini addOnloadHook (function(){ recuperesArgumentURL('useskin'); if(recuperesArgumentURL('useskin')!='wikimini'){ var UlPerso = document.getElementById('p-personal').getElementsByTagName('ul')[0]; UlPerso.innerHTML = '<li><a href="' + AdresseURL.split('monobook').join('wikimini') + '" title="Revenir à l\'habillage Wikimini" >Wikimini</a></li>' + UlPerso.innerHTML; } }); importScript('MediaWiki:Wikimini.js'); ////////////////////////////////////////////////////////////////////////////////// FIN DE GESTION DE LA REDIRECTION /////////////////////////////////////////////////////// var showFCKEditor = 0; var popup = false; //pointer to popup document var firstLoad = false; var editorMsgOn = "''Rich Editor''"; var editorMsgOff = "Désactiver ''Rich Editor''"; var editorLink = "Désactiver ''Rich Editor''"; var saveSetting = 0; var RTE_VISIBLE = 1; var RTE_TOGGLE_LINK = 2; var RTE_POPUP = 4; var oFCKeditor = new FCKeditor( "wpTextbox1" ) ; //Set config oFCKeditor.BasePath = "/w/extensions/FCKeditor/fckeditor/" ; oFCKeditor.Config["CustomConfigurationsPath"] = "/w/extensions/FCKeditor/fckeditor_config.js" ;oFCKeditor.Config["EditorAreaCSS"] = "/w/extensions/FCKeditor/css/fckeditor.css" ; oFCKeditor.ToolbarSet = "Wikimini" ; oFCKeditor.ready = false; oFCKeditor.Config["showreferences"] = false; oFCKeditor.Config["showsource"] = false; /////////////////////////////////////////////////////////////////////// Fonctions génériques /////////////////////////////////////////////////////////////////// function insertAfter(parent, node, referenceNode) { parent.insertBefore(node, referenceNode.nextSibling); } function hasClass(node, className) { if (node.className == className) { return true; } var reg = new RegExp('(^| )'+ className +'($| )') if (reg.test(node.className)) { return true; } return false; } function addClass(node, className) { if (hasClass(node, className)) { return false; } node.className += ' '+ className; return true; } function removeClass(node, className) { if (!hasClass(node, className)) { return false; } node.className = eregReplace('(^|\\s+)'+ className +'($|\\s+)', ' ', node.className); return true; } function eregReplace(search, replace, subject) { return subject.replace(new RegExp(search,'g'), replace); } function get_nextsibling(n){ x=n.nextSibling; if(x==null) return false; while (x.nodeType!=1) { x=x.nextSibling; if(x==null) return false; } return x; } function get_previoussibling(n){ x=n.previousSibling; if(x==null) return false; while (x.nodeType!=1) { x=x.previousSibling; if(x==null) return false; } return x; } function getTextContent(oNode) { if (typeof(oNode.textContent)!="undefined") {return oNode.textContent;} switch (oNode.nodeType) { case 3: // TEXT_NODE case 4: // CDATA_SECTION_NODE return oNode.nodeValue; break; case 7: // PROCESSING_INSTRUCTION_NODE case 8: // COMMENT_NODE if (getTextContent.caller!=getTextContent) { return oNode.nodeValue; } break; case 9: // DOCUMENT_NODE case 10: // DOCUMENT_TYPE_NODE case 12: // NOTATION_NODE return null; break; } var _textContent = ""; oNode = oNode.firstChild; while (oNode) { _textContent += getTextContent(oNode); oNode = oNode.nextSibling; } return _textContent; } function setCookie (cookieName, cookieValue, expires, path) { document.cookie = escape(cookieName) + '=' + escape(cookieValue) + (expires ? '; EXPIRES=' + expires.toGMTString() : '') + "; PATH=/" ; } function getCookie(cookieName) { var cookieValue = null; var posName = document.cookie.indexOf(escape(cookieName) + '=' ); if (posName != -1) { var posValue = posName + (escape(cookieName) + '=' ).length; var endPos = document.cookie.indexOf(';', posValue) ; if (endPos != -1) { cookieValue = unescape(document.cookie.substring(posValue, endPos)); } else { cookieValue = unescape(document.cookie.substring(posValue)); } } return decodeURIComponent(cookieValue); } /////////////////////////////////////////////////////////////////////// Ouverture des liens externes dans un nouvel onglet /////////////////////////////////////////////////////////////////////// addOnloadHook(function() { var alinks = document.getElementsByTagName('a'); var tablink, sitename; for (var i = 0, leng = alinks.length; i < leng; i++) { tablink = alinks[i]; if (tablink.className.indexOf("external") != -1 && tablink.href.indexOf(wgServer) == -1) tablink.target = "_blank"; } }); /////////////////////////////////////////////////////////////////////// Lors du passage de la souris au dessus d'un lien de section "modifier", colore la section à modifier. /////////////////////////////////////////////////////////////////////// /* copié de http://en.wikipedia.org/wiki/User:Magnus_Manske/HighlightEditSections.js */ addOnloadHook ( extendededitlinks ) ; function extendededitlinks_get_event_target ( e ) { var targ ; if (!e) var e = window.event; if (e.target) targ = e.target; else if (e.srcElement) targ = e.srcElement; if (targ.nodeType == 3) targ = targ.parentNode; // defeat Safari bug while ( targ.nodeType != 1 || targ.className != "editsection" ) targ = targ.parentNode ; return targ ; } function extendededitlinks_is_relevant_heading ( current , compare ) { if ( current.nodeType != 1 ) return false ; if ( current.tagName.length != 2 ) return false ; if ( current.tagName.substr ( 0 , 1 ) != "H" ) return false ; if ( current.tagName> compare.tagName) return false ; return true ; } function extendededitlinks_onmouseover ( e ) { var target = extendededitlinks_get_event_target ( e ) ; var h2 = target ; while ( h2.nodeType != 1 || h2.tagName.substr(0,1) != "H" ) h2 = h2.parentNode; var newdiv = document.createElement ( "div" ) ; newdiv.style.backgroundColor = "#DDDDDD" ; // newdiv.style.border = "1px solid black" ; // newdiv.style.padding = "2px" ; h2.parentNode.insertBefore ( newdiv , h2 ) ; newdiv = h2.previousSibling ; // Unneccessary? var x = h2 ; do { var y = x ; x = x.nextSibling ; newdiv.appendChild ( y ) ; } while ( x && !extendededitlinks_is_relevant_heading ( x , h2 ) ) ; } function extendededitlinks_onmouseout ( e ) { var target = extendededitlinks_get_event_target ( e ) ; var h2 = target ; while ( h2.nodeType != 1 || h2.tagName.substr(0,1) != "H" ) h2 = h2.parentNode; var newdiv = h2 ; while ( newdiv.nodeType != 1 || newdiv.tagName != "DIV" ) newdiv = newdiv.parentNode; for ( var y = newdiv.firstChild ; y ; y = z ) { z = y.nextSibling ; newdiv.parentNode.insertBefore ( y , newdiv ) ; } newdiv.parentNode.removeChild ( newdiv ) ; } function extendededitlinks () { var spans = document.getElementsByTagName( "span" ); for ( var i = 0 ; i < spans.length ; i++ ) { if ( spans[i].className != "editsection" ) continue ; var a = spans[i].getElementsByTagName("a")[0] ; a.onmouseover = extendededitlinks_onmouseover ; a.onmouseout = extendededitlinks_onmouseout ; } } ///////////////////////////////////////// Liste de suivi Deluxe : Retirer/ajouter des pages de sa liste de suivi plus facilement ///////////////////////////////////////// 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 countPages(regexp){ var match = new RegExp(regexp); var count = 0; for (var i=0;i<suiviManagerAllPages.length;i++) { var pageName = suiviManagerAllPages[i].childNodes[0].getAttribute("value"); if (match.test(pageName)) { count = (count+1); } } return count; } function SuiviManagerLiensRouges(){ for (var i=0;i<suiviManagerAllPages.length;i++) { if (suiviManagerAllPages[i].childNodes[1].className == "new" && (suiviManagerAllPages[i].childNodes[1].title.indexOf('/') == -1 || suiviManagerAllPages[i].childNodes[3].className == "new") ) { suiviManagerAllPages[i].childNodes[0].checked=true; } } } function countLiensRouges(){ var count = 0; for (var i=0;i<suiviManagerAllPages.length;i++) { if (suiviManagerAllPages[i].childNodes[1].className == "new" && (suiviManagerAllPages[i].childNodes[1].title.indexOf('/') == -1 || suiviManagerAllPages[i].childNodes[3].className == "new") ) { count = (count+1);; } } return count; } function SuiviManagerRedirects(){ for (var i=0;i<suiviManagerAllPages.length;i++) { if (suiviManagerAllPages[i].childNodes[1].className == "watchlistredir" && (suiviManagerAllPages[i].childNodes[1].title.indexOf('/') == -1 || suiviManagerAllPages[i].childNodes[3].className == "watchlistredir") ) { suiviManagerAllPages[i].childNodes[0].checked=true; } } } function countRedirects(){ var count = 0; for (var i=0;i<suiviManagerAllPages.length;i++) { if (suiviManagerAllPages[i].childNodes[1].className == "watchlistredir" && (suiviManagerAllPages[i].childNodes[1].title.indexOf('/') == -1 || suiviManagerAllPages[i].childNodes[3].className == "watchlistredir") ) { count = (count+1); } } return count; } function SuiviManagerDeselect(){ for (var i=0;i<suiviManagerAllPages.length;i++) { suiviManagerAllPages[i].childNodes[0].checked=false; } } function SuiviManager() { ////////////////////////////////////////////////// // Expressions régulières et liens de l'interface // // besoin d'aide pour les regexp ? // http://www.commentcamarche.net/javascript/jsregexp.php3 ////////////////////////////////////////////////// var a=0; var b=0; var c=0; var interfaceMsg = new Array(); var regexpList = new Array(); var regexpLien = new Array(); interfaceMsg[a++] = "Utilisateur"; regexpList[b++] = "^Utilisateur:"; regexpLien[c++] = "#editwatchlist-ns2"; interfaceMsg[a++] = "Wikimini"; regexpList[b++] = "^Wikimini:"; regexpLien[c++] = "#editwatchlist-ns4"; interfaceMsg[a++] = "Fichier"; regexpList[b++] = "^Fichier:"; regexpLien[c++] = "#editwatchlist-ns6"; interfaceMsg[a++] = "MediaWiki"; regexpList[b++] = "^MediaWiki:"; regexpLien[c++] = "#editwatchlist-ns8"; interfaceMsg[a++] = "Modèle"; regexpList[b++] = "^Modèle:"; regexpLien[c++] = "#editwatchlist-ns10"; interfaceMsg[a++] = "Aide"; regexpList[b++] = "^Aide:"; regexpLien[c++] = "#editwatchlist-ns12"; interfaceMsg[a++] = "Catégorie"; regexpList[b++] = "^Catégorie:"; regexpLien[c++] = "#editwatchlist-ns14"; interfaceMsg[a++] = "Fil de discussion"; regexpList[b++] = "^Fil de discussion:"; regexpLien[c++] = "#editwatchlist-ns90"; interfaceMsg[a++] = "Résumé"; regexpList[b++] = "^Résumé:"; regexpLien[c++] = "#editwatchlist-ns92"; interfaceMsg[a++] = "Quizz"; regexpList[b++] = "^Quizz:"; regexpLien[c++] = "#editwatchlist-ns100"; // ---------------------------------------------------------- var m=0; var n=0; var interfaceMsgTer = new Array(); var regexpListTer = new Array(); interfaceMsgTer[m++] = "Utilisateurs IP"; regexpListTer[n++] = "^Utilisateur:[0-9].*"; // ---------------------------------------------------------- var z=0; var y=0; var interfaceMsgBis = new Array(); var regexpListBis = new Array(); interfaceMsgBis[z++] = "Mes sous-pages"; regexpListBis[y++] = "^Utilisateur:" + wgUserName.replace(/_/g," ") + "\/"; ////////////////////////////////////////////////// var topTag = document.getElementById("contentSub") // récupère toutes les pages var bc = document.getElementById("bodyContent"); if(!bc) bc = document.getElementById("article"); if(!bc) bc = document.getElementById("mw_contentholder"); if(!bc) bc = document.body; var watchlist = bc.getElementsByTagName("li"); for (var u=0;u<watchlist.length;u++) { if(watchlist[u].firstChild.tagName == "INPUT") { suiviManagerAllPages.push(watchlist[u]); } } // prépare la mini-interface var str = "<div style=\"background-color:#8ecfe4;height:8px;border:1px solid #AAAAAA;-moz-border-radius-topright:0.5em;-moz-border-radius-topleft:0.5em;margin-top:-1em;\"></div>" + "<div style=\"border:1px solid #6ac1de;border-top:0px solid white;margin-bottom:2em;padding:0.5em;text-align:center;-moz-border-radius-bottomright:0.5em;-moz-border-radius-bottomleft:0.5em;\">" str += "<a href=\"javascript:SuiviManagerRegexp('^.*')\" title=\"Tout cocher\">" + "<b>Tout cocher</b>" + "</a> (" + countPages('^.*') + ") · "; str += "<a href=\"javascript:SuiviManagerDeselect()\" title=\"Tout décocher\">" + "<b>Tout décocher</b>" + "</a> (" + countPages('^.*') + ")"; str += "<hr style=\"margin:0.5em;\">"; str += "<b>Espaces de noms</b><br/>"; for (var cpt = 0; cpt < interfaceMsg.length; cpt ++) { if(cpt==5) str += '<br/>'; str += "<a href=\"javascript:SuiviManagerRegexp('" + regexpList[cpt] + "')\" title=\"Cocher les pages de l'espace de noms : " + interfaceMsg[cpt] + "\">" + interfaceMsg[cpt] + "</a> (" + "<a href=\"http://fr.wikipedia.org/wiki/Spécial:Liste_de_suivi/edit" + regexpLien[cpt] + "\" title=\"Voir les pages suivies dans cet espace de noms\">↓</a> " + countPages(regexpList[cpt]) + ") · "; } str += "<hr style=\"margin:0.5em;\">"; str += "<b>Sous-pages</b><br/>"; for (var cpt = 0; cpt < interfaceMsgBis.length; cpt ++) { str += "<a href=\"javascript:SuiviManagerRegexp('" + regexpListBis[cpt] + "')\" title=\"Cocher : " + interfaceMsgBis[cpt] + "\">" + interfaceMsgBis[cpt] + "</a> (" + countPages(regexpListBis[cpt]) + ") · "; } str += "<hr style=\"margin:0.5em;\">"; str += "<b>Autres</b><br/>"; str += "<a href=\"javascript:SuiviManagerLiensRouges()\" title=\"Cocher : Liens Rouges\">" + "Liens rouges" + "</a> (" + countLiensRouges() + ") · "; str += "<a href=\"javascript:SuiviManagerRedirects()\" title=\"Cocher : Redirections\" >" + "Redirections" + "</a> (" + countRedirects() + ") · "; for (var cpt = 0; cpt < interfaceMsgTer.length; cpt ++) { str += "<a href=\"javascript:SuiviManagerRegexp('" + regexpListTer[cpt] + "')\" title=\"Cocher : " + interfaceMsgTer[cpt] + "\" >" + interfaceMsgTer[cpt] + "</a> (" + countPages(regexpListTer[cpt]) + ") · "; } str += "<hr style=\"margin:0.5em;\">"; str += "<input type=\"submit\" value=\"Retirer les titres sélectionnés\"\/>"; var buttonPlus = document.createElement("div"); buttonPlus.setAttribute("style", "text-align:center;"); buttonPlus.innerHTML = "<br clear=all />" + str + "</div>"; var CibleBouton = document.getElementsByTagName("fieldset")[0]; CibleBouton.insertBefore(buttonPlus,CibleBouton.firstChild); } if((wgCanonicalSpecialPageName == "Watchlist") && document.URL.indexOf("edit") != -1 ) { addOnloadHook(SuiviManager); } ////////////////////////////////////////////////////////////////////////////////////