Utilisateur:Olivier Hammam/test.js
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) ;
Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.mw.loader.using('mediawiki.util', function () {
/*
* Fonction : getWeek(year,month,day)
*
* Retourne le numéro de la semaine courante pour le jour du mois de l'année passé en paramètre
* Auteur : Jered
* Source : http://www.irt.org/script/914.htm
* Dernière révision : 11 octobre 2007
*/
function getWeek(year,month,day) {
var when = new Date(year,month,day);
var newYear = new Date(year,0,1);
var offset = 7 + 1 - newYear.getDay();
if (offset == 8) offset = 1;
var daynum = ((Date.UTC(year,when.getMonth(),when.getDate(),0,0,0) - Date.UTC(year,0,1,0,0,0)) /1000/60/60/24) + 1;
var weeknum = Math.floor((daynum-offset+7)/7);
if (weeknum == 0) {
year--;
var prevNewYear = new Date(year,0,1);
var prevOffset = 7 + 1 - prevNewYear.getDay();
if (prevOffset == 2 || prevOffset == 8) weeknum = 53; else weeknum = 52;
}
return weeknum;
}
/*
* Fonction : getStrDateCeJour(format)
*
* Retourne une chaîne de caractères de la date courante selon dans un certain format
* Format de la date : "j" pour le jour, "s" pour la semaine, "m" pour le mois littéral, "n" pour le mois numérique, "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 (pour getStrDateToday) / modifié par Olivier Hammam pour l'extraction de la semaine
* Dernière révision : 21 novembre 2007 / 30 novembre 2009
*/
function getStrDateCeJour(format)
{
var str_mois = new Array();
with (str_mois)
{
push("janvier");
push("février");
push("mars");
push("avril");
push("mai");
push("juin");
push("juillet");
push("août");
push("septembre");
push("octobre");
push("novembre");
push("décembre");
}
var today = new Date();
var day = today.getDate();
var year = today.getFullYear();
var month = today.getMonth();
var str_date = format;
//Création de la chaîne
var regex = /j/gi;
str_date = str_date.replace(regex, day.toString());
regex = /a/gi;
str_date = str_date.replace(regex, year.toString());
regex = /n/gi;
str_date = str_date.replace(regex, month.toString());
regex = /s/gi;
str_date = str_date.replace(regex, getWeek(year,month,day));
// appliquer le nom du mois en dernier,
// pour ne pas avoir de faux remplacements sur ses lettres
regex = /m/gi;
str_date = str_date.replace(regex, str_mois[month]);
return (str_date);
}
/*
var jourbistro = getStrDateCeJour('j_m_a');
addOnloadHook(function() {
mw.util.addPortletLink('p-Contribuer', '/wiki/Wikipédia:Le_Bistro/'+jourbistro, 'Bistro du jour');
});
var semaineoracle = getStrDateCeJour('s_a');
addOnloadHook(function() {
mw.util.addPortletLink('p-Contribuer', '/wiki/Wikipédia:Oracle/semaine_'+semaineoracle, 'Oracle de la semaine');
});
*/
});