Utilisateur:Olivier Hammam/test.js

Une page de Wikipédia, l'encyclopédie libre.
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');
  });
*/

});