MediaWiki:MenuOptions Dev.js
Note : après avoir enregistré tes préférences, tu devras forcer son rechargement complet en ignorant le contenu actuel du cache de ton explorateur pour voir les changements : Mozilla / Firefox / Konqueror / Safari : maintiens la touche Majuscule (Shift) en cliquant le bouton Actualiser (Reload,) ou presse Maj-Ctrl-R (Maj-Cmd-R sur Apple Mac) ; Internet Explorer / Opera : maintiens la touche Ctrl en cliquant le bouton Actualiser ou presse Ctrl-F5.
// ============================================================ CADRE D'OPTIONS DANS LA COLONNE DE DROITE // Styles importStylesheet('MediaWiki:MenuOptions.css'); // mini-Menu Header var MiniHeaderContent = { "Accueil" : new Array("Accueil" , "Rejoindre la page d’accueil" ), "Enfants" : new Array("Wikimini:Enfants" , "Le coin des enfants" ), "Adultes" : new Array("Wikimini:Adultes" , "Le coin des adultes" ), "Enseignants" : new Array("Wikimini:Enseignants" , "Le coin des enseignants" ), "Forum" : new Array("Spécial:AWCforum" , "Le forum" ), "Aide" : new Array("Aide:Accueil" , "Sommaire de l’aide" ) }; var MenuIcons = new Object(); MenuIcons["BlankImage"] = { src : "/w/skins/wikimini/images/blank-18x18.png", alt : "", width : "9" }; MenuIcons["ReduireHTML"] = { src : "/w/skins/wikimini/images/hide-header-a.png", hoversrc : "/w/skins/wikimini/images/hide-header-b.png", text : "Réduire l’en-tête", alt : "Cacher l’en-tête", width : "18" }; MenuIcons["DevelopperHTML"] = { src : "/w/skins/wikimini/images/show-header-a.png", hoversrc : "/w/skins/wikimini/images/show-header-b.png", text : "Afficher l’en-tête", alt : "Afficher l’en-tête", width : "18" }; MenuIcons["LargeurSiteHTML800px"] = { src : "/w/skins/wikimini/images/shrink-a.png", hoversrc : "/w/skins/wikimini/images/shrink-b.png", text : "Afficher le site en largeur réduite", alt : "Largeur réduite", width : "18" }; MenuIcons["LargeurSiteHTML100"] = { src : "/w/skins/wikimini/images/expand-a.png", hoversrc : "/w/skins/wikimini/images/expand-b.png", text : "Afficher le site en pleine largeur", alt : "Pleine largeur", width : "18" }; MenuIcons["TaillePoliceTextePlus"] = { src : "/w/skins/wikimini/images/font-plus-a.png", hoversrc : "/w/skins/wikimini/images/font-plus-b.png", text : "Augmenter la taille de la police", alt : "Augmenter police", width : "18" }; MenuIcons["TaillePoliceTexteStandard"] = { src : "/w/skins/wikimini/images/font-default-a.png", hoversrc : "/w/skins/wikimini/images/font-default-b.png", text : "Rétablir la taille de la police", alt : "Police standard", width : "18" }; MenuIcons["TaillePoliceTexteMoins"] = { src : "/w/skins/wikimini/images/font-minus-a.png", hoversrc : "/w/skins/wikimini/images/font-minus-b.png", text : "Diminuer la taille de la police", alt : "Diminuer police", width : "18" }; MenuIcons["TailleEditTextePlus"] = { src : "/w/skins/wikimini/images/expand-edit-a.png", hoversrc : "/w/skins/wikimini/images/expand-edit-b.png", text : "Augmenter la taille de la zone d’édition", alt : "Zone d’édition plus", width : "18" }; MenuIcons["TailleEditTexteStandard"] = { src : "/w/skins/wikimini/images/font-default-a.png", hoversrc : "/w/skins/wikimini/images/font-default-b.png", text : "Rétablir la taille de la zone d’édition standard", alt : "Zone d’édition standard", width : "18" }; MenuIcons["TailleEditTexteMoins"] = { src : "/w/skins/wikimini/images/shrink-edit-a.png", hoversrc : "/w/skins/wikimini/images/shrink-edit-b.png", text : "Diminuer la taille de la zone d’édition", alt : "Zone d’édition moins", width : "18" }; MenuIcons["ImprimablePage"] = { src : "/w/skins/wikimini/images/printer-a.png", hoversrc : "/w/skins/wikimini/images/printer-b.png", text : "Version imprimable de cette page", alt : "Version imprimable", width : "18" }; var DefaultOptions = new Array(); DefaultOptions["TaillePolice"] = 12; DefaultOptions["TailleEdit"] = 30; DefaultOptions["LargeurCol1_Large"] = "75%"; DefaultOptions["LargeurCol1_Reduite"] = "459px"; DefaultOptions["LargeurCol2_Large"] = "25%"; DefaultOptions["LargeurCol2_Reduite"] = "300px"; /////////////////////////////////////////////////////////////////////////////// COOKIE ETAT DU HEADER var FlashHeaderState = getCookie("FlashHeaderState"); /////////////////////////////////////////////////////////////////////////////// COOKIE LARGEUR DU SITE var MenuOptions_Largeur = getCookie("MenuOptions_Largeur"); /////////////////////////////////////////////////////////////////////////////// COOKIE TAILLE POLICE var MenuOptions_TaillePolice = getCookie("MenuOptions_TaillePolice"); /////////////////////////////////////////////////////////////////////////////// COOKIE TAILLE ZONE D'EDITION var MenuOptions_TailleEdit = getCookie("MenuOptions_TailleEdit"); /////////////////////////////////////////////////////////////////////////////// CREATION MENU D'OPTIONS function CreateMenuOptions(){ if(typeof(MenuOptions_SiteCustom)=="function") try{ MenuOptions_SiteCustom(); }catch(e){ }; var MenuLiens = new Array(); MenuLiens.push(CreateIcon("ReduireHTML", "javascript:ToggleHeader();")); MenuLiens.push(CreateIcon("DevelopperHTML", "javascript:ToggleHeader();")); MenuLiens.push(CreateIcon("BlankImage")); MenuLiens.push(CreateIcon("LargeurSiteHTML800px", "javascript:ToggleLargeurSite();")); MenuLiens.push(CreateIcon("LargeurSiteHTML100", "javascript:ToggleLargeurSite();")); MenuLiens.push(CreateIcon("BlankImage")); MenuLiens.push(CreateIcon("TaillePoliceTextePlus", "javascript:ToggleTaillePolice(1);")); MenuLiens.push(CreateIcon("TaillePoliceTexteMoins", "javascript:ToggleTaillePolice(-1);")); MenuLiens.push(CreateIcon("TaillePoliceTexteStandard", "javascript:ToggleTaillePolice(0);")); MenuLiens.push(CreateIcon("BlankImage")); MenuLiens.push(CreateIcon("ImprimablePage", "javascript:VersionImprimable();")); MenuLiens.push(CreateIcon("BlankImage")); if((wgAction=="edit")||(wgAction=="submit")){ MenuLiens.push('<br/>'); MenuLiens.push(CreateIcon("TailleEditTextePlus", "javascript:ToggleTailleEdit(1);")); MenuLiens.push(CreateIcon("TailleEditTexteMoins", "javascript:ToggleTailleEdit(-1);")); MenuLiens.push(CreateIcon("TailleEditTexteStandard", "javascript:ToggleTailleEdit(0);")); MenuLiens.push(CreateIcon("BlankImage")); } var Menu = document.createElement('div'); Menu.className = 'OptionsBox'; Menu.innerHTML = '<div class="visualClear"><span id="OptionsTexte" class="OptionsTexte_Hidden"></span></div><div id="MenuOptions">' + MenuLiens.join(""); +'</div>'; var AllDiv = document.getElementsByTagName('div'); for(a=0;a<AllDiv.length;a++){ if(hasClass(AllDiv[a], "column2")){ AllDiv[a].insertBefore(Menu,AllDiv[a].firstChild); AllDiv[a].id = "col2"; } if(hasClass(AllDiv[a], "column1")){ AllDiv[a].id = "col1"; } } /////////// Application des options // Header if(FlashHeaderState != "0"){ var FlashHeaderStyle = "block"; var MiniHeaderStyle = "none"; ToggleHeaderButtons("On"); }else{ var FlashHeaderStyle = "none"; var MiniHeaderStyle = "inline"; ToggleHeaderButtons("Off"); } var flashDiv = document.getElementById('header'); flashDiv.style.display = FlashHeaderStyle; var MiniHeaderParent = document.createElement('div'); MiniHeaderParent.id = "MiniHeaderDiv"; var MiniHeader = document.createElement('ul'); MiniHeader.id = "MiniHeader"; MiniHeader.style.display = MiniHeaderStyle; MiniHeader.innerHTML = MenuOptions_ConstructMiniHeader(); MiniHeaderParent.appendChild(MiniHeader); flashDiv.parentNode.insertBefore(MiniHeaderParent,flashDiv); // Largeur du site if(MenuOptions_Largeur != "0") { var MenuOptions_LargeurSite = "800px"; var MenuOptions_LargeurCol1 = DefaultOptions["LargeurCol1_Reduite"]; var MenuOptions_LargeurCol2 = DefaultOptions["LargeurCol2_Reduite"]; ToggleLargeurSiteButtons("Off"); }else{ var MenuOptions_LargeurSite = "100%"; var MenuOptions_LargeurCol1 = DefaultOptions["LargeurCol1_Large"]; var MenuOptions_LargeurCol2 = DefaultOptions["LargeurCol2_Large"]; ToggleLargeurSiteButtons("On"); } var mainDiv = document.getElementById('main'); var Colonne1 = document.getElementById('col1'); var Colonne2 = document.getElementById('col2'); mainDiv.style.width = MenuOptions_LargeurSite; Colonne2.style.width = MenuOptions_LargeurCol2; Colonne1.style.width = MenuOptions_LargeurCol1; // Taille police if( (!MenuOptions_TaillePolice) || (MenuOptions_TaillePolice == "") || (MenuOptions_TaillePolice== "null") ){ var TaillePolice = DefaultOptions["TaillePolice"]; }else{ var TaillePolice = parseInt(MenuOptions_TaillePolice); } var Content = document.getElementById('bodyContent'); Content.style.fontSize = TaillePolice + 'px'; // Taille zone d'édition if( (!MenuOptions_TailleEdit) || (MenuOptions_TailleEdit== "") || (MenuOptions_TailleEdit== "null") ){ var TailleEdit_Lignes = DefaultOptions["TailleEdit"]; }else{ var TailleEdit_Lignes = parseInt(MenuOptions_TailleEdit); } if (document.getElementById("wpTextbox1")){ // MediaWiki document.getElementById('wpTextbox1').rows = TailleEdit_Lignes; } if (document.getElementById("wpTextbox1___Frame")){ //FCKEditor document.getElementById('wpTextbox1___Frame').style.height = (TailleEdit_Lignes*13) + 'px'; } } addOnloadHook(CreateMenuOptions); /////////////////////////////////////////////////////////////////////////////// FONCTIONS DU MENU D'OPTIONS function CreateIcon(id, href){ var Icon = MenuIcons[id]; if(!Icon) return ""; var Text = '<a id="'+id+'" ' + (href ? 'href="'+href+'" ' : '') + ' onmouseover="javascript:ToggleImage(\''+id+'\', \'On\');"' + ' onfocus="javascript:ToggleImage(\''+id+'\', \'On\');"' + ' onmouseout="javascript:ToggleImage(\''+id+'\', \'Off\');"' + ' onblur="javascript:ToggleImage(\''+id+'\', \'Off\');"' + ' >' + '<img class="MenuOptionsBouton" width="'+Icon.width+'" src="'+Icon.src+'" alt="'+Icon.alt+'" />' + '</a>'; return Text; } function ToggleImage(idLien, OnOff){ var Lien = document.getElementById(idLien); var Explication = document.getElementById("OptionsTexte"); if((!Lien)||(!Explication)) return; var Image = Lien.getElementsByTagName('img')[0]; var Icon = MenuIcons[idLien]; if(!Image || !Icon) return; var Texte = Icon.text; if(!Texte) return; var URLImage = Icon.src; var URLImageHover = ( Icon.hoversrc ? Icon.hoversrc : URLImage ); if(OnOff=="On"){ Image.src = URLImageHover; Explication.innerHTML = Texte; Explication.className = "OptionsTexte_Visible"; }else{ Image.src = URLImage; Explication.innerHTML = ''; Explication.className = "OptionsTexte_Hidden"; } } // Mini-menu function MenuOptions_ConstructMiniHeader(){ var T = ""; for(var Text in MiniHeaderContent){ var Page = MiniHeaderContent[Text][0]; var Title = MiniHeaderContent[Text][1]; if(!Page || !Title) continue; T += '<li id="headerLi_'+Text+'" class="headerLi"><a class="headerA" href="'+wgServer+wgArticlePath.split('$1').join(Page)+'" title="'+Title+'">'+Text+'</a></li>' } return T; } // Changement largeur du site function ToggleLargeurSite(){ var mainDiv = document.getElementById('main'); var Colonne1 = document.getElementById('col1'); var Colonne2 = document.getElementById('col2'); var now = new Date(); var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 ); if(mainDiv.style.width == '100%'){ mainDiv.style.width = '800px'; Colonne1.style.width = DefaultOptions["LargeurCol1_Reduite"]; Colonne2.style.width = DefaultOptions["LargeurCol2_Reduite"]; ToggleLargeurSiteButtons("Off"); setCookie("MenuOptions_Largeur", "1", nextYear); }else{ mainDiv.style.width = '100%'; Colonne1.style.width = DefaultOptions["LargeurCol1_Large"]; Colonne2.style.width = DefaultOptions["LargeurCol2_Large"]; ToggleLargeurSiteButtons("On"); setCookie("MenuOptions_Largeur", "0", nextYear); } } function ToggleLargeurSiteButtons(OnOff){ var Button_Off = document.getElementById("LargeurSiteHTML800px"); var Button_On = document.getElementById("LargeurSiteHTML100"); if(!Button_On || !Button_Off) return; if(OnOff=="On"){ Button_On.style.display = "none"; Button_Off.style.display = ""; }else{ Button_On.style.display = ""; Button_Off.style.display = "none"; } } // Affichage / Masquage de l'en-tête function ToggleHeader(){ var flashDiv = document.getElementById('header'); var MiniHeader = document.getElementById('MiniHeader'); var now = new Date(); var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 ); if(flashDiv.style.display=="none"){ flashDiv.style.display = "block"; MiniHeader.style.display ="none"; ToggleHeaderButtons("On"); setCookie("FlashHeaderState", "1", nextYear); }else{ flashDiv.style.display = "none"; MiniHeader.style.display = "inline"; ToggleHeaderButtons("Off"); setCookie("FlashHeaderState", "0", nextYear); } } function ToggleHeaderButtons(OnOff){ var Button_Off = document.getElementById("ReduireHTML"); var Button_On = document.getElementById("DevelopperHTML"); if(!Button_On || !Button_Off) return; if(OnOff=="On"){ Button_On.style.display = "none"; Button_Off.style.display = ""; }else{ Button_On.style.display = ""; Button_Off.style.display = "none"; } } // Changement de la taille de police function ToggleTaillePolice(diff) { var Content = document.getElementById('bodyContent'); if (Content){ var now = new Date(); var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 ); if(diff!=0){ var NouvellePolice = parseInt(Content.style.fontSize.split('px').join('')) + diff }else{ var NouvellePolice = DefaultOptions["TaillePolice"]; } Content.style.fontSize = NouvellePolice + 'px'; setCookie("MenuOptions_TaillePolice", NouvellePolice, nextYear); } } // Fonctions pour l'impression function VersionImprimable(){ window.open(wgServer + wgScript + '?title=' + wgPageName + '&printable=yes', '_self'); } // Changement hauteur fenêtre d'édition function ToggleTailleEdit(diff) { if (document.getElementById("wpTextbox1")){ var now = new Date(); var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 ); if(diff!=0){ var NouvelleTaille = document.getElementById('wpTextbox1').rows + diff; }else{ var NouvelleTaille = DefaultOptions["TailleEdit"]; } //Fenêtre MediaWiki document.getElementById('wpTextbox1').rows = NouvelleTaille; // Fenêtre FCKEditor var FCKEditorTextArea = document.getElementById('wpTextbox1___Frame'); if(FCKEditorTextArea){ FCKEditorTextArea.style.height = (13*NouvelleTaille) + 'px'; } setCookie("MenuOptions_TailleEdit", NouvelleTaille, nextYear); } } ////////////////////////////////////////////////////////////////////// FIN DU CADRE D'OPTIONS // ==========================================================================================