MediaWiki:Gadget-LiensRouges.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.

/**
 * Ligams roges
 * 
 * Apond dos ligams cap a [http://www.google.com/search?num=100&q=page+site:oc.wikipedia.org Google] e las [[Special:Whatlinkshere/page|paginas ligadas]] als ligams roges per trobar rapidament un títol aprochant
 *   o verificar se lo títol es (fòrt) demandat.
 * Per defaut, l'escript s'executa automaticament pas qu'en previsualizacion dins l'espaci principal (articles enciclopedics)
 *   e un ligam dins la boita d'espleches permet de l'executar endacòm mai.
 * Las condicions de dobertura son personalizablas.
 * 
 * Exemple : [[page]]<sup class="exposant plainlinks">([http://www.google.com/search?num=100&q=page+site:oc.wikipedia.org gg]|[[Special:Whatlinkshere/page|pl]])</sup>
 * 
 * Autors : Seb35, Dake
 * 
 * Darrièra revision : 19 de mai de 2007
 * [[Categoria:MediaWiki:Fonction Monobook en JavaScript]]
 */

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

// L'escript es automaticament aviat se l'espaci de nom ''e'' l'accion son dins las variablas seguentas
var ligamsRogesNSDobrir = [0];
var ligamsRogesAccionDobrir = ['submit'];

// Los ligams puntant cap als espacis de nom seguents son pas jamai tractats
var ligamsRogesNSExcluts = new String('Discutir|Discussion .*');

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

if(!Array.indexOf) Array.prototype.indexOf = function(w) { for(var i=0; i<this.length; i++) if(this[i] == w) return i; return -1; }
function ligamsRoges(w)
{
 if(!w)
 {
  document.getElementById('p-tb').getElementsByTagName('ul')[0].innerHTML += '<li><a title="Afichar de ligams utils suls ligams roges" onclick="ligamsRoges(1);" style="cursor:pointer;">Ligams roges</a></li>';
  if(ligamsRogesNSDobrir.indexOf(mw.config.get('wgNamespaceNumber')) == -1 || ligamsRogesAccionDobrir.indexOf(mw.config.get('wgAction')) == -1) return;
 }
 var allLinks = document.getElementById('bodyContent').getElementsByTagName('a');
 var reg1 = new RegExp(' ','g');
 var reg2 = new RegExp('^('+ligamsRogesNSExcluts+'):','i');
 for(i=0; i<allLinks.length; i++)
 {
  if(allLinks[i].getAttribute('class') == 'new')
  {
   titre = allLinks[i].getAttribute('title');
   if(reg2.test(titre)) continue;
   var newElement = document.createElement('sup');
   newElement.className = 'exposant';
   newElement.innerHTML =
     '(<a href="http://www.google.com/search?num=100&q='+titre+'+site:oc.wikipedia.org" title="Recercar sus Google aqueste ligam roge">gg</a>'
   + '|<a href="/wiki/Special:Whatlinkshere/'+titre.replace(reg1,'_')+'" title="Paginas ligadas d\'aqueste ligam roge">pl</a>)';
   allLinks[i].parentNode.insertBefore(newElement, allLinks[i].nextSibling);
  }
 }
}
if(mw.config.get('wgNamespaceNumber') != -1) $(ligamsRoges);