🍪
Les témoins (cookies) nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation des témoins. Plus d’informations

Modifications

MediaWiki:Common.js

7 634 octets supprimés, 13 janvier 2017 à 10:23
aucun résumé de modification
/* pour activer les pop-ups jshint maxerr:600, scripturl:true, laxbreak:true, sub:true, loopfunc:true, forin:false, unused:true*/ addOnloadHook( function() { var pops = function( elems ) { for (var i=0; i<elems.length; i++) { if ( !(' '+elems[i].className+' ').match( / pops *global mw, $*/ ) ) continue; var anchs = elems[i].getElementsByTagName('a'); for (var j=0; j<anchs.length; j++) anchs[j].target = '_blank'; } }; var bc = document.getElementById('bodyContent'); var tags = ['span', 'div', 'table', 'td', 'th']; for (var i=0; i<tags.length; i++) pops( bc.getElementsByTagName( tags[i] ) );/** } ); /* N'importe quel JavaScript ici sera chargé pour n'importe quel utilisateur et pour chaque page accédée. * * ATTENTION : Avant de modifier cette page, veuillez tester vos changements avec votre propremonobook * vector.js. Une erreur sur cette page peut faire bugger le site entier (et gêner l'ensemble des * visiteurs), même plusieurs heures après la modification ! * * Prière de ranger les nouvelles fonctions dans les sections adaptées : * - Fonctions JavaScript * - Fonctions spécifiques pour MediaWiki * - Applications spécifiques à la fenêtre d'édition * - Applications qui peuvent être utilisées sur toute page * - Applications spécifiques à un espace de nom ou une page *NE PAS RETIRER CECI SINON * Note : une ré-écriture de cette page en utilisant jQuery a été commencée sur [[Projet: remplacement des signature, substitution des modèles, JavaScript/Refonte Common.js avec jQuery]].. : * * <nowiki>/!\ Ne pas retirer cette balise */
/*************************************************************/
/* Fonctions javascript JavaScript : pallient les limites de javascript JavaScript */
/* Surveiller : http://www.ecmascript.org/ */
/*************************************************************/
* insertAfter : insérer un élément dans une page
*/
mw.log.deprecate( window, 'insertAfter', function insertAfter(parent, node, referenceNode) { parent.insertBefore(node, referenceNode.nextSibling); }, 'Use jQuery\'s .after() or .insertAfter() instead.' );
/**
* getElementsByClass : rechercher les éléments de la page dont le paramètre "class" est celui recherché
*/
mw.log.deprecate( window, 'getElementsByClass', function getElementsByClass(searchClass, node, tag) { if (!node == null) { node = document; } if (!tag == null) { tag = '*'; } return getElementsByClassName$.makeArray( $(node, ).find( tag, + '.' + searchClass) );}, 'Use $( \'.someClass\' ) or $( element ).find( \'.someClass\' ) instead.' );
/**
* Diverses fonctions manipulant les classes
* Utilise des expressions régulières et un cache pour de meilleures perfs
* isClass et whichClass depuis http://fr.wikibooks.org/w/index.php?title=MediaWiki:Common.js&oldid=140211 * hasClass, addClass, et removeClass et eregReplace depuis http://drupal.org.in/doc/misc/drupal.js.source.html
* surveiller l'implémentation de .classList http://www.w3.org/TR/2008/WD-html5-diff-20080122/#htmlelement-extensions
*/
function isClass(element, classe) {
var s=" "+element.className+" ";
return s.indexOf(" "+classe+" ")>=0;
}
function whichClass(element, classes) {
var s=" "+element.className+" ";
for(var i=0;i<classes.length;i++)
if (s.indexOf(" "+classes[i]+" ")>=0) return i;
return -1;
}
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;
}
mw.log.deprecate( window, 'hasClass', function ( node, className ) { return $( node ).hasClass( className );}, 'Use $( element ).hasClass( \'class\' ) instead.' );  mw.log.deprecate( window, 'addClass', function ( node, className ) { if ( $( node ).hasClass( className ) ) { return false; } var cache = node.className; if ( cache ) { node.className = cache + ' ' + className; } else { node.className = className; } return true;}, 'Use $( element ).addClass( \'className\' ) instead.' ); mw.log.deprecate( window, 'removeClass', function ( node, className ) { if ( ! $( node ).hasClass( className ) ) { return false; } node.className = eregReplace(search'(^|\\s+)'+ className +'($|\\s+)', replace' ', subjectnode.className ) {; return subjecttrue;}, 'Use $( element ).replaceremoveClass(new RegExp\'className\' ) instead.' ); /* petites fonctions pratiques - Darkoneko, 09/01/2008 */ //créé un lien et le retourne.//le parametre onclick est facultatif.window.createAdressNode = function (searchhref,texte, onclick ) { var a = document.createElement('ga'); a.href = href; a.appendChild(document.createTextNode( texte ) ); if (arguments.length === 3) { a.setAttribute("onclick", replaceonclick ); }  return a;};
//Créé un cookie. il n'existais qu'une version dédiée à l'accueil. Celle ci est plus générique
//le parametre duree est en jours
window.setCookie = function ( nom, valeur, duree ) {
var expDate = new Date();
expDate.setTime(expDate.getTime() + ( duree * 24 * 60 * 60 * 1000));
document.cookie = nom + "=" + escape(valeur) + ";expires=" + expDate.toGMTString() + ";path=/";
};
/**
* Récupère la valeur du cookie
*/
window.getCookieVal = function getCookieVal(name) { var cookiePos = document.cookie.indexOf(name + "="); var cookieValue = false; if (cookiePos > -1) { cookiePos += name.length + 1; var endPos = document.cookie.indexOf(";", cookiePos); if (endPos > -1){ cookieValue = document.cookie.substring(cookiePos, endPos); } else{ cookieValue = document.cookie.substring(cookiePos); } } return cookieValue;}; // Récupère proprement le contenu textuel d'un noeud et de ses noeuds descendants// Copyright Harmen Christophe, http://openweb.eu.org/articles/validation_avancee, CCwindow.getTextContent = function ( oNode ) { if ( !oNode ) { return null; } if ( typeof oNode.textContent !== "undefined" ) { return oNode.textContent; } switch ( oNode.nodeType ) { case 3: // TEXT_NODE case 4: // CDATA_SECTION_NODE return oNode.nodeValue; 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; } var _textContent = ""; oNode = oNode.firstChild; while ( oNode ) { _textContent += getTextContent( oNode ); oNode = oNode.nextSibling; } return _textContent;}; if ( !String.prototype.HTMLize ) { String.prototype.HTMLize = function() { var chars = [ '&', '<', '>', '"' ]; var entities = [ 'amp', 'lt', 'gt', 'quot' ]; var string = this; for ( var i = 0; i < chars.length; i++ ) { var regex = new RegExp( chars[ i ], 'g' ); string = string.replace( regex, '&' + entities[ i ] + ';' ); } return string; };
}
 /**********************************************************************************************************//* Fonctions générales mediawiki MediaWiki (pallient les limitations du logiciel) *//* Surveiller : httphttps://frgit.wikipediawikimedia.org/skins-1history/mediawiki%2Fcore.5git/commonHEAD/wikibitsskins%2Fcommon%2Fwikibits.js *//**********************************************************************************************************/
/*
* Fonction générales de lancement de fonctions ou de script
* DÉPRÉCIÉ : utiliser addOnloadHook simplement$( func ) qui fait partie de jQuery
*/
mw.log.deprecate( window, 'addLoadEvent', function ( hookFunct ) { $( function addLoadEvent(func) { addOnloadHook hookFunct(func); });}, 'Use jQuery instead.' );
/**
* Insérer un JavaScript d'une page particulière, idée * DÉPRÉCIÉ : utiliser importScript( page ) qui fait partie de MickachuMediaWiki
*/
function loadJs(page) { documentmw.log.writedeprecate(window, '<script type="text/javascript" src="loadJs' + , importScript, 'http://frUse importScript instead.wikipedia.org/w/index.php?title=' + page + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');}
/**
* Projet JavaScript
*/
window.obtenir = function obtenir(name) { importScript( 'MediaWiki:Gadget-' + name + '.js' );}; /** * Transformer les pages du Bistro, du BA et les pages spécifiées en page de discussion */function TransformeEnDiscussion( $ ) { if(name /^Wikipédia:(Le_Bistro|Bulletin_des_administrateurs|Questions_techniques)/.test( mw.config.indexOfget('caractères/wgPageName') != -1) loadJs|| $('MediaWiki:JSScripts/#transformeEnPageDeDiscussion' + name);.length ) { else loadJs $( 'body' ).removeClass('MediaWiki:Gadgetns-subject' + name + ).addClass( '.jsns-talk'); }
}
$( TransformeEnDiscussion );
 /**************************************//* Applications pour les lecteurs *//**************************************/ /* Devraient en principe se trouver côté serveur */ /* * Choix du mode Ajouter un bouton à la fin de la barre d'affichage des références * @note L'ordre de cette liste doit correspondre a celui de Modèle:Édition !outils
*/
 function addBibSubsetMenuif (typeof addCustomButton === 'undefined' ) { var specialBib = document mw.log.getElementByIddeprecate(window, 'specialBibaddCustomButton', function ( imageFile, speedTip, tagOpen, tagClose, sampleText, imageId );{ if (!specialBibmw.toolbar ) return;{  specialBib mw.styletoolbar.display = 'block';addButton( { menu = '<select style="display imageFile: imageFile.replace( /^http:inline;" onChange="chooseBibSubset(selectedIndex\/\/upload\.wikimedia\.org\/)">/, '$1' ), + '<option>Liste</option>' speedTip: speedTip, + '<option>WikiNorme</option>' tagOpen: tagOpen, + '<option>BibTeX</option>' tagClose: tagClose, + '<option>ISBD</option>' sampleText: sampleText, + '<option>ISO690</option>' imageId: imageId + '</select>' } ); specialBib } }, 'Use mw.innerHTML = specialBibtoolbar.addButton instead.innerHTML + menu; /* default subset - try to use a cookie some day */ chooseBibSubset(0' );
}
// select subsection of special characters
function chooseBibSubset(s) {
var l = document.getElementsByTagName('div');
for (var i = 0; i < l.length ; i++) {
if(l[i].className == 'BibList') l[i].style.display = s == 0 ? 'block' : 'none';
else if(l[i].className == 'WikiNorme') l[i].style.display = s == 1 ? 'block' : 'none';
else if(l[i].className == 'BibTeX') l[i].style.display = s == 2 ? 'block' : 'none';
else if(l[i].className == 'ISBD') l[i].style.display = s == 3 ? 'block' : 'none';
else if(l[i].className == 'ISO690') l[i].style.display = s == 4 ? 'block' : 'none';
}
}
addOnloadHook(addBibSubsetMenu);/****************************************//* Applications pour l'ensemble du site *//****************************************/
/**
* Modifie Special:Search pour pouvoir utiliser différents moteurs de recherche,Tout ce qui concerne la page d'édition * disponibles dans une boîte déroulanteVoir MediaWiki:Common. * Auteurs : [[:en:User:Gracenotes]], importé de Wikipédia en anglaisjs/edit. * [[User:Zelda]] js pour le stockage du moteur par cookie.ces fonctions
*/
if (wgPageName == "Special:Recherche") { var searchEngines = []; addOnloadHook(SpecialSearchEnhanced);} function SpecialSearchEnhanced() { var createOption = function(site, action, mainQ, addQ, addV) { var opt = document.createElement('optionedit'); opt.appendChild(document.createTextNode(site)); searchEngines[searchEngines.length] = [action, mainQ, addQ, addV]; return opt; } var searchForm = document.forms['searchsubmit']; var selectBox = document.createElementindexOf('select'); selectBoxmw.id = 'searchEngine'; searchForm.onsubmit = function() { var optId = documentconfig.getElementByIdget('searchEnginewgAction').selectedIndex; var optSelected ) != searchEngines[optId]; searchForm.action = optSelected[0]; searchForm.lsearchbox.name = optSelected[-1]; searchForm.title.value = optSelected[3]; searchForm.title.name = optSelected[2]; // stockage du moteur dans un cookie document.cookie = "searchEngineId=" + optId; } selectBox.appendChild(createOption('Recherche interne', wgScriptPath + '/index.php', 'search', 'title', 'Special:Recherche')); selectBox.appendChild(createOption('Exalead', 'http://www.exalead.com/wikipedia/results', 'q', 'language', 'fr')); selectBox.appendChild(createOption('Google', 'http://www.google.fr/search', 'q', 'sitesearch', 'fr.wikipedia.org'));{ selectBox.appendChild(createOption importScript('Wikiwix', 'httpMediaWiki://frCommon.wikiwix.comjs/', 'action', 'lang', 'fr')); selectBoxedit.appendChild(createOption('Windows Live', js'http://search.live.com/results.aspx', 'q', 'q1', 'site:http://fr.wikipedia.org')); selectBox.appendChild(createOption('Yahoo', 'http://fr.search.yahoo.com/search', 'p', 'vs', 'fr.wikipedia.org')); selectBox.appendChild(createOption('Global WP Search', 'http://vs.aka-online.de/cgi-bin/globalwpsearch.pl', 'search', 'timeout', '15')); // récupération du dernier moteur utilisé stocké dans un cookie var defaultId = getCookieVal("searchEngineId"); if (defaultId) { selectBox.selectedIndex = defaultId; } searchForm.lsearchbox.style.marginLeft = '0px'; var lStat = document.getElementById('loadStatus'); lStat.parentNode.insertBefore(selectBox, lStat);
}
/**
* Transformer les pages du Bistro en page Réécriture des titres * * Fonction utilisée par [[Modèle:Titre incorrect]] * * La fonction cherche un bandeau de discussionla forme * <div id="RealTitleBanner"> * <span id="RealTitle">titre</span> * </div> * * Un élément comportant id="DisableRealTitle" désactive la fonction
*/
function DiscussionBistrorewritePageTitle($ ) { var $realTitle, titleText, $h1, $realTitleBanner = $( '#RealTitleBanner' ); if( $realTitleBanner.length && !$(wgPageName'#DisableRealTitle' ).searchlength ) { $realTitle = $( '#RealTitle' ); $h1 = $('Wikipédiah1:Le_Bistrofirst') !; if ( $realTitle.length && $h1.length ) { titleText = $realTitle.html(); if ( titleText === -1'' ) { $h1.hide(); } else { $h1.html( titleText ); || if (wgPageNamemw.config.searchget('Wikipédia:Bulletin_des_administrateurswgAction') != -1== 'view' && $realTitle.children().length === 0 ){ document.bodytitle = $realTitle.className = text() + " — Wikipédia"; } } $realTitleBanner.hide(); $( '<p>' ).css( 'nsfont-1size', '80%' ) .html( 'Titre à utiliser pour créer un lien interne : <b>' + mw.config.get('wgPageName').replace( /_/g, ' ' ) + '</b>') .insertAfter( $h1 ); } }
}
$( rewritePageTitle );
addOnloadHook(DiscussionBistro);
/**
* Transformer certaines pages en page Ajout d'un sous-titre * * Fonction utilisée par [[Modèle:Sous-titre]] * * La fonction cherche un élément de discussion avec le modèle {{page de discussion}}la forme * <span id="sous_titre_h1">Sous-titre</span>
*/
 function TransformeEnDiscussionsousTitreH1($content ) { $( '#firstHeading > #sous_titre_h1' ).remove(); var transformeEnPDD $span = document$content.getElementByIdfind("transformeEnPageDeDiscussion"'#sous_titre_h1' ); if(transformeEnPDD$span.length ) document{ $span.bodyprepend( ' ' ); $( '#firstHeading' ).className = "ns-1"append( $span ); }
}
mw.hook( 'wikipage.content' ).add( sousTitreH1 );
addOnloadHook(TransformeEnDiscussion);
/**
* Transformer certaines pages en pseudo-articleBoîtes déroulantes * c'est raisonnable ? --Tavernier * Pour [[Modèle:Méta palette de navigation]]
*/
 var Palette_Enrouler = '[masquer]';var Palette_Derouler = '[afficher]'; var Palette_max = 1; function TransformeEnArticlePalette_toggle($table ) { var transformeEnA = document $table.getElementByIdfind("transformeEnArticle"'tr:not(:first)' ); if.toggleClass(transformeEnA'navboxHidden' ) document.body.className = "ns-0";
}
addOnloadHookfunction Palette(TransformeEnArticleelement ){ if ( !element ) { element = document; } var $tables = $( element ).find( 'table.collapsible' ); var groups = {};
/** * Afficher une explication au nombre de caractères dans la liste de suivi */ $tables.each( function toolTipPlusMinus(_, table ) { var tt group = "Nombre de caractères d'écart entre les deux dernières versions de la page"; var elmts = documenttable.getElementsByTagNamegetAttribute("span"'data-autocollapse-group')|| '__default__'; for(var cpt groups[group] = 0; cpt < elmts.length; cpt++) { if (/mw-plusminus-(pos|neg|null)/.test(elmtsgroups[cptgroup].className) || /mw-plusminus-(pos|neg|null0 )/.test(elmts[cpt].getAttribute("class"))) elmts[cpt].title = tt+ 1; } });
addOnloadHook $tables.each(toolTipPlusMinusfunction( _, table ) { var $table = $( table );
/** * Utilisation du modèle Modèle:Images */function toggleImage( var group, remindex, shwindex) { document= table.getElementByIdgetAttribute("ImageGroupsGr"+'data-autocollapse-group+"Im"+remindex').style.display|| '__default__'; var autoCollapse ="none"groups[group] > Palette_max; document var collapsed = $table.getElementByIdhasClass("ImageGroupsGr"+group+"Im"+shwindex'collapsed' )|| ( autoCollapse && $table.style.display="inline"hasClass( 'autocollapse' ) );}
function imageGroup(){ if (document $table.URL.matchfind(/printable/g'tr:first th:first' )) return; var bc=document.getElementByIdprepend("bodyContent"); if $( !bc ) bc '<span class= document.getElementById("mw_contentholdernavboxToggle">\u00a0</span>' ); if( !bc ) return; var divs=bc.getElementsByTagNameappend("div"); var i = 0, j = 0; var units, search; var currentimage; var UnitNode; for $(i = 0; i '< divs.length ; i++) { if (divs[i].className !a href= "ImageGroup#") continue; UnitNode=undefined; search=divs[i].getElementsByTagName>' + ("div"collapsed ? Palette_Derouler : Palette_Enrouler); for (j = 0; j + '< search.length ; j++/a>' ) { if (search[j].className != "ImageGroupUnits") continue; UnitNode=search[j]; break; } if click(UnitNode==undefined) continue; units=Array(); for function(j = 0 ; j < UnitNode.childNodes.length ; j++ ) { var temp $this = UnitNode.childNodes[j]$( this ); if (temp.className=="center") units$this.pushtext(temp); } for (j = 0 ; j < units.length ; j++) { currentimage=units[j]; currentimage.id="ImageGroupsGr"+i+"Im"+j; var imghead = document.createElement("div"); var leftlink; var rightlink; if (j != 0Palette_Enrouler ) { leftlink = document $this.createElementtext("a"Palette_Derouler ); leftlink.href = "javascript:toggleImage("+i+","+j+","+(j-1)+");"; leftlink.innerHTML="◀"; } else { leftlink = document $this.createElementtext("span"Palette_Enrouler ); leftlink.innerHTML="&nbsp;"; } if Palette_toggle(j != units.length - 1) { rightlink = document.createElement("a"$table ); rightlink.href = "javascript:toggleImage("+i+","+j+","+(j+1)+");"; rightlink.innerHTML="▶" return false; } else { rightlink = document.createElement("span"); rightlink.innerHTML="&nbsp;"; } var comment = document.createElement("tt" ); comment.innerHTML = "("+ (j+1) + "/" + units.length + " )"; with if (imgheadcollapsed ) { style.fontSize="110%"; style.fontweight="bold"; appendChild Palette_toggle(leftlink$table ); appendChild(comment); } appendChild(rightlink); } currentimage.insertBefore(imghead,currentimage.childNodes[0]); if (j != 0) currentimage.style.display="none"; } }
}
$( function() {
Palette();
} );
addOnloadHook(imageGroup);
/**
* Ajout d'un style particulier aux liens interlangues vers un bon article ou * un article de qualitéPour [[Modèle:Boîte déroulante]]
*/
function lienAdQouBAouPdQ() {
// links are only replaced in p-lang
var pLang = document.getElementById("p-lang");
if (!pLang) return;
var lis = pLang.getElementsByTagName("li");
for (var i=0; i<lis.length; i++) {
var li = lis[i];
// ADQ- est intentionnel pour correspondre au modèle Lien AdQ, on
// ne doit pas le corriger.
if (document.getElementById("ADQ-" + li.className)) {
li.className += " AdQ";
li.title = "Lien vers un article de qualité";
} else if (document.getElementById("BA-" + li.className)) {
li.className += " BA";
li.title = "Lien vers un bon article";
} else if (document.getElementById("PdQ-" + li.className)) {
li.className += " AdQ";
li.title = "Lien vers un portail de qualité";
}
}
}
addOnloadHook(lienAdQouBAouPdQ);
/** * Suppression du titre sur la page dvar BoiteDeroulante_Enrouler = 'accueil, * changement de l[masquer]'onglet et lien vers la liste complète des Wikipédias depuis l'accueil */function mainPageTransform(){; if(wgPageName !var BoiteDeroulante_Derouler = 'Accueil[afficher]' && wgPageName != 'Discuter:Accueil') return; try { document.getElementById('ca-nstab-main').firstChild.innerHTML var BoiteDeroulante_max = 'Accueil'0; } catch (e) { /* Erreur : l'apparence ne gère la pas les onglets */ } if(wgPageName var BoiteDeroulante_index == 'Accueil' && wgIsArticle) addPortletLink('p-lang', 'http://meta.wikimedia.org/wiki/Liste_des_Wikipédias', '+')1;}
addOnloadHookfunction BoiteDeroulante_toggle(mainPageTransformindexBoiteDeroulante){ var a, m; var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante); var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante); var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante); if (!NavFrame || !NavToggle || !CaptionContainer) { return; } var caption = []; var CaptionSpans = CaptionContainer.getElementsByTagName('span'); caption[0] = CaptionSpans[0].innerHTML; caption[1] = CaptionSpans[1].innerHTML;
/** * Liens d var Contents = NavFrame.getElementsByTagName('aide des pages spéciales * * permet ddiv'ajouter un petit lien (par exemple d'aide) à la fin du titre d'une page.; * known bug : conflit avec le changement de titre classique if ( NavToggle. * Pour les commentaires, merci de contacter innerHTML === caption[[user:Plyd|Plyd1]]. */function rewritePageH1bis() { try { NavToggle.innerHTML = caption[0]; var helpPage for ( a=0, m= documentContents.getElementById("helpPage"length; a<m; a++ );{ if (helpPage$( Contents[a] ).hasClass( 'NavContent' ) ) { var helpPageURL Contents[a].style.display = document.getElementById("helpPageURL")'none'; return; var h1 } } } else { NavToggle.innerHTML = document.getElementsByTagName("h1")caption[01]; if for (helpPageURL && h1a=0, m=Contents.length; a<m; a++ ) { h1 if ( $(Contents[a]).innerHTML = h1.innerHTML + '<span id=hasClass("h1-helpPageNavContent">' + helpPageURL.innerHTML + '</span>';) ) { helpPage Contents[a].style.display = "none"'block'; } return; } } catch (e) { /* Something went wrong. */ }
}
addOnloadHookfunction BoiteDeroulante(rewritePageH1bisElement){ if (!Element) { Element = document; } var i, l, Enrouler, Derouler, CaptionContainer, NavToggle, NavToggleText, NavFrame; var NavFrameCount = -1; var NavFrames = Element.getElementsByTagName("div"); for ( i=0, l=NavFrames.length; i<l; i++ ){ if ( $( NavFrames[i] ).hasClass( 'NavFrame' ) ){ NavFrame = NavFrames[i]; NavFrameCount++; BoiteDeroulante_index++;
if (NavFrame.title && NavFrame.title.indexOf("/**") !== -1) { * Redirect vers wikibooks etc Enrouler = NavFrame.title.HTMLize(). * *split("/")[1];var redirectedFromArticleDatas Derouler = new ArrayNavFrame.title.HTMLize( new Array).split('Wikipédia:Redirect_vers_Wikibooks', 'wikibooks'"/"),[0]; } else { Enrouler = BoiteDeroulante_Enrouler; Derouler = BoiteDeroulante_Derouler; new Array( } NavFrame.title='Wikipédia:Redirect_vers_Wikisource', 'wikisource'),; new Array CaptionContainer = document.createElement('Wikipédia:Redirect_vers_Wikiversité', 'wikiversityspan'),; new Array( CaptionContainer.id = 'Wikipédia:Redirect_vers_WikiquoteNavCaption', + BoiteDeroulante_index; CaptionContainer.style.display = "none"; CaptionContainer.innerHTML = 'wikiquote<span>'), new Array(+ Derouler + 'Wikipédia:Redirect_vers_Wikinews</span><span>', + Enrouler + 'wikinews</span>'),; new Array NavFrame.appendChild('Wikipédia:Redirect_vers_Wiktionnaire', 'wiktionary')CaptionContainer);
function redirectedFromArticle NavToggle = document.createElement("a") {; if (wgIsArticle NavToggle.className == false) return'NavToggle'; for (var i NavToggle.id = 0; i < redirectedFromArticleDatas.length; 'NavToggle' ++i) { var page_match = redirectedFromArticleDatas[i]BoiteDeroulante_index; var index = wgPageName NavToggle.indexOf(page_match[0]); if (index href == 0) { var div = document.getElementById'javascript:BoiteDeroulante_toggle('contentSub+ BoiteDeroulante_index + ');'; var span NavToggleText = document.getElementByIdcreateTextNode('redirected_from'Enrouler); // real target is always encoded in the anchor NavToggle. target = window.location.hash; if appendChild(!div || !span || target == ''NavToggleText) break;
target = target NavFrame.sliceinsertBefore(1); // Konqueror 3.5 work around if (target.indexOf('#') == 0) target = targetNavToggle, NavFrame.slice(1firstChild ); target = target.split(' NavFrame.23'); target[0] id = target[0].replace(/\.([0-9A-Z][0-9A-Z])/g, '%$1NavFrame')+ BoiteDeroulante_index; var quoted = target[0] if (target[1].lengthBoiteDeroulante_max <= NavFrameCount){ quoted += '#' + target[1] quoted = quoted.replace BoiteDeroulante_toggle(/%2F/g, '/'BoiteDeroulante_index); var display = target[2] display = display.replace(/\.([0-9A-Z][0-9A-Z])/g, '%$1'); } display = decodeURI(display); } display = display.replace(/_/g, ' '); }
var e = document.createElement('A');
e.href = 'http://fr.' + page_match[1] + '.org/wiki/' + quoted;
e.innerHTML = display;
span.replaceChild(e, span.firstChild);
break;
}
}
}
addOnloadHookmw.hook(redirectedFromArticle'wikipage.content' ).add( function() { BoiteDeroulante();} ); /** * Utilisation du modèle Modèle:Animation */
/* En phase de test *//* DÉBUT DU CODE JAVASCRIPT DE "CADRE À ONGLETS" Fonctionnement du [[Modèle:Cadre à onglets]] Modèle implanté par User:Peleguer de http://ca.wikipedia.org Actualisé par User:Joanjoc de http://ca.wikipedia.org Traduction et adaptation User:Antaya de http://fr.wikipedia.org*/function CadreOngletInit(){ // retour si ailleurs que sur l'espace utilisateur, // sachant que c'est une horreur au niveau de l'accessibilité // et qu'il est impossible de "récupérer" ou de recycler ce script // (celui-ci fonctionnant par inclusion de sous pages) if (wgCanonicalNamespace != 'User') return; var iDiaporama =0 for (i=0;i<=9{};i++){ var vMb = documentDiaporama.getElementById("mb"+i); if (!vMb) break; var j=1 var vOgIni = 0 for (j=1;j<Params =9;j++){ var vBt = document.getElementById("mb"+i+"bt"+j); if (!vBt) break}; vBtDiaporama.onclick Fonctions = CadreOngletVoirOnglet{}; if (vBt.className=="mbBoutonSel") vOgIni=j; }
if (vOgIni == 0) { vOgIni = 1+Math.floor((j-1)*Math.random()) ; document.getElementById("mb"+i+"og"+vOgIni).style.display = "block"; document.getElementById("mb"+i+"og"+vOgIni)Diaporama.styleParams.visibility DiaporamaIndex = "visible"; document.getElementById("mb"+i+"bt"+vOgIni).className="mbBoutonSel"; } } } function CadreOngletVoirOnglet(){ var vMbNom = this.id.substr(0,3); var vIndex = thisDiaporama.idParams.substr(5,1); var iImageDelay =1 for (i=1;i<=9;i++){ var vOgElem = document.getElementById(vMbNom+"og"+i); if (!vOgElem) break; if (vIndex==i){ vOgElem.style.display = "block"; vOgElemDiaporama.styleParams.visibility Paused = "visible"[]; documentDiaporama.getElementById(vMbNom+"bt"+i)Params.classNameVisible ="mbBoutonSel"[]; } else { vOgElemDiaporama.styleParams.display Length = "none"[]; vOgElemDiaporama.styleParams.visibility Delay = "hidden"[]; documentDiaporama.getElementById(vMbNom+"bt"+i)Params.classNameTimeout ="mbBouton"[]; } } return false; } addOnloadHook(CadreOngletInit); /*FIN DU CODE JAVASCRIPT DE "CADRE À ONGLETS"*/
Diaporama.Fonctions.Init = function(node){ if (!node) { node = document; } var Diaporamas = $( node ).find( 'div.diaporama' ).get(); for (var a=0, l=Diaporamas.length; a<l; a++) { Diaporama.Fonctions.InitDiaporama(Diaporamas[a]); }};Diaporama.Fonctions.InitDiaporama = function(DiaporamaDiv){ var index = Diaporama.Params.DiaporamaIndex; Diaporama.Params.DiaporamaIndex++; DiaporamaDiv.id = "Diaporama_"+index; var DiaporamaFileContainer = $( DiaporamaDiv ).find( 'div.diaporamaFiles' )[0]; var DiaporamaControl = $( DiaporamaDiv ).find( 'div.diaporamaControl' )[0]; if (!DiaporamaFileContainer || !DiaporamaControl) { return; } var DiaporamaFiles = $( DiaporamaFileContainer ).find( 'div.ImageFile' ).get(); var width; var firstTumbinner = $( DiaporamaFileContainer ).find( 'div.thumbinner' )[0]; if (firstTumbinner) { //force la largeur du diaporama (pour IE) width = firstTumbinner.style.width.split("px").join(""); } else { if (DiaporamaFileContainer.firstChild.firstChild) { width = DiaporamaFileContainer.firstChild.firstChild.offsetWidth; } } if (width) { DiaporamaDiv.style.width = (parseInt(width)+30) + "px"; } if (DiaporamaFiles.length<2) { return; } Diaporama.Params.Length[index] = DiaporamaFiles.length; DiaporamaFileContainer.id = "DiaporamaFileContainer_"+index; DiaporamaControl.id = "DiaporamaControl_"+index; Diaporama.Params.Delay[index] = Diaporama.Params.ImageDelay; var DiaporamaDivClass = DiaporamaDiv.className.HTMLize(); var ParamDelay = DiaporamaDivClass.match(/Delay[0-9]+(\.|,)?[0-9]** /); if (ParamDelay !== null) { ParamDelay = parseFloat(ParamDelay[0].split("Delay").join("").split(",").join(".")); if (ParamDelay && ParamDelay>0) { Diaporama.Params.Delay[index] = ParamDelay; } } Diaporama.Fonctions.ShowThisDiapo(index, 0); var ControlLinks = DiaporamaControl.getElementsByTagName("a"); ControlLinks[0].firstChild.id = "DiaporamaPlay"+index; ControlLinks[0].href = "javascript:Diaporama.Fonctions.Play("+index+");"; ControlLinks[1].firstChild.id = "DiaporamaPause"+index; ControlLinks[1].href = "javascript:Diaporama.Fonctions.Pause("+index+");"; ControlLinks[2].firstChild.id = "DiaporamaStop"+index; ControlLinks[2].href = "javascript:Diaporama.Fonctions.Stop("+index+");"; * Boîtes déroulantes ControlLinks[3].firstChild.id = "DiaporamaLast"+index; * ControlLinks[3].href = "javascript:Diaporama.Fonctions.ToggleDiapo("+index+",-1);"; * Pour ControlLinks[4].firstChild.id = "DiaporamaNext"+index; ControlLinks[Modèle4].href = "javascript:Méta palette de navigationDiaporama.Fonctions.ToggleDiapo("+index+", 1);"; ControlLinks[5].parentNode.appendChild(Diaporama.Fonctions.CreateSelect(index, ControlLinks[5].title)); ControlLinks[5].parentNode.removeChild(ControlLinks[5]); for (var e=0, t=ControlLinks.length; e<t; e++) { ControlLinks[e].onmousedown = function(){Diaporama.Fonctions.Onclick(this);}; ControlLinks[e].onmouseup = function(){Diaporama.Fonctions.Offclick(this, index);}; ControlLinks[e].firstChild.style.backgroundColor = "white"; ControlLinks[e].onmouseover = function(){ this.focus(); }; } DiaporamaControl.style.display = "block"; Diaporama.Fonctions.Pause(index); */};
var autoCollapse Diaporama.Fonctions.Play = function(index){ if (Diaporama.Params.Paused[index] === 2false) { return;var collapseCaption } Diaporama.Params.Paused[index] = 'false; clearTimeout(Diaporama.Params.Timeout[ Enrouler index]');var expandCaption Diaporama.Params.Timeout[index] = 'setTimeout("Diaporama.Fonctions.ToggleDiapo("+index+",1);", Diaporama.Params.Delay[ Dérouler index]'*1000); var ButtonPlay = document.getElementById("DiaporamaPlay"+index); ButtonPlay.style.backgroundColor = "silver"; var ButtonPause = document.getElementById("DiaporamaPause"+index); ButtonPause.style.backgroundColor = "white"; var ButtonStop = document.getElementById("DiaporamaStop"+index); ButtonStop.style.backgroundColor = "white";};
Diaporama.Fonctions.Pause = function collapseTable( tableIndex index) { Diaporama.Params.Paused[index] = true; clearTimeout(Diaporama.Params.Timeout[index]); var Button ButtonPlay = document.getElementById( "collapseButtonDiaporamaPlay" + tableIndex index); ButtonPlay.style.backgroundColor = "white"; var Table ButtonPause = document.getElementById( "collapsibleTableDiaporamaPause" + tableIndex index); if ButtonPause.style.backgroundColor = "silver"; var ButtonStop = document.getElementById( !Table || !Button "DiaporamaStop"+index) return false; ButtonStop.style.backgroundColor = "white";};
Diaporama.Fonctions.Stop = function(index){ Diaporama.Params.Paused[index] = true; clearTimeout(Diaporama.Params.Timeout[index]); Diaporama.Fonctions.ShowThisDiapo(index, 0); var Rows ButtonPlay = Tabledocument.getElementsByTagNamegetElementById( "trDiaporamaPlay" +index); ButtonPlay.style.backgroundColor = "white"; var ButtonPause = document.getElementById("DiaporamaPause"+index); ButtonPause.style.backgroundColor = "white"; var ButtonStop = document.getElementById("DiaporamaStop"+index); ButtonStop.style.backgroundColor = "silver";};
if ( ButtonDiaporama.firstChildFonctions.data ToggleDiapo == collapseCaption function(index, diff) { for clearTimeout( Diaporama.Params.Timeout[index]); var i DiaporamaFileContainer = 1; i < Rowsdocument.length; i+getElementById("DiaporamaFileContainer_"+ index) {; Rows[i] var DiaporamaFiles = $( DiaporamaFileContainer ).find( 'div.styleImageFile' ).display = "none"get(); } Button var VisibleIndex = Diaporama.firstChildParams.data Visible[index]; var NextDiaporamaIndex = expandCaption(VisibleIndex+diff); } else if (NextDiaporamaIndex === DiaporamaFiles.length || NextDiaporamaIndex < 0) { for ( var i DiaporamaDiv = 1document.getElementById("Diaporama_"+index); i if ( diff < Rows0 || ! $( DiaporamaDiv ).length; i++ hasClass( 'AutoLoop' ) ) { Rows[i].style.display return; } NextDiaporamaIndex = Rows[0].style.display; } Button Diaporama.firstChildFonctions.data = collapseCaptionShowThisDiapo(index, NextDiaporamaIndex); }};
Diaporama.Fonctions.ShowThisDiapo = function createCollapseButtons(index, Value) { clearTimeout(Diaporama.Params.Timeout[index]); var tableIndex DiaporamaFileContainer = document.getElementById("DiaporamaFileContainer_"+index); var DiaporamaFiles = $( DiaporamaFileContainer ).find( 'div.ImageFile' ).get(); for (var x= 0, z=DiaporamaFiles.length; x<z; x++) { if (x !== Value) { DiaporamaFiles[x].style.display = "none"; } else { DiaporamaFiles[x].style.display = "block"; } } Diaporama.Params.Visible[index] = Value; Diaporama.Fonctions.UpdateBar(index); Diaporama.Fonctions.UpdateSelect(index); if (!Diaporama.Params.Paused[index]) { var NavigationBoxes multipl = new Object1; if (Value === (Diaporama.Params.Length[index]-1)){ multipl = 3; var Tables } Diaporama.Params.Timeout[index] = documentsetTimeout("Diaporama.Fonctions.getElementsByTagNameToggleDiapo( "table+index+",1);" , Diaporama.Params.Delay[index]*1000*multipl); }};
Diaporama.Fonctions.CreateSelect = function(index, Title) { var s, Opt; var Total = Diaporama.Params.Length[index]; var Select = document.createElement('select'); Select.id = "DiaporamaSelect"+index; Select.title = Title; for ( var i s= 0; i s< Tables.lengthTotal; is++ ) { Opt = document.createElement('option'); if ( hasClass( Tables[i], "collapsible" ) s === 0) { NavigationBoxes[ tableIndex ] Opt.selected = Tables[i]"selected"; Tables[i] } Opt.setAttributetext = ( s+1)+"id/", +Total; Opt.innerHTML = (s+1)+"collapsibleTable/" + tableIndex Total; Opt.value = s; Select.appendChild(Opt); } Select.onchange = function(){ Diaporama.Fonctions.SelectDiapo(Diaporama.Fonctions.getIndex(this)); }; Select.onmouseover = function(){ this.focus(); }; return Select;};
Diaporama.Fonctions.SelectDiapo = function(index){ var Button Select = document.createElementgetElementById( "spanDiaporamaSelect" +index); if (!Select){ return; } var ButtonLink Opts = documentSelect.createElementgetElementsByTagName( "a" 'option'); for (var ButtonText o= document0, p=Opts.length; o<p; o++) { if (Opts[o].selected) { var Value = parseInt(Opts[o].value); return Diaporama.Fonctions.createTextNodeShowThisDiapo( collapseCaption index, Value); } }};
ButtonDiaporama.styleFonctions.styleFloat UpdateSelect = function(index){ var Select = document.getElementById("rightDiaporamaSelect"+index); if (!Select) { return; Button } var Opts = Select.stylegetElementsByTagName('option'); for (var o=0, p=Opts.cssFloat = "right"length; o<p;o++){ Button if (o === Diaporama.Params.styleVisible[index]) { Opts[o].fontWeight selected = "normalselected"; Button.style } else { Opts[o].textAlign selected = "right"false; Button.style.width = "6em" } }};
ButtonLinkDiaporama.setAttributeFonctions.UpdateBar = function(index){ var Percent = ( "id", "collapseButton" + tableIndex 100/(Diaporama.Params.Length[index]-1)) * Diaporama.Params.Visible[index]; if (Percent>100){ Percent = 100; ButtonLink } var DiaporamaControl = document.setAttributegetElementById( "href", "javascript:collapseTable(DiaporamaControl_" + tableIndex + "index);" var DiaporamaScrollBar = $( DiaporamaControl ).find( 'div.ScrollBar' )[0]; ButtonLink DiaporamaScrollBar.appendChild( ButtonText )style.width = Percent + "%";};
ButtonDiaporama.appendChildFonctions.Onclick = function(Link){ var Image = Link.getElementsByTagName( ButtonLink 'img')[0]; Image.style.backgroundColor = "gray";};
Diaporama.Fonctions.Offclick = function(Link, index){ var Header Span = Tables[i]Link.parentNode; var Image = Link.getElementsByTagName( "tr" 'img')[0]; var DiapoState = Diaporama.getElementsByTagName( "th" )Params.Paused[0index]; /* only add button and increment count if there is a header row to work with */ if (Header( $( Span ).hasClass( 'Play' ) && DiapoState === false ) || ( ( $( Span ) { Header.insertBeforehasClass( Button, Header'Pause' ) || $( Span ).childNodes[0] hasClass( 'Stop' ) ) && DiapoState === true ) );{ tableIndex++ Image.style.backgroundColor = "silver"; }else { Image.style.backgroundColor = "white"; } };
for Diaporama.Fonctions.getIndex = function(var i = 0; i < tableIndex; i++Element) { if return parseInt( hasClassElement.id.replace( NavigationBoxes/[i^0-9]/g, "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) collapseTable( i ); }};
addOnloadHook$(createCollapseButtonsfunction () { Diaporama.Fonctions.Init();} );
/**
* Pour [[Modèle:Boîte déroulante]] Permet d'afficher les catégories cachées pour les contributeurs enregistrés, en ajoutant un (+) à la manière des boîtes déroulantes
*/
var NavigationBarShowDefault = 0; function toggleNavigationBarhiddencat(indexNavigationBar$ ) { var NavToggle if (typeof DesactiveHiddenCat !== "undefined" && DesactiveHiddenCat) { return; } if (document.getElementByIdURL.indexOf("NavToggleprintable=yes" + indexNavigationBar)!== -1) { return; } var NavFrame cl = document.getElementById("NavFrame" + indexNavigationBar'catlinks'); if (!NavFrame || !NavTogglecl) { return; // surcharge des libellés dérouler/enrouler grâce a l'attribut title // exemple : title="[déroulade]/[enroulade]" } var caption $hc = [expandCaption, collapseCaption]$('#mw-hidden-catlinks'); if (NavFrame.title && NavFrame.title!$hc.length > 0) { caption = NavFrame return; } if ( $hc.title.splithasClass("/"'mw-hidden-cats-user-shown') ){ return; } if (caption$hc.length < 2hasClass('mw-hidden-cats-ns-shown') ) caption{ $hc.pushaddClass(collapseCaption'mw-hidden-cats-hidden'); } // if shown now var nc = document.getElementById('mw-normal-catlinks'); if (NavToggle.firstChild.data == caption[1]!nc ) { for ( var NavChild catline = NavFramedocument.firstChildcreateElement('div'); NavChild ! catline.id = null'mw-normal-catlinks'; NavChild var a = NavChilddocument.nextSibling ) { if (hasClasscreateElement(NavChild, 'NavPica')) NavChild; a.stylehref = '/wiki/Catégorie:Accueil'; a.display title = 'noneCatégorie:Accueil'; if a.appendChild(hasClassdocument.createTextNode(NavChild, 'NavContentCatégories')) NavChild; catline.style.display = 'none'appendChild(a); if catline.appendChild(hasClassdocument.createTextNode(NavChild, 'NavToggle: ')) NavChild; nc = cl.insertBefore(catline, cl.firstChild.data = caption[0]); }else { // if hidden now } else if nc.appendChild(NavToggledocument.firstChild.data == caption[0]createTextNode(' | ')) {; } for ( var NavChild lnk = NavFramedocument.firstChildcreateElement('a'); NavChild ! lnk.id = null'mw-hidden-cats-link'; NavChild lnk.title = NavChild.nextSibling ) { if (hasClass(NavChild, 'NavPicCet article contient des catégories cachées')) NavChild; lnk.style.display cursor = 'blockpointer'; if (hasClass(NavChild, 'NavContent')) NavChild lnk.style.display color = 'blockblack'; if $(hasClasslnk).click(NavChild, 'NavToggle'toggleHiddenCats)) NavChild; lnk.firstChildappendChild(document.data = captioncreateTextNode('[1+]')); } } nc.appendChild(lnk);
}
// adds show/hide-button to navigation bars
function createNavigationBarToggleButton() {
var indexNavigationBar = 0;
var NavFrame;
// iterate over all < div >-elements
for( var i=0; NavFrame = document.getElementsByTagName("div")[i]; i++ ) {
// if found a navigation bar
if (hasClass(NavFrame, "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
// surcharge des libellés dérouler/enrouler grâce a l'attribut title
var caption = collapseCaption;
if (NavFrame.title && NavFrame.title.indexOf("/") > 0) {
caption = NavFrame.title.split("/")[1];
}
function toggleHiddenCats(e) { var NavToggleText $hc = document.createTextNode$(caption'#mw-hidden-catlinks'); NavToggle if ( $hc.appendChildhasClass(NavToggleText'mw-hidden-cats-hidden') );{ // add NavToggle $hc.removeClass('mw-hidden-Button as first divcats-element hidden'); // in <div class="NavFrame"> NavFrame $hc.insertBeforeaddClass( NavToggle, NavFrame.firstChild 'mw-hidden-cat-user-shown'); NavFrame $(e.setAttributetarget).text('id[–]', 'NavFrame' + indexNavigationBar); }else { } $hc.removeClass('mw-hidden-cat-user-shown'); // if more Navigation Bars found than Default: hide all if $hc.addClass(NavigationBarShowDefault < indexNavigationBar'mw-hidden-cats-hidden') {; for $( var i=1; i<=indexNavigationBar; i++ e.target) { toggleNavigationBar.text(i'[+]'); } }
}
addOnloadHook$(createNavigationBarToggleButtonhiddencat );
/**
* Compteur Script pour alterner entre plusieurs cartes de consultation d'articles * * Please talk to User:LeonWeber before changing anything or * if there are any issues with that. * this should be adjusted to a good value. * BE CAREFULL, you will break zedler if it's too low! * And then DaB. will kill Leon :-( géolocalisation
*/
function GeoBox_Init(Element){ if (!Element) { Element = document.body; } var cont = $( Element ).find( 'div.img_toogle' ).get(); for (var i = 0,m=cont.length; i < m; i++) { cont[i].id = 'img_toogle_' + i; var Boxes = $( cont[i] ).find( '.geobox' ).get(); var ToggleLinksDiv = document.createElement('ul'); ToggleLinksDiv.id = 'geoboxToggleLinks_' + i; for (var disable_counter a= 0, l=Boxes.length; a<l;a++){ var counter_factor ThisBox = 900Boxes[a]; ThisBox.id = 'geobox_' + i + "_" + a; ThisBox.style.borderTop='0'; var ThisAlt = ThisBox.getElementsByTagName('img')[0].alt; var toggle = document.createElement('a'); toggle.id = 'geoboxToggle_' + i + "_" + a; toggle.appendChild(document.createTextNode(ThisAlt)); toggle.href='javascript:;'; toggle.onclick = function(){ GeoBox_Toggle(this); return false; }; var Li = document.createElement('li'); Li.appendChild(toggle); ToggleLinksDiv.appendChild(Li); if (a === (l-1)) { Li.style.display = "none"; } else { ThisBox.style.display = "none"; } } cont[i].appendChild(ToggleLinksDiv); }}
function pgcounterSetupGeoBox_Toggle(link) { if var a, l; var ImgToggleIndex = link.id.split('geoboxToggle_').join('').replace(/_.*/g, ""); var GeoBoxIndex = link.id.replace(disable_counter /.*_/g, ""); var ImageToggle =document.getElementById('img_toogle_' + ImgToggleIndex); var Links = 0document.getElementById('geoboxToggleLinks_' + ImgToggleIndex) {; var url Geobox = windowdocument.locationgetElementById('geobox_' + ImgToggleIndex + "_" + GeoBoxIndex); var Link = document.hrefgetElementById('geoboxToggle_' + ImgToggleIndex + "_" + GeoBoxIndex); if(Math.floor(Math.random!ImageToggle) || (!Links) || (!Geobox) || (!Link)*counter_factor){ return; } var AllGeoboxes ==42$( ImageToggle ).find( '.geobox' ).get() { // the probability thing; if for (wgIsArticlea=0, l=trueAllGeoboxes.length; a<l; a++ ) { // do not count history pages etc. var pgcountNs ThisgeoBox = wgCanonicalNamespaceAllGeoboxes[a]; if(wgCanonicalNamespaceThisgeoBox.id ==""= Geobox.id) pgcountNs { ThisgeoBox.style.display = "0"; var cnt_url = "http://pgcount } else { ThisgeoBox.wikimedia.de/indexstyle.png?nsdisplay =" + pgcountNs + none"&title; } } var AllToggleLinks =" + encodeURILinks.getElementsByTagName(wgTitle'a') + "&factor; for (a=0, l=" AllToggleLinks.length; a<l; a+ counter_factor + "&wiki) { var thisToggleLink =frwiki"AllToggleLinks[a]; var img if (thisToggleLink.id === new Image(Link.id); { img thisToggleLink.parentNode.style.src display = cnt_url"none"; }else{ thisToggleLink.parentNode.style.display = ""; } }
}
addOnloadHookif (pgcounterSetup['view','submit'].indexOf(mw.config.get('wgAction')) !== -1) { $( function() { GeoBox_Init(); } );}
/**
* Réécriture des titres *permet d'ajouter un petit lien (par exemple d'aide) à la fin du titre d'une page. * Fonction utilisée utilisé par [[Modèle:Titre incorrectAide contextuelle]] * * La fonction cherche un bandeau known bug : conflit avec le changement de la forme * <div id="RealTitleBanner"> * <span id="RealTitle">titre</span>classique. * </div> * * Un élément comportant id="DisableRealTitle" désactive la fonctionPour les commentaires, merci de contacter [[user:Plyd|Plyd]].
*/
function rewritePageH1rewritePageH1bis() { var realTitleBanner helpPage = document.getElementById('RealTitleBanner'"helpPage"); if (realTitleBanner) { if (!document.getElementById('DisableRealTitle')helpPage) { var realTitle helpPageURL = document.getElementById('RealTitle'"helpPageURL"); var h1 = document.getElementsByTagNamegetElementById('h1firstHeading')[0]; if (realTitle helpPageURL && h1) { var titleText = realTitle h1.innerHTML; if (titleText == '') h1.style.display innerHTML + '<span id= "h1-helpPage">'none'; else h1+ helpPageURL.innerHTML = titleText+ '</span>'; realTitleBanner helpPage.style.display = '"none'"; } } }
}
$( rewritePageH1bis );
addOnloadHook/** * Configuration du tri des diacritique dans les tables de class "sortable" */mw.config.set(rewritePageH1'tableSorterCollation', {'à':'a', 'â':'a', 'æ':'ae', 'é':'e', 'è':'e', 'ê':'e', 'î':'i', 'ï':'i', 'ô':'o', 'œ':'oe', 'û':'u', 'ç':'c', } );
/**
* WikiMiniAtlas * * voir WP:WMA Rétablit l'accès clavier à la fonction de tri des tableaux
*/
document.write$( function ('<script type="text/javascript" src="' $) { + $( 'http://meta.wikimediasortable th' ).org/w/indexattr( 'tabindex', 0 ).php?title=MediaWiki:Wikiminiatlaskeypress( function( event ) { if ( event.js' + '&actionwhich =raw&ctype=text/javascript&dontcountme=s"></script>'13 ) { $( this ).click(); } } );} );
var wma_settings = {
buttonImage: 'http://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Geographylogo.svg/18px-Geographylogo.svg.png'
}
/**
* Icônes de titreDirect imagelinks to Commons * * Cherche les icônes de titre (class="icone de titre") et lesRequired modules: mediawiki.RegExp, mediawiki.util * déplace à droite du titre de la page * @source www.mediawiki.org/wiki/Snippets/Direct_imagelinks_to_Commons * Doit être exécuté après une éventuelle correction de titre.@author Krinkle * @version 2015-06-23 * Ajouté le 'uselang' ce 18 janvier 2015 — Ltrlg
*/
if ( mw.config.get( 'wgNamespaceNumber' ) >= 0 ) { mw.loader.using( [ 'mediawiki.RegExp', 'mediawiki.util' ] ).done(function(){ mw.hook( 'wikipage.content' ).add( function IconesDeTitre($content ) { var h1 uploadBase = '//upload.wikimedia.org/wikipedia/commons/', fileNamespace = documentmw.config.getElementsByTagNameget("h1"'wgFormattedNamespaces' )[0'6'];, var icones localBasePath = documentnew RegExp( '^' + mw.RegExp.escape( mw.util.getElementsByTagNamegetUrl("div"fileNamespace + ':' ) ) );, var icones2 localBaseScript = new ArrayRegExp( '^' + mw.RegExp.escape( mw.util.wikiScript() + '?title=' + mw.util.wikiUrlencode(fileNamespace + ':' ) ) );, commonsBasePath = '//commons.wikimedia.org/wiki/File:', var j commonsBaseScript = '//commons.wikimedia.org/w/index.php?title= 0File:'; for $content.find(var i = 0; i < icones'a.image' ).length; ++attr( 'href', function ( i, currVal ) { if (icones[i]$( this ).find( 'img' ).attr( 'src' ).className indexOf( uploadBase ) === "icone de titre"0 ) { if ( localBasePath.test( currVal ) ) { icones2[j return currVal.replace( localBasePath, commonsBasePath ) ++] '?uselang= icones[i]fr'; } } for else if ( localBaseScript.test(; j > 0; --jcurrVal ) ) { icones2[j-1] return currVal.style.display replace( localBaseScript, commonsBaseScript ) + '&uselang= "block"fr'; /* annule display:none par défaut */ icones2[j-1].style.borderWidth = "1px" } else { return currVal; icones2[j-1].style.borderStyle = "solid"; } } icones2[j-1].style.borderColor = "white" } ); h1.insertBefore(icones2[j-1], h1.firstChild } ); /* déplacement de l'élément */ });
}
 
addOnloadHook(IconesDeTitre);
/**
* Déplacement de coordonnées qui apparaissent Ajout d'un lien « ajouter une section » en haut bas de la page
*/
$( function moveCoord($ ) { var h1 $newSectionLink = document.getElementsByTagName$("h1"'#ca-addsection a' )[0]; var coord = document if ( $newSectionLink.getElementByIdlength ) { $('coordinates#mw-content-text'); if .append( !coord || !h1 ) return; coord.id '<div style= "coordinatestext-align:right; font-titlesize:0.9em; margin:1em 0 -0.5em";>' h1 + '<a href="' + $newSectionLink.insertBeforeattr(coord, h1.firstChild'href' ) + '" title="Commencer une nouvelle section">Ajouter un sujet</a>' + '</div>' ); } addOnloadHook(moveCoord} );
/**
* Déplacement des [modifier]Recentrage de la page sur l'ancre avec laquelle elle a été appelée * * Correction après le repli des titres qui s'affichent mal en raison de limitations dues à MediaWiki. * * Copyright 2006boîtes déroulantes, Marc Mongenet. Licence GPL et GFDL. * * The function looks for <span class="editsection">, and move them * at the end of their parent and display them inline in small font. * var oldEditsectionLinks=true disables the functionentre autres.
*/
function setModifySectionStyle() { // execute on window.load to try {to get the best accuracy if $(!(typeof oldEditsectionLinks == 'undefined' || oldEditsectionLinks == false)window) return; var spans = document.getElementsByTagNameload("span"); for function (var s = 0; s < spans.length; ++s) { var span = spans[s]; // scroll to the url hash if any if (spanwindow.className == "editsection"location.hash) { span.style.fontSize var currentTarget = "xx-small"; spandocument.stylegetElementById(window.fontWeight = "normal"; span.style.cssFloat = span.style.styleFloat = "none"; span.parentNodelocation.appendChild(documenthash.createTextNodesubstring(" "1)); span.parentNodecurrentTarget.appendChildscrollIntoView(spantrue); }
}
} catch (e) { /* something went wrong */ }};
addOnloadHook(setModifySectionStyle);/************************************************************//* Function Strictement spécifiques à un espace de nom ou à une page *//************************************************************/
/**
* Cache cadres de l'accueil * * Ajoute un lien sur Sur la page d'accueil pour cacher facilement les cadres * Mémorisé par cookie. * Copyright 2007, fr:user:Plyd et fr:User:IAlex. Licence GFDL et GPL.uniquement
*/
var cookieCacheCadresName = "cacheCadresAccueil";var CacheCadresVal = if ( mw.config.get( 'wgIsMainPage' ) ) {};var totalCadresAccueil = 0;
/** * Lien vers la liste complète des Wikipédias en bas de la liste des langues */ mw.loader.using( [ 'mediawiki.util' ], function affCadreAccueil(id) { visible = CacheCadresVal[id] = $( function(!CacheCadresVal[id]);{ getElementsByClass mw.util.addPortletLink('accueil_contenup-lang',null,'div')[id]//www.stylewikipedia.display = visible ? org/'block, ' : Liste complète'none, '; document.getElementById(interwiki-listecomplete', 'CacheCadreAccueilListe complète des Wikipédias' + id).innerHTML = visible ? 'masquer' : 'afficher'; sauverCookieAccueil( } ); });
function sauverCookieAccueil() {
var date = new Date();
date.setTime(date.getTime() + 30*86400*1000);
var val = 0;
for ( var i=0; i< totalCadresAccueil ; i++ ) {
if (!CacheCadresVal[i]) val = val | Math.pow(2,i);
}
document.cookie = cookieCacheCadresName + "=" + val + "; expires="+date.toGMTString() + "; path=/";
}
function LiensCadresAccueil() { if (wgPageName != "Accueil") return; cookieCadresAccueil = getCookieVal(cookieCacheCadresName); for ( var i=0; i<5; i++) { var titre = getElementsByClass('headergris',document,// ESPACE DE NOM 'h2SPECIAL')[i]; if (!titre) break; titremw.config.innerHTML += " <span style='font-size: xx-small; font-weight: normal; float: none; margin-right:100px' class='editsectionget( '>[<a id='CacheCadreAccueil" + i + "' href=wgNamespaceNumber'javascript:affCadreAccueil(" + i + ");'>masquer</a>]</span>"; CacheCadresVal[i] = true; totalCadresAccueil++; } cookieCadresAccueil = getCookieVal(cookieCacheCadresName); for ( var i=0; i< totalCadresAccueil ; i++ -1 ) { n =Math.pow(2,i); aff = !(cookieCadresAccueil & n); if (!aff) affCadreAccueil(i); }}addOnloadHook(LiensCadresAccueil);
/**
* Déplace les liens portails vers la boite de catégorieAjoute le namespace aux filtres personnalisés sur [[Spécial:Pages liées]] * * Copyright 2007, fr:userVoir aussi [[MediaWiki:Aoineko. Licence GFDL et GPL.Linkshere]]
*/
var gUseMovePortalToCategoryBox if (mw.config.get('wgCanonicalSpecialPageName') = 1;== 'Whatlinkshere') { $(document).ready(function ($) {
function movePortalToCategoryBox var query = (new mw.Uri() { if(!gUseMovePortalToCategoryBox) return.query;
// search for portails var div_portal append = document(query.getElementById(namespace ? 'portallinks&namespace='); if(div_portal && (div_portal+ query.className == namespace : 'movable')) { div_portal + (query.style.display invert ? '&invert= 'none'; // hide the portail div var div_cat = document+ query.getElementById(invert : 'catlinks'); // get cat div if(!div_catappend) { // no category box ? then create it var div_foot; var divs = document.getElementsByTagName $('div#whatlinkshere-customfilters'); for(var i = 0; i < divs.length ; i++) iffind(divs[i].className == 'printfootera') div_foot = divs[i]; div_cat = document.createElementeach(function ("div");{ div_cat this.setAttribute('id', 'catlinks')href += append; div_foot.parentNode.insertBefore(div_cat, div_foot }); } div_cat.innerHTML = div_portal.innerHTML + '<hr/>' + div_cat.innerHTML }); }
}
 
addOnloadHook(movePortalToCategoryBox);
 
 
/*************************************/
/* Applications pour les rédacteurs */
/*************************************/
 
/* todo : migrer celles qui ne sont pas vitales dans les gadgets */
/**
* Fonctions Affiche un modèle Information sur la page de remplissage automatiquetéléchargement de fichiers [[Spécial:Téléchargement]] * Voir aussi [[MediaWiki:Onlyifuploading.js]]
*/
function InitPaSif (page_namemw.config.get( 'wgCanonicalSpecialPageName' ) { return "<!-- Sauvegarder la page pour l'initialiser puis suivre les instructions -->\n" + "{{subst:Initialiser PàS|" + page_name + "|~~~~|jour={{subst:CURRENTDAY}}|mois== 'Upload' ) {{subst:CURRENTMONTH}}}}\n" + "<!-- N importScript( 'oubliez pas dMediaWiki:Onlyifuploading.js'ajouter le lien vers cette page dans la page principale des Pages à supprimer -->");
}
function InitLANN(page_name) {/** return "<!-- Sauvegarder * Supprime de la page pour l'initialiser puis suivre les instructions -->\n" + "{{subst:Initialiser LANN|" + page_name + "|~~~~}}\n" + "<!-- N'oubliez pas d'ajouter le lien vers cette page dans liste des balises disponibles et de la page principale liste des articles non neutres -->";balises supprimables} * certaines balises réservées à des outils automatiques */function InitIaSif (page_namemw.config.get('wgCanonicalSpecialPageName') { return "<!-- Sauvegarder la page pour l'initialiser puis suivre les instructions -->\n" + "{{subst:Préchargement Image à Supprimer|" + page_name + "|~~~~|jour={{subst:CURRENTDAY}}|mois={{subst:CURRENTMONTH}}}}\n" + "<!-- N= 'oubliez pas dEditTags'ajouter le lien vers cette page dans la page principale des Images à supprimer -->";}) {
mw.loader.using('mediawiki.special.edittags', function InitPAdQ(page_name) { return "<!-- Sauvegarder la page pour l'initialiser puis suivre les instructions -->\n\n" + "{{subst:Initialiser PAdQ|" + page_name + "|~~~~|jour= $(function ($) {{subst:CURRENTDAY}}|mois={{subst:CURRENTMONTH}}}}";}
function InitIaA(page_name) { var tagstokeep = [ return "<! 'AWB', 'BandeauxCategories', 'BandeauxEbauches', 'BandeauxPortails', 'HotCats', 'LiveRC', 'PaFtec', 'PaStec', 'Popups', 'RenommageCategorie', 'WPCleaner', 'C-- Sauvegarder la page pour lhelper'initialiser puis suivre les instructions -->\n" + "{{subst:Amélioration image}}" ];}
function InitPCPshouldkeep(page_nametag) { return "<tagstokeep.indexOf(tag) !== -- Sauvegarder la page pour l'initialiser puis suivre les instructions -->\n" + "{{subst:Initialiser PCP|" + page_name + "|~~~~}}\n" + "<!-- N'oubliez pas d'ajouter le lien vers cette page dans la page principale des\n" + " articles soupçonnées de violation de copyright -->"1; }
function InitArbReq if (page_name$('div.permissions-errors').length) { return "<!-- Sauvegarder la page pour l'initialiser puis suivre les instructions -->\n" + "{{subst:Wikipédia:Comité d'arbitrage/Arbitrage/Modèle}}\n" + "<!-- N'oubliez pas d'ajouter un lien vers cette page sur [[Wikipédia:Comité d'arbitrage/Arbitrage]] -->"; }
var $container = $('#mw_edittags_tag_list_chzn'); $container.find('li.search-choice').each(function InitDiscArbReq(page_namei, choice) { var choicetext = choice.firstChild.innerHTML; if (shouldkeep(choicetext)) { return "<! var $deletelink = $(choice).find('a.search-choice- Sauvegarder la page pour lclose'); if ($deletelink.length) { $deletelink.remove(); $(choice).css('initialiser padding-right', '->\n" +=15px'); } } }); " $container.find('li.active-result').each(function (i, activeresult) { var activeresulttext = activeresult.innerHTML; if (shouldkeep(activeresulttext)) {subst:Discussion Wikipédia:Comité d'arbitrage/Arbitrage/Modèle $(activeresult).remove(); } }");}
var canremoveall = true; $('input.mw-edittags-remove-checkbox').each(function InitCdl(page_namei, checkbox) { return "<!-- Sauvegarder la page pour l'initialiser puis suivre les instructions -->\n" + if (shouldkeep(checkbox.value)) { "<!-- N checkbox.disabled = 'oubliez pas ddisabled'ajouter le lien vers cette page dans la page principale du comité de lecture -->\n\n" +; canremoveall = false; "<noinclude>{{subst:Initialiser Comité de lecture2 } }</noinclude>\n" +); " if (!canremoveall) {{subst:Initialiser Comité de lecture|" + page_name + "|~~~~}}" $('#mw-edittags-remove-all').prop('disabled', true); }
function InitProjetTraduction(page_name) { var mustSkip=wgPageName.indexOf('Projet:Traduction/*/' }); if (mustSkip == -1) { return "{{subst:Initialiser la page de traduction|{{subst:SUBPAGENAME}}|~~~~|\n" + "<!-- À la création de la page, suivez les consignes ci-dessous pour proposer l'article. \n" + " ATTENTION : Veuillez ne rien effacer ! -->\n" + "1. Indiquez ci-dessous la langue de l'article à traduire (ex: en de es it pt...)\n" + "|en|\n" + "2. Indiquez ci-dessous le nom de l'article original (ex: Frankreich)\n" + "|Nom original ici| \n" + "3. Indiquez ci-dessous en une phrase l'intérêt de la traduction\n" + "|article très bien|\n" + "4. Ajoutez éventuellement un court commentaire \n" + "|commentaire très intéressant ici|\n" + "| 5. C'est fini, vous pouvez désormais sauvegarder cette page.\n" + "}}"; } else { return ""; }
}
function InitPBA(page_name) { return "<!-- Sauvegarder la page pour } // Fin du code concernant l'initialiser puis suivre les instructions -->\n\n" + "{{subst:Initialiser PBA|" + page_name + "|~~~~|jour={{subst:CURRENTDAY}}|mois={{subst:CURRENTMONTH}}}}";}espace de nom 'Special'
function InitPL(page_name) {
return "<!-- Remplir les paramètres mois et année à la sous page correspondante, et créer les liens rouges -->\n" +
"{{Portail:Littérature/Invitation à la lecture/Sélection/Modèle \n" +
"| mois = \n" +
"| année = \n" +
"}} \n" +
"<noinclude>{{Portail:Littérature/Invitation à la lecture/Sélection/Modèle inclusion \n" +
"| mois = \n" +
"| année = \n" +
"}} \n" +
"</noinclude>";
}
// ESPACE DE NOM 'UTILISATEUR'
if ( mw.config.get( 'wgNamespaceNumber' ) === 2 ) {
var init_if_empty = new Array(/* DÉBUT DU CODE JAVASCRIPT DE "CADRE À ONGLETS" new Array('Wikipédia * Fonctionnement du [[Modèle:Pages_à_supprimer/', InitPaS),Cadre à onglets]] new Array('Wikipédia * Modèle implanté par User:Liste_des_articles_non_neutres/', InitLANN), new Array('WikipédiaPeleguer de https:Images_à_supprimer/', InitIaS), new Array('Wikipédia:Proposition_articles_de_qualité/', InitPAdQ),ca.wikipedia.org new Array('Wikipédia * Actualisé par User:Pages_soupçonnées_de_violation_de_copyright/', InitPCP), new Array('Discussion_WikipédiaJoanjoc de https:Comité_d\'arbitrage/Arbitrage/', InitDiscArbReq),ca.wikipedia.org new Array('Wikipédia * Traduction et adaptation User:Antaya de https:Comité_d\'arbitrage/Arbitrage/', InitArbReq),fr.wikipedia.org new Array('Wikipédia * Indépendance de classes CSS et nettoyage par User:Comité_de_lecture/', InitCdl), new Array('ProjetNemoi de https:Traduction/', InitProjetTraduction), new Array('Wikipédia:Proposition_bons_articles/', InitPBA),fr.wikipedia.org new Array('Portail:Littérature/Invitation_à_la_lecture/Sélection*/', InitPL));
/** * Remplit la zone d'édition si elle est vide avec le texte retourné par * un pointeur de fonction sélectionné par le nom de la page. */var CadreOngletVoirOngletN = function InitPage() { // Tester si editform et wpTextbox1 existe sinon il y a une erreur lorsqu'on // ouvre l'historique d'une page qui match un des noms de init_if_empty[], // tester seulement le nom de la page n'est pas suffisant. if (document.editform == undefined || document.editform.wpTextbox1 == undefined) return; var text_area vOngletNom = documentthis.editformid.wpTextbox1; if substr(text_area0,this.valueid.length != 0indexOf("onglet",1) return; for (var i = 0; i < init_if_empty.length; ++i) { var page_match = init_if_empty[i][0]; var index vOngletIndex = wgPageNamethis.indexOf(page_match); if (index != -1) { page_name = wgPageNameid.slicesubstr(page_matchthis.length); page_name = page_nameid.replaceindexOf(/_/g"onglet", ' '0); text_area+6,this.id.value = init_if_empty[i][1](page_namelength); break; } }}
addOnloadHook var rule1=$(InitPage'#' + vOngletNom + ' .ongletBoutonNonSel')[0].style.backgroundColor.toString(); var rule2=$('#' + vOngletNom + ' .ongletBoutonNonSel')[0].style.borderColor.toString(); // rule2=$('.ongletBoutonNonSel').css("border-color");ne fonctionne pas sous Firefox
/** * Caractères spéciaux * * Ajouter un menu pour choisir des sous-ensembles de caractères spéciaux. * Ecrit par Zelda, voir sur [[Utilisateur:Zelda/Edittools var Onglets = $('#' + vOngletNom).js]]children("div"). * Remplace l'ancienne fonction par une variante plus rapideeq(0). */children("div");
/** * Ajoute un menu déroulant permettant de choisir un jeu de caractères spéciaux * Les caractères spéciaux sont définis dans Mediawiki:Edittools */function addCharSubsetMenu for (var j = 0; j < Onglets.length; j++) { var specialchars Onglet = Onglets[j]; var Feuillet = document.getElementById('specialcharsets'); if (!specialcharsvOngletNom + "feuillet" + j) return;
// Construction du menu de selection if (vOngletIndex === j) { var charSubsetSelect Feuillet.style.display = document"block"; Feuillet.createElementstyle.visibility = "visible"; $(Onglet).removeClass("selectongletBoutonNonSel"); charSubsetSelect $(Onglet).setAttributeaddClass("ongletBoutonSel"); Onglet.style.cursor="default"; Onglet.style.backgroundColor="inherit", ; Onglet.style.borderTopColor="inherit"; // propriété par propriété sinon Chrome/Chromium se loupe Onglet.style.borderRightColor="inherit"; Onglet.style.borderBottomColor="inherit"; Onglet.style.borderLeftColor="inherit"; } else { Feuillet.style.display:inline= "none"); charSubsetSelect Feuillet.style.onchange visibility = function "hidden"; $(Onglet).removeClass("ongletBoutonSel") { chooseCharSubset; $(thisOnglet).selectedIndexaddClass("ongletBoutonNonSel"); Onglet.style.cursor="pointer"; Onglet.style.backgroundColor=rule1; Onglet.style.borderColor=rule2; } } return false;};
// Ajout des options au menuvar CadreOngletInitN = function ( $ ) { var p i, j, Onglet, Feuillet; var Classeurs = document.getElementById$('specialcharsets')div.getElementsByTagName('pclasseur'); for (var i = 0; i < pClasseurs.length ; i++) { var opt Classeur = document.createElement("option"); var txt = document.createTextNode(pClasseurs[i].title); opt.appendChild(txt); charSubsetSelect.appendChild(opt); }
specialchars Classeur.insertBeforesetAttribute(charSubsetSelect"id", specialchars.childNodes[0]"classeur" + i );
var vOgIni = -1; /* default subset - try to use a cookie some day */ chooseCharSubset(0);}pour connaître l’onglet renseigné
/** * Affichage du jeu de caractères sélectionné */function chooseCharSubset var Onglets = $(Classeur).children(index"div") { var p = document.getElementByIdeq('specialcharsets'0).getElementsByTagNamechildren('p'"div"); for ( var i Feuillets = 0; i < p$(Classeur).length ; i++children("div") { // Initialisation du jeu de caractères sélectionné if .eq(i == index1) { initializeCharSubset.children(p[i]"div"); } // Affichage du jeu sélectionné, masquage des autres p[i].style.display = i == index ? 'inline' : 'none'; p[i].style.visibility = i == index ? 'visible' : 'hidden'; }}
/** * Initialisation du jeu de caractères sélectionné * Paramètre : paragraphe contenant le jeu à initialiser for ( j = 0; j < Onglets. Initialise tous les * caractères contenus dans les sous-spans du paragraphe */function initializeCharSubset(plength; j++ ) { // recherche des sous-elements de type span à traiter var spans Onglet = p.getElementsByTagName("span")Onglets[j]; if (!spans) return Feuillet = Feuillets[j];
// regexp pour echapper les caractères JS spéciaux : \ et ' var re = new RegExp Onglet.setAttribute("(\\\\|')id", "gclasseur" + i + "onglet"+ j ); // gestion du caractère d'échappement '\' var escapeRe = new RegExp Feuillet.setAttribute("[^\\\\](\\\\\\\\)*\\\\$id", "gclasseur"+ i + "feuillet" + j ); var unescapeRe Onglet.onclick = new RegExp("\\\\\\\\", "g")CadreOngletVoirOngletN;
// traitement des spans du paragraphe for if ( $(var j = 0; j < spansOnglet ).length; j++hasClass( 'ongletBoutonSel' ) ) { // span deja traité if (spans[j].childNodes.length = vOgIni= 0 || spans[j].childNodes[0].nodeType != 3) continue; } }
// On parse inutile sauf dans le contenu du spancas où l’onglet de départ est *mal* renseigné var chars if (vOgIni === -1) { vOgIni = spans[j]Math.childNodes[0]floor((Onglets.nodeValuelength)*Math.splitrandom(" ")); for document.getElementById(var k "classeur"+i+"feuillet"+vOgIni).style.display = 0"block"; k < chars document.length; kgetElementById("classeur"+i+"feuillet"+vOgIni) {.style.visibility = "visible"; var a vBtElem = document.createElementgetElementById("aclasseur"+i+"onglet"+vOgIni); var tags $(Onglet).removeClass("ongletBoutonNonSel"); $(Onglet).addClass("ongletBoutonSel"); vBtElem.style.cursor="default"; vBtElem.style.backgroundColor="inherit"; vBtElem.style.borderTopColor="inherit"; // propriété par propriété sinon Chrome/Chromium se loupe vBtElem.style.borderRightColor="inherit"; vBtElem.style.borderBottomColor="inherit"; vBtElem.style.borderLeftColor= chars[k]"inherit"; } }};
// regroupement des mots se terminant par un espace protégé par un \ while (k < chars.length && chars[k].match$(escapeReCadreOngletInitN )) { k++; tags = tags.substr(0, tags.length - 1) + /*FIN DU CODE JAVASCRIPT DE " CADRE À ONGLETS" + chars[k]; }*/
} // création Fin du lien insertTag(tagBegin, tagEnd, defaultValue) en protegeant les caractères JS \ et ' tags = (tags.replace(unescapeRe, "\\")).split("+"); var tagBegin = tags[0].replace(re, "\\$1"); var tagEnd = tags.length > 1 ? tags[1].replace(re, "\\$1") : ""; var defaultValue = tags.length > 2 ? tags[2].replace(re, "\\$1") : ""; a.href = "javascript:insertTags('" + tagBegin + "','" + tagEnd + "', '" + defaultValue + "')"; //a.href="#"; //eval("a.onclick = function() { insertTags('" + tagBegin + "','" + tagEnd + "code concernant l', espace de nom '" + defaultValue + "Utilisateur'); return false; }");
a.appendChild(document.createTextNode((tagBegin + tagEnd).replace(unescapeRe, "\\")));
spans[j].appendChild(a);
spans[j].appendChild(document.createTextNode(" "));
}
// suppression de l'ancien contenu
spans[j].removeChild(spans[j].firstChild);
}
}
addOnloadHook// ESPACE DE NOM 'RÉFÉRENCE'if (addCharSubsetMenumw.config.get( 'wgNamespaceNumber' ) === 104 );{
/** * Permet Choix du mode d'ajouter d'un jeu de caractères spéciaux dans le menu déroulantaffichage des références * paramètres :Devraient en principe se trouver côté serveur * - nom du jeu @note L'ordre de cette liste doit correspondre a celui de caractères * - contenu HTML. Les caractères spéciaux doivent être dans des spans * exemple : "caractères Modèle: <span>â ê î ô û</span>"Édition !
*/
function addSpecialCharsetHTML(title, charsHTML) {
var specialchars = document.getElementById('specialcharsets');
if (!specialchars) return;
// Ajout des caractères spéciaux. Les liens seront initialisé par initializeCharSubsetselect subsection of special charactersvar chooseBibSubset = function (s){ // lors de la sélection var specialcharsets l = document.getElementByIdgetElementsByTagName('specialcharsetsdiv'); for (var p i = document0; i < l.createElementlength; i++) { if ("p"l[i].className === 'BibList'){ l[i].style.display = s === 0 ? 'block' : 'none'; p } else if (l[i].className === 'WikiNorme') { l[i].style.display = "s === 1 ? 'block' : 'none"'; p } else if (l[i].className === 'BibTeX') { l[i].title style.display = s === title2 ? 'block' : 'none'; p } else if (l[i].innerHTML className === 'ISBD') { l[i].style.display = s === charsHTML3 ? 'block' : 'none'; specialcharsets } else if (l[i].appendChildclassName === 'ISO690') { l[i].style.display = s === 4 ? 'block' : 'none'; } }}; var addBibSubsetMenu = function () { var specialBib = document.getElementById('specialBib'); if (p!specialBib){ return; }
/** * Permet d specialBib.style.display = 'ajouter dblock'un jeu de caractères spéciaux dans le ; var menu déroulant * paramètres : * - nom du jeu de caractères * - caractères spéciaux * exemple d= 'utilisation <select style="display: addSpecialCharset(inline;"FrançaisonChange=", chooseBibSubset(selectedIndex)"â ê î ô û");>' + '<option>Liste</option>' * + '<option>WikiNorme</option>'function addSpecialCharset(title, chars) { + '<option>BibTeX</option>' addSpecialCharsetHTML(title, " + '<option>ISBD<span/option>" ' + chars '<option>ISO690</option>' + "'</spanselect>")';} specialBib.innerHTML = specialBib.innerHTML + menu;
/*default subset - try to use a cookie some day */ * Générateur de tableaux * English: Generate an array using Mediawiki syntax * * @author: fr:user:dake * @version: chooseBibSubset(0.2); */};
function generateTableau$(nbCol, nbRow, styleHeader, styleLineaddBibSubsetMenu ) { var code = "\n{| " + ((styleHeader==1) ? 'class="wikitable"' : '')+ '\n|+ Titre du tableau\n'; for (var i=0; i<nbCol; i++) code += '! en-tête ' + i + '\n'; for (var j=0; j<nbRow; j++) { if ((j+1)%2==0 && styleLine==1) { code += '|-{'+'{ligne grise}'+'}\n'; } else { // Fin du code += concernant l'|-----\nespace de nom '; } for (var i=0; i<nbCol; i++) code += Référence'| élément\n'; } code += '|}'; insertTags('','', code);}
/** * English: Open a popup with parameters to generate an array. * The number of rows/columns can be modified. Some additional * parameters are related to templates available on :fr * * @author: fr:user:dake * @version: 0.1 */TOUS LES ESPACES DE NOMS SAUF L'ESPACE PRINCIPAL
/* Permet d'afficher un compte à rebours sur une page avec le modèle [[Modèle:Compte à rebours]] *//* Plyd - 3 février 2009 */function popupTableauRebours() { var popup = window try { if (document.opengetElementById('','name','height=400,width=500'); javaCode = '<script type="text\/javascriptrebours">function insertCode()){'; javaCode += ' var row = parseInt(document.paramForm.inputRow.value); 'destime, Maintenant, Future, Diff, TempsRestantJ, TempsRestantH, TempsRestantM, TempsRestantS, TempsRestant; javaCode + destime = 'var col = parseInt(document.paramFormgetElementById("rebours").inputColtitle.valueHTMLize().split("; '; javaCode += 'var styleHeader = document.paramForm.inputHeader.checked; '"); javaCode + Maintenant = 'var styleLine = document(new Date ()).paramForm.inputLine.checked; 'getTime(); javaCode + Future = 'window.openernew Date(Date.generateTableauUTC(coldestime[0],row(destime[1]-1),styleHeaderdestime[2], destime[3], destime[4],styleLinedestime[5])); '; javaCode += '}<\/script>'; popup.document.writegetTime('<html><head><title>Paramètres du tableau</title>'); popup.document.write Diff = ('<script type="text\/javascript" src="\/skinsFuture-1.5\/common\/wikibits.js"><!-- wikibits js --><\/script>'Maintenant); popup.document.write if ('Diff <style type0) {Diff ="text\/css" media0;} TempsRestantJ ="screen">/*<![CDATA[*/ @import "\/skins-1Math.5\/monobook\/main.css?5"; floor(Diff/(24*]]>3600*/<\/style>'1000)); popup TempsRestantH = Math.document.writefloor(Diff/(javaCode3600*1000))% 24; popup TempsRestantM = Math.document.writefloor('<Diff/head><body>'(60*1000))% 60; popup.document TempsRestantS = Math.writefloor('<p>Veuillez entrer les paramètres du tableau : <Diff/p>'1000)% 60; popup.document.write('<form name TempsRestant ="paramForm">')+ destime[6] + " "; popup.document.write if ('Nombre de lignes : <input typeTempsRestantJ ="text" name="inputRow" value="3" ><p>'1);{ popup.document.write('Nombre de colonnes : <input type="text" name TempsRestant =TempsRestant + TempsRestantJ + "inputColjour " value="3" ><p>'); popup.document.write } else if ('Mise en forme (wikitableTempsRestantJ > 1) : <input type="checkbox" name="inputHeader" checked{ TempsRestant =TempsRestant + TempsRestantJ + "1jours " ><p>'); popup.document.write('Lignes grises alternées : <input type } TempsRestant =TempsRestant + TempsRestantH + "checkboxh " name=+ TempsRestantM + "inputLinemin " checked=+ TempsRestantS + "0s" ><p>'); popup. document.writegetElementById('</form">'rebours"); popup.document.write('<p><a hrefinnerHTML ="javascript:insertCode()"> Insérer le code dans la fenêtre d\'édition</a></p>')TempsRestant; popup.document.write setTimeout('<p><a href="javascript:self.closefunction ()"> Fermer</a></p>'{ Rebours(); popup.document.write('</body></html>'}, 1000); popup.document.close } } catch (e);{}
}
/** * Insertion de nouveaux boutons / Personnalisation des liens dans la barre les pages d'outilaide selon un paramètre de l'URL. // Utilisé par Modèle:Brouillon.function ReplaceSourcePageInLinks() { var match = window.location.search.match( /[?&]sourcepage=([^&]*)/); if ( !match ) { return; } var page = decodeURIComponent( match[1] ); $( '.sourcepage-subst a' ).each( function() { if ( /^(https?:)?\/\/[^/]+\.wikipedia\.org\//.test( this.href ) ) { this.href = this.href.replace( 'TITRE-A-REMPLACER', encodeURIComponent( page ) ); } } );}
function addCustomButtonif (imageFile, speedTip, tagOpen, tagClose, sampleText, imageIdmw.config.get( 'wgNamespaceNumber' ) { mwCustomEditButtons[mwCustomEditButtons.length] !== 0 ) {"imageId": imageId, "imageFile": imageFile, $( Rebours ); "speedTip": speedTip, "tagOpen": tagOpen, "tagClose": tagClose, "sampleText": sampleText} $( ReplaceSourcePageInLinks );
}
 
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/0/04/Button_array.png',
'Tableau',
'{|\n|-\n|\n|\n|}',
'',
'',
'mw-editbutton-array');
 
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/c/c9/Button_strike.png',
'Rayer',
'<s>',
'</s>',
'',
'mw-editbutton-strike');
 
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/8/88/Btn_toolbar_enum.png',
'Énumération',
'\n# élément 1\n# élément 2\n# élément 3',
'',
'',
'mw-editbutton-enum');
 
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/1/11/Btn_toolbar_liste.png',
'Liste',
'\n* élément A\n* élément B\n* élément C',
'',
'',
'mw-editbutton-liste');
 
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/9/9e/Btn_toolbar_gallery.png',
'Galerie d\'images',
'\n<gallery>\nImage:Exemple.jpg|[[Tournesol]]\nImage:Exemple1.jpg|[[La Joconde]]\nImage:Exemple2.jpg|Un [[hamster]]\n</gallery>\n{{message galerie}}',
'',
'',
'mw-editbutton-gallery');
 
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/3/37/Btn_toolbar_commentaire.png',
'Commentaire',
'<!--',
'-->',
'',
'mw-editbutton-comment');
 
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/4/47/Button_redir.png',
'Redirection',
'#REDIRECT [[',
']]',
'nom de la destination',
'mw-editbutton-redir');
 
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/b/b4/Button_category03.png',
'Catégorie',
'[[Catégorie:',
']]',
'nom de la catégorie',
'mw-editbutton-category');
 
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/3/3b/Button_template_alt.png',
'Modèle',
'{{',
'}}',
'modèle ou page à inclure',
'mw-editbutton-template');
 
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/c/c4/Button_ref.png',
'Référence',
'<ref>',
'</ref>',
'référence, citation ou lien',
'mw-editbutton-ref');
 
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/6/64/Buttonrefvs8.png',
'Index des références',
'== Notes et références ==\n<references />',
'',
'',
'mw-editbutton-references');
 
var voirAussi = '<!-- Suggestion de présentation des annexes. Aide : http://fr.wikipedia.org/wiki/Aide:Note -->\n'
+ '== Notes et références de l\'article ==\n'
+ '<references/>\n'
+ '== Voir aussi ==\n'
+ '=== Articles connexes ===\n'
+ '* [[À remplacer]]\n'
+ '*\n'
+ '=== Liens et documents externes ===\n'
+ '*\n';
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/b/bb/Seealso.png',
'Section Voir aussi',
voirAussi,
'',
'',
'mw-editbutton-voiraussi');
/**
* Changer le lien du bouton Ajoute la date de création de tableau et supprime dernière modification sur le bouton signature sur les articlesbandeau événement récent
*/
function changButtonsLastModCopy($ ) { toolbarArray = document.getElementById( // L'id change entre Monobook et Modern d'mw-editbutton-arrayune part, et Vector d');autre part if $(toolbarArray'.lastmodcopy' ) { toolbarArray.onclick = functionhtml() { popupTableau(); return false; } }  var btnSigImg = document.getElementById$('mw#lastmod, #footer-editbuttoninfo-signaturelastmod'); if .html(btnSigImg && wgNamespaceNumber == 0) btnSigImg.style.display = "none");
}
addOnloadHook$(changButtonsLastModCopy ); 
/**
* Désactiver le bouton Sauvegarder Import des scripts liés à la première édition * English : Force IP to preview before saving changes. * Copyright Marc Mongenet, 2006 * Plyd 05/2007: add "after preview" in the button to prevent misunderstanding from beginnersliste de suivi
*/
function forcePreview() { if (wgUserName != null || wgAction != "edit") return; saveButton = documentmw.config.getElementByIdget("wpSave"'wgCanonicalSpecialPageName' ); if (!saveButton) return; saveButton.disabled = true; saveButton.value = "Sauvegarder (après prévisualisation= 'Watchlist' )";{ saveButton.style importScript( 'MediaWiki:Common.fontWeight = "normal"; documentjs/watchlist.getElementById("wpPreview"js' ).style.fontWeight = "bold";
}
addOnloadHook(forcePreview);/*********************************//* Autres fonctions non classées *//*********************************/
/** Fonction** Retourne une chaîne de caractères de la date courante selon dans un certain format* @param format Format de la date "j" pour le jour, "m" pour le mois et "a" pour l'année. Ainsi si l'on est le 21 novembre 2007 et l'on passe en paramètre cette chaîne "a_m_d", la chaîne retournée sera "2007_novembre_21"* Auteur : Sanao* Dernière révision : 21 novembre 2007*/function getStrDateToday(format) { var str_mois = [ "janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre" ]; var today = new Date(); var day = today.getDate(); var year = today.getYear(); if (year </nowiki>2000) { year = year + 1900; } var str_date = format;
function includePage( name ){ document.write('<script type="text //javascript" src="' + wgScript + '?title=' + name + '&action=raw&ctypeCréation de la chaîne var regex =text/javascript"><\j/script>' gi; str_date = str_date.replace(regex, day.toString());} regex = /* End of includePage *a//* Including extra gi; str_date = str_date.replace(regex, year.js pages *toString()); regex = / m// switches for scripts// var load_extratabs = truegi;var load_edittools str_date = truestr_date.replace(regex, str_mois[today.getMonth()]); // extra drop down menu on editing for adding special charactersincludePage  return ( 'MediaWiki:Edittools.js' str_date);}
6 459
modifications