Utilisateur:DC2/monobook.js
Apparence
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;
Firefox (sur GNU/Linux) / Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.//====================================fonctions communes
function MygetObj(name) {
if (document.getElementById) {
this.obj = document.getElementById(name);
} else if (document.all) {
this.obj = document.all[name];
} else if (document.layers) {
this.obj = document.layers[name];
}
} //endGetObj
function getHTTPObject() {
var xmlhttp = false;
/* on teste la présence des fonctions */
/*@cc_on
@if (@_jscript_version >= 5)
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
@else
xmlhttp = false;
@end @*/
/* fin du test */
/* on essaie de créer l'objet si ce n'est pas déjà fait */
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp = false;
}
}
return xmlhttp;
}
//==============================Outils Javascript Wikipompiers
function InitWikiPompiers() {
if (MenuJavascriptWPP || (OptionCompteurWPP==1)) { //menu à insérer
var l = new MygetObj("column-one");
if (l.obj) {if (l.obj.innerHTML) {
l.obj.innerHTML = '<div class="portlet" id="CadreAlerteWikipompiers">'
+ '<h5>Wikipompiers</h5><div class="pBody" style="font-size:small;" id="MenuJavascriptWikipompiers">'
+ '<small>(attente du serveur)</small>'
+ '</div></div>'
+ l.obj.innerHTML;
}}//fin deux if l.obj
} // fin if menu à insérer
if (MenuJavascriptWPP) { //on active d'abord le menu :
LancementMenuJavascriptWPP();
// l'option compteur est lancée depuis cette fonction
} else { // pas de MenuJavascriptWPP :
if (OptionCompteurWPP) LancementOptionCompteurWPP();
}
} //fin fonction InitWikipompiers
//-------
function LancementMenuJavascriptWPP() {
var HTTPWikiPompiers = new getHTTPObject();
if (HTTPWikiPompiers) {// requête HTTPWikiPompiers:
HTTPWikiPompiers.open('GET', 'http://fr.wikipedia.org/wiki/Modèle:Ligne_Wikipompiers/MenuJavascript/Menu?action=render', true);
HTTPWikiPompiers.onreadystatechange = function () {
if (HTTPWikiPompiers.readyState == 4) {
var l = new MygetObj("MenuJavascriptWikipompiers");
if (l.obj) {if (l.obj.innerHTML) {
l.obj.innerHTML = HTTPWikiPompiers.responseText;
}}
if (OptionCompteurWPP) LancementOptionCompteurWPP();
}//fin if readystate == 4
}// fin fonction onreadystatechange
HTTPWikiPompiers.send(null);
}//fin de requête HTTPWikiPompiers
}// fin fonction LancementMenuJavascriptWPP
// --------Option Compteur Wiki
WPPCookN='stampMenuWpp='; //terminer par un '=' final
//structure du cookie complet :
//timestamp du dernier clic sur Vu (.getTime() sinon 0 par défaut)
//puis (espace) 2-00000000 (niveau du feu 2 ou 3, tiret, réf du feu)
// la référence du feu est urlencode (donc ne contient pas d'espace)
//pareil pour chaque feu remarquable.
// s'il n'y a aucun feu, il y a toujours un espace après la date
if (document.cookie) {
WPPCookOK=true;
} else {
document.cookie = WPPCookN+'0';
if (document.cookie) WPPCookOK=true; else WPPCookOK=false;
}
function CookBandeauWPPVu(stamp) {//cookN termine par '='
document.cookie = WPPCookN+stamp+'; expires=' + (new Date((new Date()).getTime()+60*24*3600000)).toGMTString() +'; path=/';
var l = new MygetObj("CompteurFeuxWPP");
if (l.obj) {if (l.obj.innerHTML) l.obj.innerHTML=''; l.obj.style.display='none';}
}
function LancementOptionCompteurWPP() {
var l = new MygetObj("MenuJavascriptWikipompiers");
if (l.obj) {if (l.obj.innerHTML) {
var Cetexte='<div style="font-size:80%; padding-left:.5ex;" id="CompteurFeuxWPP">(comptage des feux)</div>'
if (MenuJavascriptWPP) l.obj.innerHTML=Cetexte+l.obj.innerHTML;
else l.obj.innerHTML=Cetexte;
}}
var l = new MygetObj("CompteurFeuxWPP");
if (l.obj) {if (l.obj.innerHTML) {
var HTTPWikiPompiers = new getHTTPObject();
if (HTTPWikiPompiers) {// requête HTTPWikiPompiers:
HTTPWikiPompiers.open('GET','http://fr.wikipedia.org/wiki/Wikipédia:Wikipompiers?action=render&ctype=text/css', true);
HTTPWikiPompiers.onreadystatechange = function () {
if (HTTPWikiPompiers.readyState == 4) {
var Statuts = HTTPWikiPompiers.responseText.match(/class\s*=\s*"StatutWPP2"/gi);
try {
var Tt = HTTPWikiPompiers.responseText.match(/\sid="WPP.-[^"]*"/g).join(' ').replace(/\sid="WPP/g,'').replace(/"/g,'');
var TTT = Tt.split(' ');
} catch (e) {var TTT=new Array(0); var Tt='';}
Tt=(new Date()).getTime()+' '+Tt; //Toujours un espace même si Tt vide
var stamp=Tt; // récupération ancien stamp dans cookie :
var cookDeb = document.cookie.indexOf(WPPCookN);
var cookFIN = document.cookie.indexOf(';',cookDeb);
if (cookFIN ==-1) cookFIN =document.cookie.length;
var cookVal = document.cookie.substring(cookDeb+WPPCookN.length,cookFIN);
var WikiFeuNew=0; var WikiFeuAide=0;
for (var i in TTT) {
if (!cookVal.match(' '+TTT[i])) {
switch (TTT[i].substring(0,1)) {
case '2': WikiFeuNew++; break;
case '3': WikiFeuAide++; break;
}
}
}
//affichage du résultat s'il y en a un
if ((WikiFeuAide+WikiFeuNew>0) ) { //&& (cookVal!=stamp)
if (OptionCompteurWPP==1) {
if (WPPCookOK) {
texte='<a title="Masquer quelques temps sauf si changement" href="javascript:CookBandeauWPPVu(\''+stamp+'\')"> <i>-Vu</i></a>';
} else {
texte='';
}
l.obj.innerHTML='Aides demandées:'+WikiFeuAide
+'<br>'
+'Feux nouveaux:'+WikiFeuNew
+texte;
with (l.obj.style) {background='#FF0'; border='solid #F00 thin';}
} else if (OptionCompteurWPP==2) {
if (WPPCookOK) {
texte="\n\n(Ce message se réaffiche après quelques temps OU dès changement de la page WPP)";
} else {
texte='';
}
l.obj.style.display='none'; //effacement du message d'attente
alert("Alertes Wikipompiers\n\nAides demandées:"+WikiFeuAide+"\nFeux nouveaux:"+WikiFeuNew+texte);
CookBandeauWPPVu(stamp,(new Date((new Date()).getTime()+UpdateTimeWPP*24*3600000)).toGMTString());
}
} else {
l.obj.innerHTML="<small>(pas d'appel nouveau)</small>"; //effacement du message d'attente
} // fin test si résultat à afficher
}//fin if readystate == 4
}// fin fonction onreadystatechange
HTTPWikiPompiers.send(null);
}//fin de requête HTTPWikiPompiers
}}//fin if object CompteurFeuxWPP
} //fin fonction LancementOptionCompteurWPP
//--------------Lancement commun au Menu et à l'Option
MenuJavascriptWPP= true ;
//pour désactiver temporairement le MenuJavascript WPP,
// remplacer ci-dessus true par false.
OptionCompteurWPP= 1 ;
//modifier la valeur ci-dessus pour changer l'affichage du Compteur WPP,
// (0=compteur désactivé / 1=bandeau dans le menu / 2=message navigateur)
UpdateTimeWPP= 10 ; //compteur réaffiché après UpdateTimeWPP jours même sans changement
$(InitWikiPompiers);
//=====================================
function nouvelOnglet() {
var a = document.getElementById("p-cactions");
if (a) {
b = a.getElementsByTagName("ul");
if(b.length > 0) {
var c = document.getElementById("wpSave");
if (c) {
b[0].innerHTML +=
'<li class="selected"><a href="#editpage-copywarn"><small>[sauve]</small></a></li>'
+ '<li><a href="#wpTextbox1"><small>[Texte]</small></a></li>'
+ '<li class="selected"><a href="#globalWrapper">[Haut]</a></li>';
} else {
b[0].innerHTML +=
'<li class="selected"><a href="#globalWrapper">[Haut]</a></li>'
+ '<li class="selected"><a href="#footer">[Bas]</a></li>';
}//fin if c
} // fin if b
} // fin if a
with ((navigator.appName).toLowerCase()) {
if ((indexOf('mac',0)<0)&&(indexOf('microsoft',0)<0)) {
var l = new MygetObj('p-personal');
if (l.obj) {with (l.obj.style) {position='fixed';}}
l = new MygetObj('toolbar');
if (l.obj) {with (l.obj.style) {top='2em'; width='3em'; right='0';position='fixed';}}
l = new MygetObj('p-cactions');
if (l.obj) {with (l.obj.style) {position='fixed';}}
}
}
} // fin nouvelOnglet
$(nouvelOnglet);