Utilisateur:Morestel/monobook.js

Un article de Wikipédia, l'encyclopédie libre.

Note : Après avoir publié la page, vous devrez forcer son rechargement pour voir les changements : Mozilla / Konqueror / Firefox : Shift-Ctrl-R, Internet Explorer / Opera : Ctrl-F5, Safari : Cmd-R.

addOnloadHook(function() {
    addPortletLink('p-navigation', '/wiki/Wikipédia:Oracle', 'Consulter l\'Oracle');
  });
 
 
 
/**
 * '''Dernière contribution'''
 *
 * Indique au chargement de la page si la page a été édité depuis moins de xx temps
 * (sert à éviter les conflits de modification éventuels)
 *
 * Auteur : Seb35
 * Date de la dernière révision : 18 mai 2007
 * [[Catégorie:MediaWiki:Fonction Monobook en JavaScript]]
 */
 
////////////////////// ZONE PERSONNALISABLE //////////////////////
 
// Les temps sont en secondes
var lastContribNiveau1 = 10*60;   // Niveau d'alerte très fort
var lastContribNiveau2 = 30*60;  // Niveau d'alerte fort
var lastContribNiveau3 = 60*60; // Niveau d'alerte moyen
 
///////////////// FIN DE LA ZONE PERSONNALISABLE /////////////////
 
function lastContrib()
{
 var texte = document.getElementById('lastmod');
 if(!texte) return;
 texte = texte.innerHTML.toString();
 var resultat = texte.match(/page le ([0-9]{1,2}) ([a-zéû]*) ([0-9]{4}) à (([0-9]{2}):([0-9]{2}))/);
 function moisFromMot(mot)
 {
  var d = new Array('janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre');
  for(var i=0; i<12; i++)
   if(mot == d[i]) return i;
 }
 var last = new Date(Number(resultat[3]), Number(moisFromMot(resultat[2])), Number(resultat[1]), Number(resultat[5]), Number(resultat[6]));
 var now = new Date();
 var diff = Math.round((now - last)/1000);
 var tit = document.getElementById('contentSub');
 if(diff <= lastContribNiveau3)
 {
  if(diff < -600) { tit.innerHTML = 'Erreur probable dans la concordance des horloges : heure serveur = ' + last + ' >> heure client = ' + now + ' - ' + tit.innerHTML; return; }
  if(diff < 0) diff = 0;
  var diffHeures = Math.floor(diff/3600);
  var diffMinutes = Math.floor((diff - diffHeures * 3600)/60);
  var diffSecondes = diff - diffHeures * 3600 - diffMinutes * 60;
  tit.innerHTML = '<span style="font-size:8pt;">' + resultat[4] + ' (<a href="http://fr.wikipedia.org/wiki/' + wgPageName + '?action=history"><span style="' + (diff <= lastContribNiveau2 ? 'color:red;' : 'color:black;') + (diff <= lastContribNiveau1 ? ' text-decoration:underline overline;">' : '">') + (diffHeures > 0 ? diffHeures + 'h' : '') + (diffMinutes > 0 ? diffMinutes + 'm' : '') + diffSecondes + 's</span></a>)</span> ' + tit.innerHTML;
 }
}
addOnloadHook(lastContrib);