Utilisateur:Seb35/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.
instantTitle = true; loadJs('Utilisateur:Seb35/advancedResearch.js'); //------------------------------------------------------------------------------------------------------------- // Attention : certains de ces scripts sont fait maison spécifiquement pour Opera, et peuvent ne pas marcher pour d'autres navigateurs function trouveTitre(withnamespace) { if(wgNamespaceNumber != -1 || wgTitle != 'Movepage') { if(withnamespace) return wgPageName.replace(/_/, ' '); else return wgTitle; } else return document.getElementById('movepage').wpOldTitle.value; } var TitreDePage = trouveTitre(true); var TitreDePageSansNamespace = trouveTitre(false); /***********************************************************************/ /* Ajoute deux liens sur les liens rouges en prévisualisation */ /* Fonctionne sous Opera, il faut un petit script en plus pour Firefox */ /* Auteur : Seb35 */ /***********************************************************************/ lr = 0; function liensRouges_main() { lr++; if(!/submit/i.test(window.location) && lr != 1) return; var allLinks = document.getElementById('bodyContent').getElementsByTagName('a'); for(i=0; i<allLinks.length; i++) { if(allLinks[i].getAttribute('class') == 'new') { titre = allLinks[i].getAttribute('title'); allLinks[i].insertAdjacentHTML('afterEnd', ' (' + '<a href="http://www.google.com/search?num=100&as_occt=any&q=' + titre + '+site:fr.wikipedia.org">google</a>; ' + '<a href="/wiki/Special:Whatlinkshere/' + titre + '">liées</a>)'); } } } /**********************************/ /* Ajoute des caractères spéciaux */ /**********************************/ function specialCar_main() { if(!/action\=(?:edit|submit)/i.test(window.location)) return; if(/edit/i.test(window.location)) { major = /(?:Discuter|Utilisateur|Discussion Utilisateur|Wikipédia|Discussion Wikipédia|Image|Discussion Image|Discussion MediaWiki|Discussion Modèle|Discussion Aide|Discussion Catégorie|Portail|Discussion Portail):/i; if(major.test(TitreDePage)) document.editform[6].checked = false; } liensRouges_main(); var j = -1; for(var i = 0; node = document.getElementsByTagName('div')[i]; i++) if(node.id == 'edittoolsinfo') { j = i-1; break; } if(j == -1) return; var p = document.getElementsByTagName('div')[j]; p = p.getElementsByTagName('p')[0]; if(TitreDePage == TitreDePageSansNamespace) p.innerHTML = p.innerHTML + ' <a href="javascript:changeSummary(\'[[Wikipédia:Pages à supprimer/' + TitreDePage + '|article conservé après PàS]]\');">conservé</a>'; if(/^Image:/i.test(TitreDePage)) p.innerHTML = p.innerHTML + ' <a href="javascript:changeSummary(\'[[Wikipédia:Images à supprimer/' + TitreDePage + '|image conservée après suppression]]\');">conservé</a>'; if(/^Wikipédia:/i.test(TitreDePage)) { p.innerHTML = p.innerHTML + '<br />Maintenance : ' + '<a href="javascript:insertTags(\':[[Image:Yes check.svg|15px]] ~~' + '~~\',\'\',\'\'); changeSummary(document.editform.wpSummary.value + \' fait\');">Fait</a> ' + '<a href="javascript:insertTags(\':[[Image:X mark.svg|10px]] \',\' ~~' + '~~\',\'\');">Non</a> · ' + '<a href="javascript:changeSummary(\'Traité\'); insertTags(\'{{subst:' + 'Utilisateur:Dake/Traité||~~' + '~~}}\\n\',\'\',\'\');">Traité</a> · Supprimé : ' + '<a href="javascript:changeSummary(\'Traité supprimé\'); insertTags(\'{{subst:' + 'Utilisateur:Dake/TraitéSupprimer||~~' + '~~}}\\n\',\'\',\'\');">sup. Dake</a> · ' + '<a href="javascript:changeSummary(\'Traité supprimé\'); insertTags(\'{{subst:' + 'Utilisateur:Seb35/TraitéSupprimé|~~' + '~~||p=|c=|n=}}\\n\',\'\',\'\');">sup. Seb35</a> · ' + '(<a href="javascript:insertTags(\'* <s>\',\'</s> <small>traité supprimé ~~' + '~~</small>\',\'\');">small</a>) · Conservé : ' + '<a href="javascript:changeSummary(\'Traité conservé\'); insertTags(\'{{subst:' + 'Utilisateur:Dake/TraitéConserver||~~' + '~~}}\\n\',\'\',\'\');">cons. Dake</a> · ' + '<a href="javascript:changeSummary(\'Traité conservé\'); insertTags(\'{{subst:' + 'Utilisateur:Seb35/TraitéConservé|~~' + '~~||p=|c=|n=}}\\n\',\'\',\'\');">cons. Seb35</a> · ' + '(<a href="javascript:insertTags(\'* <s>\',\'</s> <small>traité conservé ~~' + '~~</small>\',\'\');">small</a>)'; } if(/Utilisateur:/i.test(TitreDePage)) { p.innerHTML = p.innerHTML + '<br />Accueils : ' + '<a href="javascript:insertTags(\'{{subst:' + 'Bienvenu' + (/^Discussion/i.test(TitreDePage) ? 'e_nouveau}}~~' : '}}~~') + '~~\',\'\',\'\');' + '">Bienvenue</a> · ' + '<a href="javascript:insertTags(\'{{subst:' + 'Débutant}}~~' + '~~\',\'\',\'\');" onClick="changeSummary(\'bienvenu débutant\');">Débutant</a> · ' + '<a href="javascript:insertTags(\'{{subst:' + 'Vandale}}~~' + '~~\',\'\',\'\');" onClick="changeSummary(\'avertissement vandalisme\');">Vandale</a> ' + '<a href="javascript:insertTags(\'{{subst:' + 'Test_1}}~~' + '~~\',\'\',\'\');" onClick="changeSummary(\'avertissement vandalisme\');">Test1</a> ' + '<a href="javascript:insertTags(\'{{subst:' + 'Test_2}}~~' + '~~\',\'\',\'\');" onClick="changeSummary(\'re:avertissement vandalisme\');">Test2</a> ' + '<a href="javascript:insertTags(\'{{subst:' + 'Test_3}}~~' + '~~\',\'\',\'\');" onClick="changeSummary(\'dernier avertissement\');">Test3</a> (' + '<a href="javascript:insertTags(\'{{subst:' + 'Vandalisme|\',\'}}~~' + '~~\',\'\');" onClick="changeSummary(\'avertissement vandalisme\');">page</a>) · ' + '<a href="javascript:insertTags(\'{{subst:' + 'Vandale_bloqué|}}~~' + '~~\',\'\',\'\');" onClick="changeSummary(\'bloqué\');">Bloqué</a> · ' + '<a href="javascript:insertTags(\'{{subst:' + 'Bienvenue_spammeur}}~~' + '~~\',\'\',\'\');" onClick="changeSummary(\'avertissement spam\');">Spammeur</a> (' + '<a href="javascript:insertTags(\'{{subst:' + 'Spam|\',\'}}~~' + '~~\',\'\');" onClick="changeSummary(\'avertissement spam\');">page</a>) · ' + '<a href="javascript:insertTags(\'{{subst:' + 'Bienvenue_copyright|\',\'}}~~' + '~~\',\'\');">Copyright</a> (' + '<a href="javascript:insertTags(\'{{subst:' + 'AlerteCopyright|\',\'|}}~~' + '~~\',\'\');">source</a>) · ' + '<a href="javascript:insertTags(\'{{subst:' + 'Image sans description}}~~' + '~~\',\'\',\'\');">Image</a> · ' + '<a href="javascript:insertTags(\'{{subst:' + 'Signature}}~~' + '~~\',\'\',\'\');">Signature</a>'; } } addOnloadHook(specialCar_main); /****************************************/ /* Changement de la boîte de navigation */ /* Auteur : Seb35 */ /****************************************/ var isOpen = new Array(); var m; function navigation_main() { //Date par Dake d = new Array('janvier','février','mars','avril','mai','juin','juillet','août','septembre','octobre','novembre','décembre'); today = new Date(); date = today.getDate() + '_' + d[today.getMonth()] + '_' + (today.getYear() + 1900); var pages = new Array( 'Administration', new Array('/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_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:Log', 'Journaux', '/wiki/Special:Log/newusers', ' /nouveaux', '/wiki/Special:Allmessages', 'Allmessages', '/wiki/Special:Undelete', 'Undelete', '/wiki/Special:Blockip', 'Blockip', '/wiki/Special:Ipblocklist', 'Ipblocklist' ), 'Maintenance', new Array('/wiki/Special:Recentchanges?hideliu=1&limit=200', 'RC IP', '/wiki/Special:Contributions/newbies', 'RC newbies', '/wiki/Special:Newpages', 'Nouvelles pages', '/wiki/Special:Newimages', 'Nouvelles images', '/wiki/Special:Deadendpages', 'Impasses', '/wiki/Wikipédia:Pages_en_impasse', ' WP:PeI', '/wiki/Special:CrossNamespaceLinks', 'Croisés', '/wiki/Catégorie:Article_pour_le_Wiktionnaire', 'Wiktionnaire', '/wiki/Catégorie:Article_à_wikifier', 'À wikifier', '/wiki/Wikipédia:Pages_à_fusionner', 'WP:PàF', '/wiki/Projet:Maintenance', 'WP:CM' ), 'Autres', new Array('/wiki/Wikipédia:Bulletin_des_administrateurs', 'WP:BA', '/wiki/Wikipédia:Le_Bistro/' +date, 'Le Bistro ' +today.getDate()+ '/' +(today.getMonth()+1), '/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', 'WP:LdM', '/wiki/Utilisateur:Seb35/advancedResearch.js', 'JS Research', '/wiki/Utilisateur:Seb35/monobook.js', 'Monobook', '/wiki/Projet:Accueil', 'WP:PROJ', '/wiki/Projet:Traduction', 'WP:PT' ) ); var a = document.getElementById('p-Contribuer').getElementsByTagName('ul')[0]; document.getElementById('n-aboutwp').style.display = 'none'; document.getElementById('n-sitesupport').style.display = 'none'; for(i = 0; i<(pages.length)/2; i++) { isOpen[i] = 0; temp = ''; for(j=0; j<(pages[2*i+1].length)/2; j++) temp = temp + '<li><a href="' + pages[2*i+1][2*j] + '">' + pages[2*i+1][2*j+1] + '</a></li>'; a.innerHTML = a.innerHTML + '<li><a style="cursor:pointer;" onMouseOver="if(isOpen[' + i + '] == 0) m = setTimeout(toggleMenu, 300, ' + (i+1) + ');" onMouseOut="clearTimeout(m);" onClick="clearTimeout(m); toggleMenu(' + (i+1) + ');">' + pages[2*i] + '</a></li>' + '<div id="MenuToggle' + (i+1) + '" style="display:none;">' + temp + '</div>'; } } addOnloadHook(navigation_main); /************************************************/ /* Ouvre un menu créé par la fonction ci-dessus */ /************************************************/ function toggleMenu(v) { if(isOpen[v-1] == 0) { document.getElementById('MenuToggle' + v).style.display = 'block'; isOpen[v-1] = 1; } else if(isOpen[v-1] == 1) { document.getElementById('MenuToggle' + v).style.display = 'none'; isOpen[v-1] = 0; } } /************************************************/ /* Ajoute des liens vers certains outils sympas */ /************************************************/ function toolbox_main() { isOpen[3] = 0; a = document.getElementById('p-tb').getElementsByTagName('ul')[0]; a.innerHTML = a.innerHTML + '<hr />' + '<li><a style="cursor:pointer;" onMouseOver="if(isOpen[3] == 0) m = setTimeout(toggleMenu, 300, 4);" onMouseOut="clearTimeout(m);" onClick="clearTimeout(m); toggleMenu(4);">Outils externes</a></li>' + '<div id="MenuToggle4" style="display:none;">' + '<li><a href="http://fr.wiktionary.org/wiki/' + TitreDePageSansNamespace.substring(0, 1).toLowerCase() + TitreDePageSansNamespace.substring(1) + '">Wiktionnaire</a></li>' + '<li><a href="http://vs.aka-online.de/cgi-bin/globalwpsearch.pl?search=' + TitreDePageSansNamespace + '&timeout=120&minor=1">GlobalWPSearch</a></li>' + '<li><a href="http://wiki.lumrix.net/fr/search.php?f=lumrix-search&k=' + TitreDePageSansNamespace +'">LuMriX</a></li>' + '<li><a href="http://french.imdb.com/find?s=all&q=' + TitreDePageSansNamespace + '">IMDb</a></li>' + '<li><a href="http://tools.wikimedia.de/~daniel/WikiSense/CheckUsage.php?w=_wp_20' + (/Image:/.test(TitreDePage) ? '&i=Image%3A' + TitreDePageSansNamespace : '' ) + '">Check Usage</a></li>' + '<li><a href="http://tools.wikimedia.de/~flacus/IWLC/start.php">IWLC</a></li>' + '</div>'; if(TitreDePage == 'Special:Newpages') a.innerHTML = a.innerHTML + '<li>Newpages : <a href="javascript:newpages_stop();" id="newpages-stop">stop</a> <a href="javascript:newpages_purge();">purge</a></li>' if(!/Special/.test(TitreDePage)) a.innerHTML = a.innerHTML + '<li><a href="javascript:liensRouges_main();">Liens rouges</a></li>' + '<li><a href="/wiki/' + TitreDePage + '?action=purge">Purger la page</a></li>' + '<li><a href="http://www.google.com/search?num=100&q=' + TitreDePageSansNamespace + '+site:wikipedia.org+-site:fr.wikipedia.org">Google</a> <a href="http://www.google.com/search?num=100&q=' + TitreDePageSansNamespace + '+site:en.wikipedia.org">(en)</a> <a href="http://www.google.com/search?num=100&q=' + TitreDePageSansNamespace + '+site:de.wikipedia.org">(de)</a></li>'; if(/Utilisateur:/i.test(TitreDePage) || TitreDePage == 'Special:Contributions') { if(TitreDePage == 'Special:Contributions') { if(/target\=(?:.+)/i.test(window.location)) utilisateur = window.location.toString().replace(/(?:.*)target\=(.+)/i, '$1').replace(/&/, '>').replace(/(.+)>(?:.*)/, '$1'); else utilisateur = window.location.toString().replace(/(?:.*)Special:Contributions\/(.+)/i, '$1'); } else utilisateur = TitreDePage.replace(/^(?:.*)Utilisateur:(.+)/i, '$1').replace(/\//, '>').replace(/(.+)>(?:.*)/, '$1'); a.innerHTML = a.innerHTML + '<hr />' + '<li><a href="/wiki/Special:Log?user=' + utilisateur + '">Journaux</a> (<a href="/wiki/Special:Log?type=block&page=Utilisateur:' + utilisateur + '">blocages</a>)</li>' + '<li><a href="http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?user=' + utilisateur + '&dbname=frwiki_p">Ancienneté</a></li>'; } } addOnloadHook(toolbox_main); function bar_main() { var bar = document.getElementById('p-personal').getElementsByTagName('ul')[0]; var lien1 = document.createElement('li'); lien1.innerHTML = '<a href="/wiki/Utilisateur:Seb35/Potager?action=edit">Potager</a>'; var lien2 = document.createElement('li'); lien2.innerHTML = '<a href="http://fr.wikipedia.org/wiki/Special:Log?user=Seb35">Mes actions</a>'; insertAfter(bar, lien1, bar.childNodes[3]); insertAfter(bar, lien2, bar.childNodes[11]); } addOnloadHook(bar_main); function changeSummary(sampleText) { document.editform.wpSummary.value = sampleText; } // Fonction de Dake (merci, ça simplifie :) function insertAfter(parent, node, referenceNode) { parent.insertBefore(node, referenceNode.nextSibling); } // Actualiser automatiquement les nouvelles pages var tempsnewpages; function newpages_stop() { clearTimeout(tempsnewpages); document.getElementById('newpages-stop').style.display = 'none'; } function newpages_purge() { window.location = window.location.toString(); } function newpages_begin() { if(TitreDePage == 'Special:Newpages') tempsnewpages = setTimeout("window.location = window.location.toString();", 120*1000); } addLoadEvent(newpages_begin); //Auteur : GôTô function UndeleteSelectAll() { if (window.location.href.indexOf("Special:Undelete") > 0) { var title2 = document.getElementsByTagName("h2") if (title2.length <= 0) return var all = document.createElement("input") all.setAttribute("type", "checkbox") all.setAttribute("id", "checkAll") if (all.attachEvent) all.attachEvent("onclick", function () { selectAll(document.getElementById("checkAll").checked) }) else all.setAttribute("onclick", "javascript: selectAll(this.checked)") all.setAttribute("title", "Sélectionner/Désélectionner tous") title2[title2.length -1].appendChild(all) all.click() } } function selectAll(bool) { var inputs = document.getElementsByTagName("input") for (var cpt = 0 ; cpt < inputs.length ; cpt++) { if (inputs[cpt].type == "checkbox") inputs[cpt].checked = bool } } addOnloadHook(UndeleteSelectAll); function SuppressionDeluxe() { if (document.title.indexOf("Confirmer la suppression")!=0) return; var mainNode = document.getElementsByTagName("form"); var firstForm = mainNode[0]; // vous pouvez ajouter vos messages ci-dessous var messages = new Array() messages[ 0] = "[[Wikipédia:Critères d'admissibilité des articles|Publicité ou autopromotion]]"; messages[ 1] = "[[Wikipédia:Pages à supprimer/" + TitreDePage + "|Suppression suite à PàS]]"; messages[ 2] = "Vandalisme"; messages[ 3] = "Bac à sable"; var table = document.createElement("table"); var tr = document.createElement("tr"); table.appendChild(tr); // normalement, pas besoin de toucher à partir d'ici if (firstForm.getAttribute("id")=="deleteconfirm") { actionDelete = firstForm.getAttribute("action"); var inputs = firstForm.getElementsByTagName("input"); var token = inputs[2].getAttribute("value"); for (var i=0;i<messages.length;i++) { if (i%4==0) { tr = document.createElement("tr"); table.appendChild(tr); } var formElement = document.createElement("form"); formElement.setAttribute("id", "deleteconfirm"); formElement.setAttribute("method", "post"); formElement.setAttribute("action", actionDelete); var inputReason = document.createElement("input"); inputReason.setAttribute("name", "wpReason"); inputReason.setAttribute("value", messages[i]); inputReason.setAttribute("type", "hidden"); var inputConfirm = document.createElement("input"); inputConfirm.setAttribute("name", "wpConfirmB"); if(i==0) inputConfirm.setAttribute("value", "Notoriété"); else if(i==1) inputConfirm.setAttribute("value", "Page PàS"); else inputConfirm.setAttribute("value", messages[i]); inputConfirm.setAttribute("type", "submit"); var inputToken = document.createElement("input"); inputToken.setAttribute("name", "wpEditToken"); inputToken.setAttribute("value", token); inputToken.setAttribute("type", "hidden"); formElement.appendChild(inputReason); formElement.appendChild(inputConfirm); formElement.appendChild(inputToken); var td = document.createElement("td"); td.appendChild(formElement); tr.appendChild(td); } var separation = document.createElement("p"); separation.appendChild(document.createElement("hr")); insertAfter(firstForm.parentNode, separation, firstForm); insertAfter(firstForm.parentNode, table, separation); } } addOnloadHook(SuppressionDeluxe); //Sert à prévenir lorsqu'un article vient d'être modifié pour éviter les conflits d'éditions (utilisateur travaillant dessus) function lastContrib() { //Paramètres niveau1 = 100; // Niveau d'alerte très fort niveau2 = 8*60; // Niveau d'alerte fort niveau3 = 25*60; // Niveau d'alerte moyen //Programme (pas besoin de modifier normalement) texte = document.getElementById('lastmod'); if(!texte) return; texte = texte.innerHTML.toString(); resultat = texte.match(/page le ([0-9]{1,2}) ([a-zéû]*) ([0-9]{4}) à ([0-9]{1,2}):([0-9]{1,2})/); last = new Date(Number(resultat[3]), Number(moisFromMot(resultat[2])), Number(resultat[1]), Number(resultat[4]), Number(resultat[5])); now = new Date(); diff = Math.round((now - last)/1000); if(diff <= niveau3) { diffHeures = Math.floor(diff/3600); diffMinutes = Math.floor((diff - diffHeures * 3600)/60); diffSecondes = diff - diffHeures * 3600 - diffMinutes * 60; tit = document.getElementsByTagName('h1')[0]; tit.innerHTML = tit.innerHTML + '<span style="font-size:8pt;"> (<a href="' + wgServer + '/wiki/' + wgPageName + '?action=history"><span style="' + (diff <= niveau2 ? 'color:red;' : 'color:black;') + (diff <= niveau1 ? ' text-decoration:underline overline;' : '') + '">' + (diffHeures > 0 ? diffHeures + 'h' : '') + (diffMinutes > 0 ? diffMinutes + 'm' : '') + diffSecondes + 's</span></a>)</span>'; } } function moisFromMot(mot) { tab = new Array('janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'); for(i=0; i<12; i++) if(mot == tab[i]) return i; return -1; } addOnloadHook(lastContrib);