Utilisateur:LudovicRivallain/monobook.js
Un article de Wikipédia, l'encyclopédie libre.
Note : Après avoir sauvegardé, vous devez forcer le rechargement de la page pour voir les changements : Mozilla / Konqueror / Firefox : Shift-Ctrl-R, IE / Opera : Ctrl-F5, Safari : Cmd-R.
//<pre><nowiki> //============================== Personalisation ============================== function addLoadEvent(func) { if (window.addEventListener) window.addEventListener("load", func, false); else if (window.attachEvent) window.attachEvent("onload", func); } function nouvelOnglet1() { var a = document.getElementById("p-cactions"); if (a) { b = a.getElementsByTagName("ul"); if(b.length > 0) { b[0].innerHTML = b[0].innerHTML + '<li id="ca-nstab-user">' + '<a href="/wiki/Utilisateur:LudovicRivallain/temp">' + 'Ma zone de test</a></li>'; } } } function nouvelOnglet2() { var a = document.getElementById("p-cactions"); if (a) { b = a.getElementsByTagName("ul"); if(b.length > 0) { b[0].innerHTML = b[0].innerHTML + '<li id="ca-nstab-user">' + '<a href="/wiki/Utilisateur:LudovicRivallain/accueil">' + 'Mon Accueil</a></li>'; } } } //addLoadEvent(nouvelOnglet1); addLoadEvent(nouvelOnglet2); function addLoadEvent(func) { if (window.addEventListener) { window.addEventListener("load", func, false); } else if (window.attachEvent) { window.attachEvent("onload", func); } } function nouvelleBoite() { var l = document.getElementById("column-one"); if (l) { l.innerHTML = l.innerHTML + '<div class="portlet" id="p-nbx">' + ' <h5>Boîte perso</h5>' + ' <div class="pBody">' + ' <ul>' + ' <li><a href="http://fr.wikipedia.org/wiki/Wikipédia:Le_Bistro">Le Bistro</a></li>' + ' <li><a href="http://fr.wikipedia.org/wiki/Utilisateur:LudovicRivallain/monobook.js">Mon Monobook.js</a></li>' + ' <li><a href="http://fr.wikipedia.org/wiki/Wikipédia:Requête aux administrateurs">Requête aux administrateurs</a></li>' + ' </ul>' + ' </div>' + '</div> '; } } addLoadEvent(nouvelleBoite); //==================================== fonctions communes ============================== function MygetObj(name) { if (document.getElementById) { this.obj = document.getElementById(name); } else if (document.all) { this.obj = document.all[name]; } else if (document.layers) { this.obj = document.layers[name]; } } //endGetObj function getHTTPObject() { var xmlhttp = false; /* on teste la présence des fonctions */ /*@cc_on @if (@_jscript_version >= 5) try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } @else xmlhttp = false; @end @*/ /* fin du test */ /* on essaie de créer l'objet si ce n'est pas déjà fait */ if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp = false; } } return xmlhttp; } //============================== Outils Javascript Wikipompiers ============================== function InitWikiPompiers() { if (MenuJavascriptWPP || (OptionCompteurWPP==1)) { //menu à insérer var l = new MygetObj("column-one"); if (l.obj) {if (l.obj.innerHTML) { l.obj.innerHTML = '<div class="portlet" id="CadreAlerteWikipompiers">' + '<h5>Wikipompiers</h5><div class="pBody" id="MenuJavascriptWikipompiers">' + ' ' + '</div></div>' + l.obj.innerHTML; }}//fin deux if l.obj } // fin if menu à insérer if (MenuJavascriptWPP) { //on active d'abord le menu : LancementMenuJavascriptWPP(); // l'option compteur est lancée depuis cette fonction } else { // pas de MenuJavascriptWPP : if (OptionCompteurWPP) LancementOptionCompteurWPP(); } } //fin fonction InitWikipompiers //------- function LancementMenuJavascriptWPP() { var HTTPWikiPompiers = new getHTTPObject(); if (HTTPWikiPompiers) {// requête HTTPWikiPompiers: HTTPWikiPompiers.open('GET', 'http://fr.wikipedia.org/wiki/Modèle:Ligne_Wikipompiers/MenuJavascript/Menu?action=render&'+(new Date()).getTime(), true); //forçage mise à jour cache navigateur HTTPWikiPompiers.onreadystatechange = function () { if (HTTPWikiPompiers.readyState == 4) { var l = new MygetObj("MenuJavascriptWikipompiers"); if (l.obj) {if (l.obj.innerHTML) { l.obj.innerHTML = HTTPWikiPompiers.responseText; }} if (OptionCompteurWPP) LancementOptionCompteurWPP(); }//fin if readystate == 4 }// fin fonction onreadystatechange HTTPWikiPompiers.send(null); }//fin de requête HTTPWikiPompiers }// fin fonction LancementMenuJavascriptWPP // --------Option Compteur Wiki WPPCookN='stampMenuWikipompier='; //terminer par un '=' final if (document.cookie) { WPPCookOK=true; } else { document.cookie = WPPCookN+'0'; if (document.cookie) WPPCookOK=true; else WPPCookOK=false; } function CookBandeauWPPVu(stamp,dateGMT) {//cookN termine par '=' document.cookie = WPPCookN+stamp+'; expires=' + dateGMT+'; path=/'; var l = new MygetObj("CompteurWPP"); if (l.obj) {if (l.obj.innerHTML) l.obj.innerHTML=''; l.obj.style.display='none';} } function LancementOptionCompteurWPP() { var HTTPWikiPompiers = new getHTTPObject(); if (HTTPWikiPompiers) {// requête HTTPWikiPompiers: HTTPWikiPompiers.open('GET','http://fr.wikipedia.org/wiki/Wikipédia:Wikipompiers?action=render&ctype=text/css&'+(new Date()).getTime(), true); //forçage mise à jour cache navigateur HTTPWikiPompiers.onreadystatechange = function () { if (HTTPWikiPompiers.readyState == 4) { var Statuts = HTTPWikiPompiers.responseText.match(/class\s*=\s*"StatutWPP2"/gi); var WikiFeuNew=0; WikiFeuNew=(Statuts? Statuts.length : 0 ); Statuts = HTTPWikiPompiers.responseText.match(/class\s*=\s*"StatutWPP3"/gi) ; var WikiFeuAide=0; WikiFeuAide=(Statuts? Statuts.length : 0 ); Statuts=0; //récupération en-tête HTTP de date dernière mise à jour try {var stamp = HTTPWikiPompiers.getResponseHeader('ETag'); var istamp=stamp.indexOf('--'); } catch(e){var istamp=-1; var stamp=''; WPPCookOK=false;} if (istamp<0) {stamp='0';} else {stamp=stamp.substring(istamp+2,istamp+16);} // récupération ancien stamp dans cookie var cookDeb = document.cookie.indexOf(WPPCookN); var cookFIN = document.cookie.indexOf(';',cookDeb); var cookVal = document.cookie.substring(cookDeb+WPPCookN.length,cookFIN); //affichage du résultat s'il y en a un if ((WikiFeuAide+WikiFeuNew>0) && (cookVal!=stamp) ) { if (OptionCompteurWPP==1) { var l = new MygetObj("MenuJavascriptWikipompiers"); if (l.obj) {if (l.obj.innerHTML) { if (WPPCookOK) { texte='<a title="Masquer pour quelques temps OU jusqu\'au 1er changement de la page WPP" href="javascript:CookBandeauWPPVu('+stamp+',\''+(new Date((new Date()).getTime()+UpdateTimeWPP*24*3600000)).toGMTString()+'\')"> <i>-Vu</i></a>'; } else { texte=''; } l.obj.innerHTML='<div id="CompteurWPP" style="background:#FF0; border:solid #F00 thin;">' +'Aides demandées:'+WikiFeuAide+'<br>' +'Feux nouveaux:'+WikiFeuNew +texte+'</div>' +l.obj.innerHTML; }} } else if (OptionCompteurWPP==2) { if (WPPCookOK) { texte="\n\n(Ce message se réaffiche après quelques temps OU dès changement de la page WPP)"; } else { texte=''; } alert("Alertes Wikipompiers\n\nAides demandées:"+WikiFeuAide+"\nFeux nouveaux:"+WikiFeuNew+texte); CookBandeauWPPVu(stamp,(new Date((new Date()).getTime()+UpdateTimeWPP*24*3600000)).toGMTString()); } } // fin test si résultat à afficher }//fin if readystate == 4 }// fin fonction onreadystatechange HTTPWikiPompiers.send(null); }//fin de requête HTTPWikiPompiers } //fin fonction LancementOptionCompteurWPP //--------------Lancement commun au Menu et à l'Option MenuJavascriptWPP= true ; //pour désactiver temporairement le MenuJavascript WPP, // remplacer ci-dessus true par false. OptionCompteurWPP= 1 ; //modifier la valeur ci-dessus pour changer l'affichage du Compteur WPP, // (0=compteur désactivé / 1=bandeau dans le menu / 2=message navigateur) UpdateTimeWPP= 10 ; //compteur réaffiché après UpdateTimeWPP jours même sans changement addLoadEvent(InitWikiPompiers); // ============================== revert tools =========================== /* * Outils pour réverter * * Fournit des liens dans les pages de diff * * Auteur : Lorian (en) / modifs LudoR * Dernière révision : 14 février 2007 */ function getElementsByClass(searchClass,node,tag) { // Function from http://www.dustindiaz.com/getelementsbyclass/ var classElements = new Array(); if ( node == null ) node = document; if ( tag == null ) tag = '*'; var els = node.getElementsByTagName(tag); var elsLen = els.length; var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)"); for (i = 0, j = 0; i < elsLen; i++) { if ( pattern.test(els[i].className) ) { classElements[j] = els[i]; j++; } } return classElements; } // _GET code from NoGray JS Library http://www.nogray.com/new_site/ var _GET = new Array(); var _uri = location.href; var _temp_get_arr = _uri.substring(_uri.indexOf('?')+1, _uri.length).split("&"); var _temp_get_arr_1 = new Array(); for(_get_arr_i=0; _get_arr_i<_temp_get_arr.length; _get_arr_i++){ _temp_get_arr_1 = _temp_get_arr[_get_arr_i].split("="); _GET[decodeURI(_temp_get_arr_1[0])] = decodeURI(_temp_get_arr_1[1]); } delete _uri; delete _temp_get_arr; delete _temp_get_arr_1; function getMessage (where, user1, user2) { var message = prompt ('Quel message faut-il laisser ?', ''); window.location = 'http://fr.wikipedia.org/w/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&'+where+'=2&user1='+user1+'&user2='+user2+'&message='+message; } addOnloadHook(function (){ if (location.href.match(/diff=/)) { // Get username of submitter var user1 = getElementsByClass('diff-otitle',null,'td'); user1 = user1[0].getElementsByTagName('a')[2].innerHTML; var user2 = getElementsByClass('diff-ntitle',null,'td'); user2 = user2[0].getElementsByTagName('a')[2].innerHTML; if (user2 == "défaire"){ user2 = getElementsByClass('diff-ntitle',null,'td'); user2 = user2[0].getElementsByTagName('a')[3].innerHTML; } document.getElementById('contentSub').innerHTML = '(<a href="http://fr.wikipedia.org/w/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&revert=1&user1='+user1+'&user2='+user2+'">Défaire</a> / <a href="javascript:var message = getMessage(\'revert\', \''+user1+'\', \''+user2+'\');">Défaire + Message</a>) (<a href="http://fr.wikipedia.org/w/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&vandalism=1&user1='+user1+'&user2='+user2+'">Vandalisme</a> / <a href="javascript:var message = getMessage(\'vandalism\', \''+user1+'\', \''+user2+'\');">Vandalisme + Message</a>) (Avertir : <a href="http://fr.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit§ion=new&warn=1">Bienvenue</a> / <a href="http://fr.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit§ion=new&warn=2">Attention</a> / <a href="http://fr.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit§ion=new&warn=3">Avertissement</a> / <a href="http://fr.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit§ion=new&warn=4">Dernier avertissement</a>)'; } else if (location.href.match(/revert=1/)) { document.getElementById('wpSummary').value = 'Révocation des modifications par [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] ; retour à la version de [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']]'; document.getElementById('editform').submit(); } else if (location.href.match(/revert=2/)) { document.getElementById('wpSummary').value = 'Révocation des modifications par [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] ; retour à la version de [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']] ('+_GET['message']+')'; document.getElementById('editform').submit(); } else if (location.href.match(/vandalism=1/)) { document.getElementById('wpSummary').value = 'Révocation de vandalisme par [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] ; retour à la version de [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']]'; document.getElementById('editform').submit(); } else if (location.href.match(/vandalism=2/)) { document.getElementById('wpSummary').value = 'Révocation de vandalisme par [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] ; retour à la version de [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']] ('+_GET['message']+')'; document.getElementById('editform').submit(); } else if (location.href.match(/warn=1/)) { document.getElementById('wpSummary').value = 'Bienvenue'; document.getElementById('wpTextbox1').value = '{{sub'+'st:test0}} ~~'+'~~'; document.getElementById('editform').submit(); } else if (location.href.match(/warn=2/)) { document.getElementById('wpSummary').value = 'Attention'; document.getElementById('wpTextbox1').value = '{{sub'+'st:test1}} ~~'+'~~'; document.getElementById('editform').submit(); } else if (location.href.match(/warn=3/)) { document.getElementById('wpSummary').value = 'Avertissement'; document.getElementById('wpTextbox1').value = '{{sub'+'st:test2}} ~~'+'~~'; document.getElementById('editform').submit(); } else if (location.href.match(/warn=4/)) { document.getElementById('wpSummary').value = 'Dernier avertissement'; document.getElementById('wpTextbox1').value = '{{sub'+'st:test3}} ~~'+'~~'; document.getElementById('editform').submit(); } }); // // ============================== Compteur d'édits ============================== //Interiot's javascript edit counter if (document.title.indexOf('Utilisateur:Mmenal/interiot-editcount.js') != -1) { document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Mmenal/interiot-editcount.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); } //================= test ====================== obtenir("CopyScape"); obtenir("OptimizedSuivi"); // ================= Résumé rapide ==================== /* * Résumé Deluxe * * Ajoute des commentaires de modification prédéfinis * * Auteur : Dake * Contributions : Pabix, Tieno * Date de dernière révision : 12 novembre 2006 */ //////////////////////ZONE PERSONNALISABLE////////////////////// var resumedeluxeTitles = new Array(); with (resumedeluxeTitles) { push("orthographe"); push("|typographie"); push("|catégorisation"); push("|blanchiement"); push("|blanchiement: bétises"); push("|blanchiement: bac à sable"); push("|blanchiement: pub"); push("|blanchiement: copyvio"); push("|blanchiement: pas d'intérêt wikipedien"); push("|wikification"); push("|revert"); push("|revert vandalisme"); } var resumedeluxeInputs= new Array(); with (resumedeluxeInputs) { push("orthographe"); push("typographie"); push("catégorisation"); push("blanchiement"); push("blanchiement: bétises"); push("blanchiement: bac à sable"); push("blanchiement: pub"); push("blanchiement: copyvio"); push("blanchiement: pas d intérêt wikipedien"); push("wikification"); push("revert"); push("revert vandalisme"); } /////////////////FIN DE LA ZONE PERSONNALISABLE///////////////// function setSummary(str) { document.editform.wpSummary.value = str; } function addToSummary(str) { var resum = document.editform.wpSummary.value; if(resum != 0 && resum.indexOf("*/") < resum.length - 3) { document.editform.wpSummary.value += " - "; } document.editform.wpSummary.value += str; } function DeluxeSummary() { var sumLbl = document.getElementById("wpSummaryLabel"); if(sumLbl) { var sumInput = document.getElementById("wpSummary"); sumInput.style.width = "95%"; var str = "Messages prédéfinis : "; for(var cpt = 0; cpt < resumedeluxeTitles.length; cpt ++) { str += "<a href=\"javascript:addToSummary('" +resumedeluxeInputs[cpt] + "')\"" + " class=\"sumLink\" title=\"Ajouter '" +resumedeluxeInputs[cpt] +"' dans la boîte de résumé\">" + resumedeluxeTitles[cpt] + "</a> "; } sumLbl.innerHTML = str + "<br />" + sumLbl.innerHTML; } } addLoadEvent(DeluxeSummary); //</nowiki></pre>[[Catégorie:MediaWiki:Fonction Monobook en JavaScript]] loadJs('Utilisateur:EDUCA33E/LiveRC.js');