MediaWiki:Gadget-LastContrib.js

Un article de Wikipèdia, l'enciclopèdia liura.

Nòta : Aprèp aver publicat la pagina, vos cal forçar son recargament complet tot ignorant lo contengut actual de l'amagatal de vòstre navigador per veire los cambiaments : Mozilla / Firefox / Konqueror / Safari : mantenètz la tòca Majuscula (Shift) en clicant lo boton Actualizar (Reload,) o quichatz Maj-Ctrl-R (Maj-Cmd-R sus Apple Mac) ; Internet Explorer / Opera : mantenètz la tòca Ctrl en clicant lo boton Actualizar o quichatz Ctrl-F5.

/**
 * '''Darrièra contribucion'''
 *
 * Indica al cargament de la pagina se la pagina es estada editada dempuèi mens de xx temps
 * (servís a evitar los conflictes de modificacion eventuals)
 *
 * Autor : Seb35
 * Data de la darrièra revision : 24 de decembre de 2007
 * [[Categoria:MediaWiki:Foncion Monobook en JavaScript]]
 */

////////////////////// ZÒNA PERSONALIZABLA //////////////////////

// Los tempses son en segondas
var lastContribNivèl1 = 100;   // Nivèl d'alèrta fòrça elevat
var lastContribNivèl2 = 8*60;  // Nivèl d'alèrta fòrt
var lastContribNivèl3 = 40*60; // Nivèl d'alèrta mejan

///////////////// FIN DE LA ZÒNA PERSONALIZABLA /////////////////

function lastContrib()
{
 var texte = document.getElementById('lastmod');
 if(!texte) return;
 texte = texte.innerHTML.toString();
 var resultat = texte.match(/pagina lo ([0-9]{1,2}) ([a-zéû]*) ([0-9]{4}) a (([0-9]{2}):([0-9]{2}))/);
 function mesFromMot(mot)
 {
  var d = new Array('genièr', 'febrièr', 'març', 'abril', 'mai', 'junh', 'julhet', 'agost', 'setembre', 'octobre', 'novembre', 'decembre');
  for(var i=0; i<12; i++)
   if(mot == d[i]) return i;
 }
 var last = new Date(Number(resultat[3]), Number(mesFromMot(resultat[2])), Number(resultat[1]), Number(resultat[5]), Number(resultat[6]));
 var now = new Date();
 var dif = Math.round((now - last)/1000);
 var tit = document.getElementById('contentSub');
 if(dif <= lastContribNiveau3)
 {
  if(dif < -600) { tit.innerHTML = 'Error probabla dins la concordància dels relòtges : ora serveire = ' + last + ' >> ora client = ' + now + ' - ' + tit.innerHTML; return; }
  if(dif < 0) dif = 0;
  var difOras = Math.floor(dif/3600);
  var difMinutas = Math.floor((dif - difOras * 3600)/60);
  var difSegondas = dif - difOras * 3600 - difMinutas * 60;
  tit.innerHTML = '<span style="font-size:8pt;">' + resultat[4] + ' (<a href="//oc.wikipedia.org/wiki/' + mw.config.get('wgPageName') + '?action=history"><span style="' + (dif <= lastContribNivèl2 ? 'color:red;' : 'color:black;') + (dif <= lastContribNivèl1 ? ' text-decoration:underline overline;">' : '">') + (difOras > 0 ? difOras + 'h' : '') + (difMinutas > 0 ? difMinutas + 'm' : '') + difSegondas + 's</span></a>)</span> ' + tit.innerHTML;
 }
}
$(lastContrib);