MediaWiki:Gadget-LiveRC.js/Extensions/LinkOnLanglinkCountExtension.js

Dans cet article, nous explorerons le monde fascinant de MediaWiki:Gadget-LiveRC.js/Extensions/LinkOnLanglinkCountExtension.js, en analysant son impact sur différents aspects de la société. Depuis son origine jusqu'à sa pertinence aujourd'hui, MediaWiki:Gadget-LiveRC.js/Extensions/LinkOnLanglinkCountExtension.js a attiré l'attention des universitaires, des scientifiques et des passionnés. Nous découvrirons son évolution au fil du temps, ainsi que son influence sur la culture, la politique et l'économie. A travers une analyse détaillée, nous découvrirons les multiples facettes de MediaWiki:Gadget-LiveRC.js/Extensions/LinkOnLanglinkCountExtension.js et son importance dans le contexte contemporain. Cet article cherche à fournir une vue complète de MediaWiki:Gadget-LiveRC.js/Extensions/LinkOnLanglinkCountExtension.js, en abordant ses aspects les plus pertinents et en offrant une perspective multidisciplinaire qui permet au lecteur d'apprécier sa véritable portée.
/* 
 --------------------------------------------------------------------------------------
 ---------LLLL---------III--------------------------RRRRRRRRRR--------CCCCC------------
 ---------LLLL---------III--------------------------RRRRRRRRRRRR----CCCCCCCCC----------
 ---------LLLL--------------------------------------RRR------RRR---CCC-----CCC---------
 ---------LLLL---------III--VV-----VV--EEEEEEEEE----RRR------RRR--CCC------------------
 ---------LLLL---------III---VV---VV---EEE----------RRRRRRRRRRR---CCC------------------
 ---------LLLL---------III---VV---VV---EEEEEE-------RRRRRRRRRR----CCC------------------
 ---------LLLL---------III----VV-VV----EEEEEE-------RRR-----RRR----CCC-----CCC---------
 ---------LLLLLLLLLLL--III----VVVVV----EEE----------RRR------RRR----CCCCCCCCC----------
 ---------LLLLLLLLLLL--III-----VVV-----EEEEEEEEE----RRR-------RRR-----CCCCC------------
 --------------------------------------------------------------------------------------
 
'''Extension de LiveRC'''
 
Permet de mettre un lien sur le compte des liens interwiki.
 
* Licence : CC0
* Documentation :
* Auteur : ]
* Développement et maintenance :
 
 
{{Catégorisation JS|LiveRC}}
 
<source lang=javascript> */
if (typeof(LiveRC_AddHook)==="function") { // DÉBUT IF

LiveRC_Config.push("LinkOnLanglinkCountExtension");

/* ************************************************************************************************************************* */

window.LinkOnLanglinkCountExtension_Init = function(Args) {
  if(!lrcMakeParam("GetPageInfos")) return;
  if(!LiveRC_Config) return;
//  if(lrcHasState(state, "NOLANGLINK") || !rc.langlinks || rc.langlinks.length===0) return;
  var tr1 = document.getElementById(Args.id);
  if (!tr1) return;
  var rc = Args.rc;
  var title = rc.title;
  var URL = lrcGetAPIURL('format=xml&action=mobileview')
          + '&page='+encodeURIComponent(title)
          + '&prop=pageprops&pageprops=wikibase_item';
  wpajax.http({url: URL, 
               onSuccess: LinkOnLanglinkCountExtension_RequestDone,
               tr1id: Args.id
  });
}

window.LinkOnLanglinkCountExtension_RequestDone = function(Req, data){
  var XML = Req.responseXML;
  if(!XML) return;
  var pageprops = XML.getElementsByTagName('pageprops');
  if(!pageprops) return;
  var wikibase_item = pageprops.getAttribute('wikibase_item');
  if(!wikibase_item) return;
  LinkOnLanglinkCountExtension_Run(wikibase_item, data.tr1id);
}

window.LinkOnLanglinkCountExtension_Run = function(wikibase_item, tr1id){
  var tr1 = document.getElementById(tr1id);
  if (!tr1) return;
  var IWCountSpan = lrcGetElementsByClass("iwlinkscount",tr1,"span");
  if(!IWCountSpan) return;
  var Count = parseInt(IWCountSpan.innerHTML);
  if(typeof(Count)!="number") return;
  var Href = LiveRC_Config+ LiveRC_Config;
  Href = Href.split("$1").join(wikibase_item);
  var NewHTML = '<a href="'+Href+'" '
              + 'class="extiw" '
              + 'target="_blank" '
              + (lrcMakeParam("InterwikiPreviewEnabled") ? 'onClick="liveInterwiki('+lrcEscapeStr("d")+', '+lrcEscapeStr(wikibase_item)+'); return false;" ' : '')
              + 'title="'+wikibase_item+'"'                         
              + '>'+Count+'</a>';
  IWCountSpan.innerHTML = NewHTML;
}

LiveRC_AddHook("AfterRC", LinkOnLanglinkCountExtension_Init);

/* ************************************************************************************************************************* */
} // FIN IF
//</source>