Utilisateur:Seb35/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.
// Chargement des fonctions<nowiki> addOnloadHook(navigation_main); addOnloadHook(toolbox_main); addOnloadHook(titre); obtenir('LiensRouges'); addOnloadHook(WAO); if(wgAction == 'edit') addOnloadHook(minorEdit); // Paramètres lastContribNiveau2 = 12*60; lastContribNiveau3 = 60*60; adSearchButtons = Array('l','gg','g','reset','c'); adSearchOpenOptions = 'menubar=yes,location=yes,resizable=yes,scrollbars=no,status=yes'; //------------------------------------------------------------------------------------------------------------- // Attention : certains de ces scripts sont fait maison spécifiquement pour Opera, et peuvent ne pas marcher pour d'autres navigateurs /****************************************/ /* Mettre certains namespaces en mineur */ /****************************************/ function minorEdit() { var minor = ',0,8,12,14,104,'; if(minor.indexOf(','+wgNamespaceNumber+',') != -1) document.editform[6].checked = true; else document.editform[6].checked = false; } /****************************************/ /* Changement de la boîte de navigation */ /* Auteur : Seb35 */ /****************************************/ function navigation_main() { var temp = new String(''), i, j; var pages = new Array( 'Administration', new Array('/wiki/Wikipédia:Pages_protégées_à_la_création', 'WP:PPC', '/wiki/Wikipédia:Requête_aux_administrateurs', 'WP:RA', '/wiki/Wikipédia:Demande_de_suppression_immédiate', 'WP:SI', '/wiki/Wikipédia:Vandalisme_en_cours', 'WP:-(', '/wiki/Wikipédia:Demande_de_protection_de_page', 'Protection', '/wiki/Wikipédia:Demande_d\'intervention_sur_une_page_protégée', 'Intervention', '/wiki/Wikipédia:Demande_d\'intervention_sur_un_message_système', 'WP:DIMS', '/wiki/Special:Pages_protégées', 'Pages protégées', '/wiki/Wikipédia:Demande_de_renommage', 'Renommage', '/wiki/Wikipédia:Demande_de_restauration_de_page', 'Restauration', '/wiki/Wikipédia:Pages_à_supprimer', 'WP:PàS', '/wiki/Wikipédia:Images_à_supprimer', 'WP:IàS', '/wiki/Wikipédia:Pages_soupçonnées_de_violation_de_copyright', 'WP:PCP', '/wiki/Special:Journal', 'Journaux', '/wiki/Special:Journal/newusers', ' /nouveaux', '/wiki/Special:Journal/delete', ' /suppressions', '/wiki/Special:Messages_système', 'Allmessages', '/wiki/Special:Restaurer', 'Undelete', '/wiki/Special:Bloquer', 'Blockip', '/wiki/Special:Utilisateurs_bloqués', 'Ipblocklist'), 'Maintenance', new Array('/wiki/Special:Modifications_récentes', 'RC', '/wiki/Special:Modifications_récentes?hideliu=1&limit=200', 'RC IP', '/wiki/Special:Contributions/newbies', 'RC newbies', '/wiki/Special:Nouvelles_pages', 'Nouvelles pages', '/wiki/Special:Nouvelles_images', 'Nouvelles images', '/wiki/Special:Pages_en_impasse', 'Impasses', '/wiki/Projet:Pages_en_impasse', ' WP:PeI', '/wiki/Special:CrossNamespaceLinks', 'Croisés', '/wiki/Special:Sans_interwiki', 'Sans interwiki', '/wiki/Catégorie:Article_à_wikifier', 'À wikifier', '/wiki/Special:Catégories_demandées?limit=1000', 'Wantedcategories', '/wiki/Wikipédia:Pages_à_fusionner', 'WP:PàF', '/wiki/Projet:Maintenance', 'WP:CM'), 'Autres', new Array('/wiki/Wikipédia:Bulletin_des_administrateurs/semaine_en_cours', 'WP:BA', '/wiki/Wikipédia:Le_Bistro_du_jour', 'Le Bistro de jour', '/wiki/Wikipédia:Le_Bistro_de_la_veille', 'Le Bistro de veille', '/wiki/Wikipédia:Conventions_typographiques', 'WP:CTYP', '/wiki/Wikipédia:Conditions_d\'admissibilité_des_articles', 'WP:Cdada', '/wiki/Wikipédia:Conventions_filmographiques/Présentation_des_films', 'CTYP films', '/wiki/Wikipédia:Modèles', 'Modèles', '/wiki/Catégorie:Espace_Modèle', 'Espace Modèle', '/wiki/Projet:Mathématiques', 'Projet maths', '/wiki/Portail:Accueil', 'WP:PORT', '/wiki/Projet:Accueil', 'WP:PROJ', '/wiki/Projet:Traduction', 'WP:PT'), 'Externe', new Array('https://secure.wikimedia.org/otrs/index.pl', 'OTRS', 'http://otrs-wiki.wikimedia.org/wiki/Main_Page', 'OTRS Wiki', 'http://membres.wikimedia.fr/index.php/Accueil', 'Wiki membres', 'http://www.wikimedia.fr/', 'Wikimédia France', 'http://svn.wikimedia.org/viewvc/mediawiki/trunk/?sortby=date', 'SVN', 'http://wikimania2008.wikimedia.org/wiki/Main_Page', 'Wikimania 2008', 'http://quality.wikimedia.org/wiki/Portal', 'Quality') ); document.getElementById('n-aboutwp').style.display = 'none'; document.getElementById('n-sitesupport').style.display = 'none'; for(i=0; i<(pages.length)/2; i++) { temp += '<li><a style="cursor:pointer;" onmouseover="timerNavigation = setTimeout(toggleMenu, 300, '+i+', 1);" onmouseout="clearTimeout(timerNavigation);" onclick="clearTimeout(timerNavigation); toggleMenu('+i+');">'; temp += pages[2*i]; temp += '</a><div style="padding-left:1em;"><ul id="menu'+i+'" style="display:none;">'; for(j=0; j<(pages[2*i+1].length)/2; j++) { temp += '<li><a href="'; temp += pages[2*i+1][2*j]; temp += '">'; temp += pages[2*i+1][2*j+1]; temp += '</a></li>'; } temp += '</div></ul></li>'; } document.getElementById('p-Contribuer').getElementsByTagName('ul')[0].innerHTML += temp; } /************************************************/ /* Ouvre un menu créé par la fonction ci-dessus */ /************************************************/ function toggleMenu(a, o) { a = document.getElementById('menu'+a); if(a.style.display == 'inline' && o != 1) a.style.display = 'none'; else if(a.style.display == 'none') a.style.display = 'inline'; } function ucfirst(w) { return w.charAt(0).toUpperCase()+w.substr(1); } /************************************************/ /* Ajoute des liens vers certains outils sympas */ /************************************************/ function toolbox_main() { var temp = new String(''), utilisateur = new String(''); try { document.getElementById('t-print').style.display = 'none'; } catch(e) {}; try { document.getElementById('t-cite').style.display = 'none'; } catch(e) {}; if(wgCanonicalSpecialPageName == 'Newpages') { timerNewpages = setTimeout("window.location.reload(true); return;", 220*1000); temp += '<hr />'; temp += '<li id="newpages-stop"><a href="javascript:clearTimeout(timerNewpages);document.getElementById(\'newpages-stop\').style.display=\'none\'; return;">Arrêter le rechargement</a></li>'; temp += '<li><a href="javascript:window.location.reload(true); return;">Purger la page</a></li>'; } if(wgNamespaceNumber != -1) { temp += '<hr />'; temp += '<li><a href="/wiki/'+encodeURI(wgPageName)+'?action=purge">Purger la page</a></li>'; temp += '<li><a href="http://www.google.com/search?num=100&q=%22' + wgTitle + '%22">Google</a> <a href="http://www.google.com/search?num=100&q=' + wgTitle + '+site:en.wikipedia.org">(en)</a> <a href="http://www.google.com/search?num=100&q=' + wgTitle + '+site:fr.wikipedia.org">(fr)</a> <a href="http://www.google.com/search?num=100&q=' + wgTitle + '+site:wikipedia.org+-site:fr.wikipedia.org">(wp)</a></li>'; } if(wgNamespaceNumber == 2 || wgNamespaceNumber == 3) { utilisateur = wgTitle.replace(/\//, '>').replace(/(.*)>.*/, '$1'); temp += '<li><a href="http://tools.wikimedia.de/~dab/jservlets/editcounter/result?return=numberstats&projectname=frwiki_p&username=' + utilisateur + '">Ancienneté</a></li>'; } if(wgNamespaceNumber==14&&(wgAction=='edit'||wgAction=='view')&&!wgCurRevisionId&&(wgTitle.substr(0,7)=='Comté d'||wgTitle.substr(0,10)=='Paroisse d'||wgTitle.substr(0,13)=='Subdivision d')) temp += '<li><a href="/wiki/Liste_de_comtés_homonymes_aux_États-Unis">Homonomyie comtés</a></li>'; document.getElementById('p-tb').getElementsByTagName('ul')[0].innerHTML += temp; addPortletLink('p-personal', '/wiki/Utilisateur:Seb35/Potager?action=edit', 'Potager', '', '', '', document.getElementById('pt-preferences')); addPortletLink('p-personal', '/wiki/Special:Log?user=Seb35', 'Actions', '', '', '', document.getElementById('pt-logout')); } //Quelques raccourcis pour Opera dont les normaux ne sont pas très pratiques function shortcutsOpera(ev) { if(ev.ctrlKey && ev.keyCode == 32) { if(document.getElementById('wpTextbox1')) document.getElementById('wpTextbox1').focus(); else window.location.assign('/w/index.php?title='+encodeURI(wgPageName)+'&action=edit'); } if(ev.ctrlKey && ev.shiftKey) document.adsearch.adinput.focus(); } hookEvent('keydown', shortcutsOpera); //Aide à la wikification function WAO() { if(!document.getElementById('wpTextbox1')) return; WAOAjax = sajax_init_object(); WAOMaj = false; WAOPrec = 0; WAOLastRequest = ''; var coche = WAOCookie(1, 0); var labeltag = document.editform.getElementsByTagName('label'); var i = 0; while(labeltag[i].getAttribute('for') != 'wpWatchthis') i++; var suivant = labeltag[i].nextSibling; var span = document.createElement('span'); function inpt(a, b, c) { return ' <input type="checkbox" name="WAO'+a+'" id="WAO'+a+'"'+WAOCookie(1,b)+' onclick="WAOCookie(0,'+b+',this);" /> <label for="WAO'+a+'">'+c+'</label>'; } span.innerHTML = inpt('Checkbox',0,'WAO') + '<span id="WAOAutres" style="display:'+(coche ? 'inline' : 'none')+';">' + inpt('Ajax',1,'Ajax') + inpt('Goog',2,'Google') + inpt('WP',3,'Wikipédia') + inpt('Adsearch',4,'Rechercher') + '</span>'; suivant.parentNode.insertBefore(span, suivant); if(WAOAjax) { var a = document.getElementById('column-one'); a.innerHTML = a.innerHTML + '<div id="p-WAO" class="portlet" style="display:'+(WAOAjax && coche && WAOCookie(1,1) ? 'block' : 'none')+';">' + '<h5>WAO</h5>' + '<div class="pBody">' + '<ul>' + '<li><span id="WAOArticle"> </span></li>' + '<li>Google : <span id="WAOGoogle"></span></li>' //+ '<li>Redirect : <span id="WAORedirect"></span></li>' + '<li>Pages liées : <span id="WAOLiees"></span></li>' + '</ul>' + '</div>' + '</div>'; } document.editform.wpTextbox1.setAttribute('onkeyup', 'if(WAOMaj && !event.shiftKey) WAOOuvrir(1); if(event.keyCode == 17 && WAOPrec == 17) WAOOuvrir(2);'); document.editform.wpTextbox1.setAttribute('onkeydown', 'WAOMaj = event.shiftKey; WAOPrec = event.keyCode;'); document.editform.wpTextbox1.setAttribute('onselect', 'if(!WAOMaj) WAOOuvrir(1);'); } function WAOCookie(lire, nom, objet) { var cookiePos = document.cookie.indexOf('WAO='); expiryDate = new Date(); expiryDate.setTime(expiryDate.getTime()+3600000*24*30); if(cookiePos == -1) { document.cookie = 'WAO=00000; path=/; expires='+expiryDate.toGMTString(); cookiePos = document.cookie.indexOf('WAO='); } if(lire) { if(document.cookie.charAt(cookiePos+4+nom) == '1') return ' checked="checked"'; else return ''; } else { var cook = document.cookie.substr(cookiePos+4, 5); if(objet.checked) cook = cook.substr(0,nom)+'1'+cook.substring(nom+1,5); else cook = cook.substr(0,nom)+'0'+cook.substring(nom+1,5); document.cookie = 'WAO=' + cook + '; path=/; expires='+expiryDate.toGMTString(); if(nom == 0) { if(objet.checked) document.getElementById('WAOAutres').style.display = 'inline'; else document.getElementById('WAOAutres').style.display = 'none'; } if(WAOAjax && (nom == 0 || nom == 1)) { if(document.editform.WAOCheckbox.checked && document.editform.WAOAjax.checked) document.getElementById('p-WAO').style.display = 'block'; else document.getElementById('p-WAO').style.display = 'none'; } } } function WAOOuvrir(numero) { if(!document.editform.WAOCheckbox.checked) return; var myText = ''; var txtarea = document.editform.wpTextbox1; if(numero == 1) { myText = document.selection.createRange().text; WAOMaj = false; } if(numero == 2 && txtarea.selectionStart-txtarea.selectionEnd == 0) { var cur = curc = cure = txtarea.selectionStart; var i = 0; var espace = false; var txt = txtarea.value; while(!(txt[curc-2] == '[' && txt[curc-1] == '[')) { if(curc == 0 || cur - curc >= 255 || txt[curc-1] == ']') { espace = true; break; } else { if(cure == cur && txt[curc].search(/[ \f\n\r\t\v]/) != -1) cure = curc; curc--; } } if(!espace) { i = curc; while(txt[i] != '|' && txt[i-1] != ']' && txt[i] != ']' && i < txt.length && i - curc <= 255) i++; myText = txt.substring(curc, i); } else { i = cure+1; while(txt[i].search(/[ \f\n\r\t\v]/) == -1 && i < txt.length && i - cure <= 255) i++; myText = txt.substring(cure+1, i); } WAOCtrl = false; } if(myText.length == 0 || myText.length >= 255 || myText.search(/[\f\n\r\t\v\|\[\]_{_}]/) != -1 || myText == WAOLastRequest) return; dat = new Date(); if(WAOAjax && document.editform.WAOAjax.checked) { WAOLastRequest = myText; WAOAjax.open('get', wgServer+'/w/api.php?action=query&format=xml&list=backlinks&bllimit=20&prop=info&titles=' + encodeURI(myText), false); WAOAjax.onreadystatechange = WAOResponse; WAOAjax.send(null); } if(document.editform.WAOGoog.checked) { var fenetre = window.open('http://www.google.com/search?num=100&q='+encodeURI(myText)+'+site:fr.wikipedia.org', 'f1'+dat.getTime(), 'menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes'); fenetre.blur(); } if(document.editform.WAOWP.checked) { var fenetre = window.open('http://fr.wikipedia.org/wiki/'+encodeURI(myText), 'f2'+dat.getTime(), 'menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes'); fenetre.blur(); } if(document.editform.WAOAdsearch.checked) { if(document.adsearch) document.adsearch.adinput.value = myText; else document.getElementById('searchform').search.value = myText; } } function WAOResponse() { if(WAOAjax.readyState != 4) return; xmlDoc = WAOAjax.responseXML; mot = xmlDoc.getElementsByTagName('page')[0].getAttribute('title'); document.getElementById('WAOGoogle').innerHTML = '<a href="http://www.google.com/search?num=100&as_occt=any&q=' + encodeURI(mot) + '+site:fr.wikipedia.org">( fr )</a> <a href="http://www.google.com/search?num=100&as_occt=any&q=' + encodeURI(mot) + '+site:wikipedia.org+-site:fr.wikipedia.org">(tout)</a>'; page = xmlDoc.getElementsByTagName('page'); redirect = (page[0].getAttribute('redirect') == ''); if(page[0].getAttribute('missing') == '') document.getElementById('WAOArticle').innerHTML = '<a href="/w/index.php?title='+encodeURI(mot.replace(/ /g, '_'))+'&action=edit" class="new">'+(mot.length>17 ? mot.substr(0,16)+'…' : mot)+'</a>'; else document.getElementById('WAOArticle').innerHTML = (redirect?'<span class="allpagesredirect">':'')+'<a href="/wiki/'+mot.replace(/ /g, '_')+'">'+(mot.length>20 ? mot.substr(0,19)+'…' : mot)+'</a>'+(redirect?'</span>':''); nb = xmlDoc.getElementsByTagName('bl').length; if(nb == 0) document.getElementById('WAOLiees').innerHTML = '0'; else document.getElementById('WAOLiees').innerHTML = '<a href="'+wgServer+'/wiki/Special:Whatlinkshere/'+encodeURI(mot.replace(/ /g, '_'))+'">'+(nb == 20 ? '≥ 20' : nb)+'</a>'; } function titre() { if(document.getElementById('wpTextbox1')) { document.getElementsByTagName('h1')[0].innerHTML = wgPageName.replace(/_/g,' '); } } //</nowiki>