MediaWiki:Common.js
Aller à la navigation
Aller à la recherche
Note : après avoir publié vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
- Firefox / Safari : maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou appuyez sur Ctrl + F5 ou Ctrl + R (⌘ + R sur un Mac).
- Google Chrome : appuyez sur Ctrl + Maj + R (⌘ + Shift + R sur un Mac).
- Internet Explorer / Edge : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl + F5.
- Opera : appuyez sur Ctrl + F5.
/* Any JavaScript here will be loaded for all users on every page load. */
/**
* UTIL
*/
function getElementsByClassName(node, classname)
{
var a = [];
var re = new RegExp('\\b' + classname + '\\b');
var els = node.getElementsByTagName("*");
for(var i=0,j=els.length; i<j; i++)
if(re.test(els[i].className))a.push(els[i]);
return a;
}
/**
* Ajouter une nouvelle fonction a excuter au chargement de la page.
*/
function desen_addLoadEvent(func)
{
if (window.addEventListener)
window.addEventListener("load", func, false);
else if (window.attachEvent)
window.attachEvent("onload", func);
}
// ============================================================
// BEGIN Dynamic Navigation Bars
// set up the words in your language
var NavigationBarHide = 'Enrouler';
var NavigationBarShow = 'Dérouler';
// set up max count of Navigation Bars on page,
// if there are more, all will be hidden
// NavigationBarShowDefault = 0; // all bars will be hidden
// NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
var NavigationBarShowDefault = 0;
// shows and hides content and picture (if available) of navigation bars
function toggleNavigationBar(navigationBarID)
{
var NavFrame = document.getElementById(navigationBarID);
if (!NavFrame) return false;
var NavToggles = NavFrame.getElementsByTagName("a");
var NavToggle;
for ( var i = 0; i < NavToggles.length; ++i)
{
if (NavToggles.item(i).className == "NavToggle")
{
NavToggle = NavToggles.item(i); break;
}
}
if (!NavToggle) return false;
// if shown now
if (NavToggle.firstChild.data == NavigationBarHide) {
for (
var NavChild = NavFrame.firstChild;
NavChild != null;
NavChild = NavChild.nextSibling
) {
if (NavChild.className == 'NavPic') {
NavChild.style.display = 'none';
}
if (NavChild.className == 'NavContent' || NavChild.className == 'poll') {
NavChild.style.display = 'none';
}
if (NavChild.className == 'NavToggle') {
NavChild.firstChild.data = ( NavFrame.className == 'adminpoll' ? gStandardPollHeader : NavigationBarShow );
}
}
// if hidden now
} else {
for (
var NavChild = NavFrame.firstChild;
NavChild != null;
NavChild = NavChild.nextSibling
) {
if (NavChild.className == 'NavPic') {
NavChild.style.display = 'block';
}
if (NavChild.className == 'NavContent' || NavChild.className == 'poll') {
NavChild.style.display = 'block';
}
if (NavChild.className == 'NavToggle') {
NavChild.firstChild.data = NavigationBarHide;
}
}
}
/********Changement de couleur du bouton pour la boîte série*********/
if( document.getElementById( 'navTogWhite' ) ){
var togWhite = document.getElementsByClassName('NavToggle');
for (var b = 0; b < togWhite.length; b++) {
togWhite[b].style.color = "white";
}
}
}
// adds show/hide-button to navigation bars
function createNavigationBarToggleButton()
{
var indexNavigationBar = 0;
var bodyContent = document.getElementById("bodyContent");
if (!bodyContent) return;
var divs = bodyContent.getElementsByTagName("div");
for( var i=0; i < divs.length; i++ ) {
var NavFrame = divs.item(i);
if (NavFrame.className == "NavFrame" || ( NavFrame.className == "poll" && NavFrame.innerHTML.indexOf(gStandardPollQuestionStart) != -1 ) ) {
if (NavFrame.className == "poll")
{
NavFrame = NavFrame.parentNode;
NavFrame.className = "adminpoll";
}
var navFrameId = NavFrame.getAttribute("id") || "NavFrame" + (++indexNavigationBar);
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute("href", "javascript:toggleNavigationBar(\"" + navFrameId + "\")");
var NavToggleText = document.createTextNode(NavigationBarHide);
NavToggle.appendChild(NavToggleText);
NavFrame.insertBefore( NavToggle, NavFrame.firstChild );
NavFrame.setAttribute('id', navFrameId);
toggleNavigationBar(navFrameId);
}
}
}
desen_addLoadEvent(createNavigationBarToggleButton);
// END Dynamic Navigation Bars
// ============================================================
//============================================================
//
// VBO
//
//============================================================
var wgTitle, wgCanonicalNamespace;
function addPollHandler()
{
var textarea = document.getElementById('wpTextbox1');
if (!textarea || textarea.value.indexOf("{" + "{" + "VBO" + "}" + "}") != -1 || textarea.value.indexOf("{" + "{" + "BO" + "}" + "}") != -1 || textarea.value.length < 4000 || textarea.value.indexOf("__NOVBO__") != -1) return true;
textarea.value = textarea.value + "\n\n{" + "{" + "VBO" + "}" + "}" + "\n\n";
return true;
}
function addPollToSave()
{
if (wgCanonicalNamespace != "" && wgCanonicalNamespace != "Désinformation") return;
var save = document.getElementById("wpSave");
var editform = document.forms['editform'];
var textarea = document.getElementById('wpTextbox1');
if (save && editform && (!editform.elements["wpSection"] || !editform.elements["wpSection"].value))
{
// Add poll when clicking the save button.
save.onclick = addPollHandler;
}
}
desen_addLoadEvent(addPollToSave);
/*
Gestion de scripts dans des pages protégées.
*/
function execPageScripts()
{
/* Attention !!! Avant d'inclure une page ci-dessous, protégez-la pour admins ! */
var eps_AUTHORIZED_PAGES = {"Admin Test" : 1, "Nihilisme" : 1, "Psychanalyse" : 1, "Celui qui lit ça" : 1, "Utilisateur:Monsieur Brouillon/CIA" : 1};
if (wgCanonicalNamespace != "" || !eps_AUTHORIZED_PAGES[wgTitle]) return;
var eps_spans = document.getElementById("bodyContent").getElementsByTagName("span");
for( var eps_i = 0; eps_i < eps_spans.length; eps_i++)
{
var eps_scripted = eps_spans.item(eps_i);
if (eps_scripted.className != "__SCRIPT__") continue;
var eps_toto = eval(eps_scripted.innerHTML);
if (eps_toto && eps_scripted.nextSibling.innerHTML) eps_scripted.nextSibling.innerHTML = eps_toto;
}
}
desen_addLoadEvent(execPageScripts);
/** Nouvelle version du code USERNAME honteusement chouravé du côté de l'uncyclo ******************************
* The annoying hack used by [[Template:USERNAME]]!
* Inserts user name into <span class='insertusername'></span>
* Originally by [[wikia:User:Splarka|Splarka]], [[User:Spang]]
* New version by [[User:Bizzeebeever]]
*/
$j( function() {
var name = mw.config.get( 'wgUserName' );
if ( !window.disableUsernameReplace && name ) {
$j( 'span.insertusername' ).text( name );
$j( '<a href="/wiki/Utilisateur:' + name + '" title="Utilisateur:' + name + '">' + name + '</a> <small>(<a href="/wiki/Discussion_utilisateur:' + name + '" title="Discussion utilisateur:' + name + '">discussion</a>)</small>' ).replaceAll( 'span.insertusernamesig' );
}
} );
importedScripts = {}; // object keeping track of included scripts, so a script ain't included twice
function importScript( page ) {
if( importedScripts[page] ) {
return;
}
importedScripts[page] = true;
var url = wgScriptPath
+ '/index.php?title='
+ encodeURIComponent( page.replace( / /g, '_' ) )
+ '&action=raw&ctype=text/javascript';
var scriptElem = document.createElement( 'script' );
scriptElem.setAttribute( 'src' , url );
scriptElem.setAttribute( 'type' , 'text/javascript' );
document.getElementsByTagName( 'head' )[0].appendChild( scriptElem );
}
function importStylesheet( page ) {
var sheet = '@import "'
+ wgScriptPath
+ '/index.php?title='
+ encodeURIComponent( page.replace( / /g, '_' ) )
+ '&action=raw&ctype=text/css";'
var styleElem = document.createElement( 'style' );
styleElem.setAttribute( 'type' , 'text/css' );
styleElem.appendChild( document.createTextNode( sheet ) );
document.getElementsByTagName( 'head' )[0].appendChild( styleElem );
}
// Utilise par [[Modele:Texte qui s'ecrit]]
// Ce code sert a ecrire du texte progressivement lettre par lettre
desen_addLoadEvent(function () {if ((window.desactiver_texte_qui_s_ecrit !== true) && (document.getElementById("unSeulTexteQuiSEcrit") || document.getElementById('plusieursTextesQuiSEcrivent'))) importScript("MediaWiki:TexteQuiSEcrit.js");});
// Utilise par [[Modele:Zone tactile]]
// Ce code sert a deplacer des div avec le curseur
desen_addLoadEvent(function () {if ((window.desactiver_zone_tactile !== true) && (document.getElementsByClassName("zoneTactile") !== [])) importScript("MediaWiki:ZoneTactile.js");});
/** Title rewrite ********************************************************
* Permet de changer le titre d'une page en utilisant [[Modèle:Titre]]
*/
function rewriteTitle() {
if( typeof( SKIP_TITLE_REWRITE ) != 'undefined' && SKIP_TITLE_REWRITE )
return;
var titleDiv = document.getElementById('title-meta');
if( titleDiv == null || titleDiv == undefined )
return;
var cloneNode = titleDiv.cloneNode(true);
var firstHeading = document.getElementById('firstHeading');
var node = firstHeading.childNodes[0];
// new, then old!
firstHeading.replaceChild(cloneNode, node);
cloneNode.style.display = 'inline';
var titleAlign = document.getElementById('title-align');
firstHeading.style.textAlign = titleAlign.childNodes[0].nodeValue;
}
desen_addLoadEvent( rewriteTitle );
/*Activation du modèle nologo pour la suppression du logo en haut à gauche*/
/**************************************************************************/
function noLogo() {
if( document.getElementById( 'nologo' ) ){
document.getElementById('p-logo').style.visibility = "hidden";
document.getElementById('p-logo').style.width = "1px";
}
}
desen_addLoadEvent(noLogo);