MediaWiki:Gadget-LastContrib.js
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);