Utilisateur:Dr Brains/CatScan.js
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;
Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.mw.loader.using('mediawiki.util', function () {
var CatScan_Navigator = navigator.userAgent.toLowerCase();
var CatScan_ie = ((CatScan_Navigator.indexOf("msie") != -1) && (CatScan_Navigator.indexOf("opera") == -1));
if((mw.config.get('wgNamespaceNumber')==14)&&(!CatScan_ie)){
addOnloadHook(CatScan_GetLinks);
}
var CatScan_Domain = 'http://toolserver.org/~daniel/WikiSense/CategoryIntersect.php';
var CatScan_AllLink_Page = new Array();
var CatScan_AllLink_Title = new Array();
var CatScan_AllLink_Text = new Array();
var CatScan_AllLink_Lang = new Array();
var CatLinksAllLink_Count = -1;
function CatScan_GetLinks(){
CatLinksAllLink_Count++
CatScan_AllLink_Page[CatLinksAllLink_Count] = encodeURIComponent(mw.config.get('wgPageName').replace(/_/g, " ").split('Catégorie:').join(''));
CatScan_AllLink_Title[CatLinksAllLink_Count] = mw.config.get('wgPageName').replace(/_/g, " ").split('Catégorie:').join('') ;
CatScan_AllLink_Text[CatLinksAllLink_Count] = 'fr';
CatScan_AllLink_Lang[CatLinksAllLink_Count] = '?wikilang=fr&wikifam=.wikipedia.org';
var LienCommons = false;
var AllDivs = document.getElementsByTagName('div');
for(var a=0;a<AllDivs.length;a++){
if($(AllDivs[a]).hasClass("wikilien_alternatif")){
var AllLinks = AllDivs[a].getElementsByTagName("a");
for(var b=0;b<AllLinks.length;b++){
var LinkHref = AllLinks[b].href;
if(LinkHref.indexOf("http://commons.wikimedia.org/wiki/Category:")!=-1){
LienCommons = LinkHref.split('http://commons.wikimedia.org/wiki/Category:').join('');
LienCommons = LienCommons.split('?')[0];
}else{
continue;
}
}
}else{
continue;
}
}
if(LienCommons == false){
var AutresProjetsDiv = document.getElementById('autres_projets');
if(AutresProjetsDiv){
var AllLinks = AutresProjetsDiv.getElementsByTagName("a");
for(var b=0;b<AllDivs.length;a++){
var LinkHref = decodeURIComponent(AllDivs[b].href);
if(LinkHref.indexOf("http://commons.wikimedia.org/wiki/Category:")!=-1){
LienCommons = LinkHref.split('http://commons.wikimedia.org/wiki/Category:').join('');
LienCommons = LienCommons.split('=')[0];
}else{
continue;
}
}
}
}
if(LienCommons != false){
//alert(LienCommons);
CatLinksAllLink_Count++
CatScan_AllLink_Page[CatLinksAllLink_Count] = encodeURIComponent(LienCommons);
CatScan_AllLink_Title[CatLinksAllLink_Count] = LienCommons;
CatScan_AllLink_Text[CatLinksAllLink_Count] = 'Commons';
CatScan_AllLink_Lang[CatLinksAllLink_Count] = '?wikifam=commons.wikimedia.org';
}
var InterWikiDiv = document.getElementById('p-lang');
if(InterWikiDiv){
var InterWikiLi = InterWikiDiv.getElementsByTagName('li');
for(var c=0;c<InterWikiLi.length;c++){
var InterwikiLang = InterWikiLi[c].className.split('interwiki-').join('');
var InterwikiLiLien = decodeURIComponent(InterWikiLi[c].getElementsByTagName('a')[0].href);
InterwikiLiLien = InterwikiLiLien.replace(/.*:/g,"");
CatLinksAllLink_Count++
CatScan_AllLink_Page[CatLinksAllLink_Count] = encodeURIComponent(InterwikiLiLien);
CatScan_AllLink_Title[CatLinksAllLink_Count] = InterwikiLiLien;
CatScan_AllLink_Text[CatLinksAllLink_Count] = InterwikiLang;
CatScan_AllLink_Lang[CatLinksAllLink_Count] = '?wikilang='+InterwikiLang+'&wikifam=.wikipedia.org';
//alert(InterwikiLiLien + ' - ' + InterwikiLang);
}
}
CatScan_AddPortlet();
}
function CatScan_AddPortlet(){
var pCactions = document.getElementById('p-cactions');
if(!pCactions)return;
var tabs = pCactions.getElementsByTagName('ul')[0];
var newCatScan = addlimenu(tabs, 'CatScan', 'new-catscan', CatScan_Domain );
for(var d=0;d<CatScan_AllLink_Page.length;d++){
mw.util.addPortletLink('new-catscan', CatScan_Domain + CatScan_AllLink_Lang[d] + '&basecat=' + CatScan_AllLink_Page[d] + '&basedeep=10&mode=iul&go=Trouver&format=html&userlang=fr', CatScan_AllLink_Text[d] + ' - ' + CatScan_AllLink_Title[d]);
}
}
});