Utilisateur:Dr Brains/SiteUserInfoBiblio.js
Apparence
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.if(typeof(SiteUserInfoBiblio_Enabled)=="undefined"){ /////////////////////////////////////////////////////// TEST ANTI DOUBLE INCLUSION
var SiteUserInfoBiblio_Enabled = true;
SUIB_GetSiteInfos();
function SUIB_GetSiteInfos(){
var SiteInfoAddress = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&meta=siteinfo&siprop=general|namespaces|namespacealiases|specialpagealiases|magicwords|statistics|interwikimap|dbrepllag|usergroups|extensions|fileextensions|rightsinfo|languages';
var SiteInfoRequete = new XMLHttpRequest();
SiteInfoRequete.open("GET", AdresseOldid, true);
SiteInfoRequete.onreadystatechange = function() {
if( SiteInfoRequete.readyState != 4 ) return;
var ObjetXML = SiteInfoRequete.responseXML
SUIB_ExtractSiteInfos(ObjetXML);
return SiteInfoRequete.responseXML;
}
SiteInfoRequete.send(null);
}
function SUIB_ExtractSiteInfos(ObjetXML){
SUIB_ExtractGroupsAndValidRights(ObjetXML);
SUIB_ExtractValidInterwikis(ObjetXML);
SUIB_ExtractNamespaces(ObjetXML);
}
var SUIB_AviableGroups = new Array();
var SUIB_AviableRights = new Array();
var SUIB_RightsByGroup = new Array();
function SUIB_ExtractGroupsAndValidRights(ObjetXML){
var UserGroups = ObjetXML.getElementsByTagName('usergroups')[0];
var Group = UserGroups.getElementsByTagName('group');
for(var a=0;a<Group.length;a++){
var NewGroup = Group[a].getAttribute("name");
SUIB_AviableGroups.push(NewGroup);
SUIB_RightsByGroup[NewGroup] = new Array();
var Rights = Group[a].getElementsByTagName('permission')
for(var b=0;b<Rights.length;b++){
var ThisRight = Rights[b].firstChild.Nodevalue;
if(SUIB_AviableRights.indexOf(ThisRight)==-1) SUIB_AviableRights.push(ThisRight);
SUIB_RightsByGroup[NewGroup].push(ThisRight);
}
}
}
var SUIB_AviableGInterwikis = new Array();
var SUIB_AviableGInterwikisIndex = 0;
function SUIB_ExtractValidInterwikis(ObjetXML){
var Interwikimap = ObjetXML.getElementsByTagName('interwikimap')[0];
var IW = Interwikimap.getElementsByTagName('iw');
for(var c=0;c<IW.length;c++){
if(!!IW[a].getAttribute('local') continue;
SUIB_AviableGInterwikis[0]["prefix"] = IW[a].getAttribute('prefix')
SUIB_AviableGInterwikis[0]["language"] = IW[a].getAttribute('language')
SUIB_AviableGInterwikis[0]["url"] = IW[a].getAttribute('url')
}
}
var SUIB_AviableNamespaces = new Array();
function SUIB_ExtractNamespaces(ObjetXML){
if(typeof(mw.config.get('wgFormattedNamespaces'))!="undefined"){
SUIB_AviableNamespaces = mw.config.get('wgFormattedNamespaces');
}else{
var Namespaces = ObjetXML.getElementsByTagName('namespaces')[0];
var NS = Namespaces.getElementsByTagName('ns');
for(var d=0;d<NS.length;d++){
var NamespaceNumber = NS[d].getAttribute('id');
var NamespaceName = ( NS[d].firstChild ? NS[d].firstChild.nodeValue : "" );
SUIB_AviableNamespaces[NamespaceNumber] = NamespaceName
}
}
}
function SUIB_GroupHasRight(Group, Right){
return (SUIB_RightsByGroup[Group].indexOf(Right)!=-1);
}
function SUIB_GroupHasGroup(Group){
return (mw.config.get('wgUserGroups').indexOf(Group)!=-1);
}
function SUIB_UserHasRight(right){
var HasRight = false;
for(var a=0;a<mw.config.get('wgUserGroups');a++){
if(HasRight) continue;
HasRight = SUIB_GroupHasRight(Group, Right);
}
return Right;
}
} /////////////////////////////////////////////////////// FIN TEST ANTI DOUBLE INCLUSION