MediaWiki:Gadget-LastContrib.js

Nota: Após salvar, você terá de limpar a cache do seu navegador para ver as alterações:
  • Internet Explorer: Mantenha pressionada a tecla Ctrl e aperte F5; ou mantenha pressionada a tecla Ctrl e clique no botão "Recarregar" (Reload)
  • Firefox e SeaMonkey: Mantenha pressionada a tecla Shift ⇧ e clique no botão "Recarregar" (Reload ou Atualizar) ou mantenha pressionada a tecla Ctrl e aperte F5; ou mantenha pressionada as teclas Ctrl, e R (Command ⌘, Shift ⌥ e R em Macintosh)
  • Safari e Konqueror: Clique no botão "Recarregar" (Reload)
  • Opera: É necessário limpar manualmente a cache no menu "Ferramentas"→"Preferências"→"Avançadas"→"Histórico" e clicar no botão "Esvaziar Já"
  • Chrome: É necessário limpar manualmente a cache no botão "Ferramentas"→"Limpar dados de navegação", selecione "Esvaziar o cache" e clicar no botão "Limpar dados de navegação"
/**
 * '''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 = 100;   // Niveau d'alerte très fort
var lastContribNiveau2 = 8*60;  // Niveau d'alerte fort
var lastContribNiveau3 = 40*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="//fr.wikipedia.org/wiki/' + mw.config.get('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;
 }
}
$(lastContrib);