Utilisateur:Dr Brains/LiveAbuseLog.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./************************************************************************
* Running page : [[Utilisateur:Dr Brains/LiveAbuseLog]] *
* Documentation : [[Utilisateur:Dr Brains/LiveAbuseLog/Documentation]] *
* {{Projet:JavaScript/Script}} *
************************************************************************/
// /////////////////////////////////////////////////////// VARIABLES
var LiveAbuseLog_ConfigText = new Array(); // Mises en page
var LiveAbuseLog_ConfigPage = new Array();
LiveAbuseLog_ConfigText.push(0);
LiveAbuseLog_ConfigPage.push('Utilisateur:Dr_Brains/LiveAbuseLog_0');
LiveAbuseLog_ConfigText.push(1);
LiveAbuseLog_ConfigPage.push('Utilisateur:Dr_Brains/LiveAbuseLog_1');
LiveAbuseLog_ConfigText.push(2);
LiveAbuseLog_ConfigPage.push('Utilisateur:Dr_Brains/LiveAbuseLog_2');
var LiveAbuseLog_DelayList = new Array() // Délais de rechargement, en secondes ; le dernier est actif par défaut
LiveAbuseLog_DelayList.push(10);
LiveAbuseLog_DelayList.push(15);
LiveAbuseLog_DelayList.push(20);
LiveAbuseLog_DelayList.push(25);
LiveAbuseLog_DelayList.push(30);
LiveAbuseLog_DelayList.push(45);
LiveAbuseLog_DelayList.push(60);
LiveAbuseLog_DelayList.push(90);
LiveAbuseLog_DelayList.push(120);
LiveAbuseLog_DelayList.push(180);
LiveAbuseLog_DelayList.push(240);
var LiveAbuseLog_LogLimit = new Array() // Nb max d'entrées du journal
LiveAbuseLog_LogLimit.push(10);
LiveAbuseLog_LogLimit.push(20);
LiveAbuseLog_LogLimit.push(50);
LiveAbuseLog_LogLimit.push(100);
LiveAbuseLog_LogLimit.push(200);
LiveAbuseLog_LogLimit.push(300);
LiveAbuseLog_LogLimit.push(400);
LiveAbuseLog_LogLimit.push(499);
if((mw.config.get('wgUserGroups').indexOf("sysop")!=-1)||(mw.config.get('wgUserGroups').indexOf("bot")!=-1)){
LiveAbuseLog_LogLimit.push(1000);
LiveAbuseLog_LogLimit.push(1500);
LiveAbuseLog_LogLimit.push(2000);
LiveAbuseLog_LogLimit.push(3000);
LiveAbuseLog_LogLimit.push(4000);
LiveAbuseLog_LogLimit.push(4999);
}
var LiveAbuseLog_NamespaceNumbers = new Array(); // Espaces de noms disponibles
LiveAbuseLog_NamespaceNumbers.push(0);
LiveAbuseLog_NamespaceNumbers.push(1);
LiveAbuseLog_NamespaceNumbers.push(2);
LiveAbuseLog_NamespaceNumbers.push(3);
LiveAbuseLog_NamespaceNumbers.push(4);
LiveAbuseLog_NamespaceNumbers.push(5);
LiveAbuseLog_NamespaceNumbers.push(6);
LiveAbuseLog_NamespaceNumbers.push(7);
LiveAbuseLog_NamespaceNumbers.push(8);
LiveAbuseLog_NamespaceNumbers.push(9);
LiveAbuseLog_NamespaceNumbers.push(10);
LiveAbuseLog_NamespaceNumbers.push(11);
LiveAbuseLog_NamespaceNumbers.push(12);
LiveAbuseLog_NamespaceNumbers.push(13);
LiveAbuseLog_NamespaceNumbers.push(14);
LiveAbuseLog_NamespaceNumbers.push(15);
LiveAbuseLog_NamespaceNumbers.push(100);
LiveAbuseLog_NamespaceNumbers.push(101);
LiveAbuseLog_NamespaceNumbers.push(102);
LiveAbuseLog_NamespaceNumbers.push(103);
LiveAbuseLog_NamespaceNumbers.push(104);
LiveAbuseLog_NamespaceNumbers.push(105);
// Historique des prévisualisations
var LiveAbuseLog_PreviewHistory_URL = new Array();
var LiveAbuseLog_PreviewHistory_Page = new Array();
var LiveAbuseLog_PreviewHistory_CurrentIndex = 0;
var LiveAbuseLog_PreviewHistory_LastIndex = -1;
// /////////////////////////////////////////////////////// LANCEMENT
if((mw.config.get('wgNamespaceNumber')==2)&&(mw.config.get('wgPageName').indexOf('/LiveAbuseLog')!=-1)&&(mw.config.get('wgPageName').indexOf('.')==-1)&&(mw.config.get('wgPageName').indexOf('/LiveAbuseLog/')==-1)&&(mw.config.get('wgAction')!="edit")&&(mw.config.get('wgAction')!="submit")){
importStylesheet('Utilisateur:Dr Brains/LiveAbuseLog.css');
addOnloadHook(LiveAbuseLog_Init);
}else{
addOnloadHook(LiveAbuseLog_Addlink);
}
// /////////////////////////////////////////////////////// TRADUCTION CARACTÈRES HTML
function LiveAbuseLog_Clean(text){
while(text.indexOf('&')!=-1){
text = text.split('&').join("&");
if(text.indexOf('&')==-1) break;
}
while(text.indexOf(''')!=-1){
text = text.split(''').join("'");
if(text.indexOf(''')==-1) break;
}
while(text.indexOf('"')!=-1){
text = text.split('"').join('"');
if(text.indexOf('"')==-1) break;
}
return text;
}
// /////////////////////////////////////////////////////// MISE A JOUR DU COOKIE
function LiveAbuseLog_setCookie (cookieName, cookieValue) {
var now = new Date();
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );
document.cookie = escape(cookieName) + '=' + escape(cookieValue) + '; EXPIRES=' + nextYear.toGMTString() + "; PATH=/" ;
}
// /////////////////////////////////////////////////////// INTERROGATION DU COOKIE
function LiveAbuseLog_getCookie(cookieName) {
var cookieValue = "null";
var posName = document.cookie.indexOf(escape(cookieName) + '=' );
if (posName != -1) {
var posValue = posName + (escape(cookieName) + '=' ).length;
var endPos = document.cookie.indexOf(';', posValue) ;
if (endPos != -1) {
cookieValue = unescape(document.cookie.substring(posValue, endPos));
} else {
cookieValue = unescape(document.cookie.substring(posValue));
}
}
return decodeURIComponent(cookieValue);
}
// /////////////////////////////////////////////////////// AJOUT LIEN BARRE DE GAUCHE
function LiveAbuseLog_Addlink(){
var InitialConfig = "0";
var CookieValue = LiveAbuseLog_getCookie("LiveAbuseLogConfig");
if((CookieValue!='')&&(CookieValue!="null")&&(CookieValue!="undefined")) InitialConfig = CookieValue;
var RCLi = document.getElementById("n-recentchanges");
if(RCLi){
var AbuseLogLi = document.createElement('li');
AbuseLogLi.id = "n-Liveabuselog";
AbuseLogLi.innerHTML = '<a href="'+mw.config.get('wgServer')+mw.config.get('wgArticlePath').split('$1').join('User:Dr_Brains/LiveAbuseLog_'+InitialConfig)+'" target="_blank" title="Journal des filtrages en temps réel">LiveAbuseLog</a>';
RCLi.parentNode.insertBefore(AbuseLogLi, RCLi.nextSibling);
}
}
// /////////////////////////////////////////////////////// INITIALISATION PAGE
var LiveAbuseLog_TopInfoDiv = '';
function LiveAbuseLog_Init(){
LiveAbuseLog_TopInfoDiv = document.getElementById("LiveAbuseLog_TopInfoDiv");
LiveAbuseLog_TopInfoDiv.innerHTML = "Initialisation";
var Titre = document.getElementsByTagName('h1')[0];
if(Titre){
Titre.innerHTML = '<a href="' + mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join('Main Page') + '" target="_blank" title="Retourner à la page d\'accueil">LiveAbuseLog</a>';
Titre.style.textAlign = "center";
}
var Sub = document.getElementById("contentSub");
if(Sub) Sub.parentNode.removeChild(Sub);
var MainDiv = document.getElementById("LiveAbuseLog_MainDiv");
MainDiv.style.display = "block";
var PreviewDivContent = document.getElementById("LiveAbuseLog_PreviewDivContent");
var PreviewDivOptions = document.getElementById("LiveAbuseLog_PreviewDivOptions");
PreviewDivContent.style.display = "none";
PreviewDivOptions.style.display = "none";
//if(mw.config.get('wgUserName')!="Dr Brains")
LiveAbuseLog_cleanPreviewContent();
LiveAbuseLog_GetFilters();
}
// /////////////////////////////////////////////////////// RECHERCHE DES FILTRES EXISTANTS
var LiveAbuseLog_FilterList = new Array();
var LiveAbuseLog_FilterIdList = new Array();
function LiveAbuseLog_GetFilters(){
LiveAbuseLog_TopInfoDiv.innerHTML = "Recherche des filtres existants : requête en cours";
var AdresseRequete = mw.config.get('wgServer') + '/w/api.php?action=query&list=abusefilters&abfshow=enabled&abflimit=499';
var NouvelleRequete = new XMLHttpRequest();
NouvelleRequete.open("GET", AdresseRequete, true);
NouvelleRequete.send(null);
NouvelleRequete.onreadystatechange = function() {
if(NouvelleRequete.readyState == 4 && NouvelleRequete.status == 200) {
//alert('Reçu');
var ElementTraitement = document.createElement('div');
ElementTraitement.innerHTML = NouvelleRequete.responseText;
var Informations = ElementTraitement.getElementsByTagName('span');
//alert('Traitement');
for(var a=0;a<Informations.length;a++){
var ContenuInformation = Informations[a].innerHTML;
if(ContenuInformation.indexOf('description=')!=-1){
var Id = parseInt(ContenuInformation.split('id="')[1].split('"')[0]);
var Description = ContenuInformation.split('description="')[1].split('"')[0];
LiveAbuseLog_FilterList[Id] = LiveAbuseLog_Clean(Description);
LiveAbuseLog_FilterIdList[Id] = Id;
}
}
LiveAbuseLog_TopInfoDiv.innerHTML = "Recherche des filtres existants : requête exécutée";
LiveAbuseLog_createOptions();
LiveAbuseLog_GetLogs('FORCE');
}
}
}
// /////////////////////////////////////////////////////// CRÉATION DE LA BARRE D'OPTIONS
function LiveAbuseLog_createOptions(){
LiveAbuseLog_TopInfoDiv.innerHTML = "Création des options";
var OptionsDiv = document.getElementById("LiveAbuseLog_OptionsDiv");
var MenuOptions='<table width="100%"><tr><td width="100px" valign="middle"><big><b>Options</b></big></td><td valign="middle">'
// --------------------------------------------------------------------------------- Configuration
LiveAbuseLog_TopInfoDiv.innerHTML = "Configuration";
MenuOptions += '<label for="Option_MiseEnPage">Mise en page : </label>'
+'<select id="Option_MiseEnPage" name="Option_MiseEnPage" onchange="LiveAbuseLog_GetPageConfig()" >'
for( var c=0;c<LiveAbuseLog_ConfigPage.length;c++){
var SelConfig = '';
if(mw.config.get('wgPageName') == LiveAbuseLog_ConfigPage[c]) var SelConfig = ' selected="selected" ';
MenuOptions += '<option '+SelConfig+' id="'+LiveAbuseLog_ConfigPage[c]+'" name="'+LiveAbuseLog_ConfigPage[c]+'" value="'+LiveAbuseLog_ConfigText[c]+'">'+LiveAbuseLog_ConfigText[c]+'</option>';
}
MenuOptions += '</select> ';
// --------------------------------------------------------------------------------- Délai de rechargement
LiveAbuseLog_TopInfoDiv.innerHTML = "Création des options : Délai";
var InitialDelay = (LiveAbuseLog_DelayList.length-1);
var CookieValueDelay = LiveAbuseLog_getCookie("LiveAbuseLogDelay");
if((CookieValueDelay!='')&&(CookieValueDelay!="null")&&(CookieValueDelay!="undefined")) InitialDelay = parseInt(CookieValueDelay);
MenuOptions += '<label for="Option_Delay">Délai de rechargement : </label>'
+'<select id="Option_Delay" name="Option_Delay" onchange="LiveAbuseLog_GetLogs()" >'
for(var d=0;d<LiveAbuseLog_DelayList.length;d++){
var SelDelay = '';
if(d==InitialDelay) var SelDelay = ' selected="selected" ';
MenuOptions += '<option '+SelDelay+' id="Delay'+LiveAbuseLog_DelayList[d]+'" name="Delay'+LiveAbuseLog_DelayList[d]+'" value="'+LiveAbuseLog_DelayList[d]+' secondes">'+LiveAbuseLog_DelayList[d]+' secondes</option>';
}
MenuOptions += '</select> ';
// --------------------------------------------------------------------------------- Limite d'entrées
LiveAbuseLog_TopInfoDiv.innerHTML = "Création des options : Limite";
var InitialLimit = 499;
var CookieValueLimit = LiveAbuseLog_getCookie("LiveAbuseLogLimit");
if((CookieValueLimit!='')&&(CookieValueLimit!="null")&&(CookieValueLimit!="undefined")) InitialLimit = parseInt(CookieValueLimit);
MenuOptions += '<label for="Option_Limit">Limite de la requête : </label>'
+'<select id="Option_Limit" name="Option_Limit" onchange="LiveAbuseLog_GetLogs()" >'
for(var l=0;l<LiveAbuseLog_LogLimit.length;l++){
var SelLimit = '';
if(LiveAbuseLog_LogLimit[l]==InitialLimit) SelLimit = ' selected="selected" ';
MenuOptions += '<option '+SelLimit+' id="Limit'+LiveAbuseLog_LogLimit[l]+'" name="Limit'+LiveAbuseLog_LogLimit[l]+'" value="'+LiveAbuseLog_LogLimit[l]+' entrées">'+LiveAbuseLog_LogLimit[l]+' entrées</option>';
}
MenuOptions += '</select> ';
// --------------------------------------------------------------------------------- Pause
LiveAbuseLog_TopInfoDiv.innerHTML = "Création des options : Pause";
MenuOptions += '<label for="Option_Pause">Pause : </label>'
+'<input type="checkbox" name="Option_Pause" id="Option_Pause" /> ';
// --------------------------------------------------------------------------------- Bouton rechargement
LiveAbuseLog_TopInfoDiv.innerHTML = "Création des options : Rechargement";
MenuOptions += '</td></tr><tr><td valign="middle" >';
MenuOptions += '<input type = "button" value="Recharger" onclick="LiveAbuseLog_GetLogs(\'FORCE\')" onselect="LiveAbuseLog_GetLogs(\'FORCE\')" />';
MenuOptions += '</td><td valign="middle">';
// --------------------------------------------------------------------------------- Espaces de noms
LiveAbuseLog_TopInfoDiv.innerHTML = "Création des options : Espaces de noms";
MenuOptions += '<label for="Option_Namespace">Espaces de noms : </label>'
+'<select id="Option_Namespace" name="Option_Namespace" onchange="LiveAbuseLog_GetLogs()" >'
+'<option selected="selected" id="NSAll" name="All" value="Tous">Tous</option>';
for(var n=0;n<LiveAbuseLog_NamespaceNumbers.length;n++){
var NSNb = LiveAbuseLog_NamespaceNumbers[n];
var NSName = mw.config.get('wgFormattedNamespaces')[parseInt(LiveAbuseLog_NamespaceNumbers[n])];
if(NSName=='') NSName = "Principal";
MenuOptions += '<option id="NS'+NSNb+'" name="NS'+NSNb+'" value="'+NSName+'">'+NSName+'</option>';
}
MenuOptions += '</select> ';
// ---------------------------------------------------------------------------------Filtres
LiveAbuseLog_TopInfoDiv.innerHTML = "Création des options : Filtres";
MenuOptions += '<label for="Option_Filtre">Filtres : </label>'
+'<select id="Option_Filtre" name="Option_Filtre" onchange="LiveAbuseLog_GetLogs()" >'
+'<option selected="selected" id="FiltreAll" name="All" value="Tous">Tous</option>';
for(var f=1;f<LiveAbuseLog_FilterList.length;f++){
var FilterNb = LiveAbuseLog_FilterIdList[f];
var FilterName = LiveAbuseLog_FilterList[parseInt(LiveAbuseLog_FilterIdList[f])];
if((FilterName)&&(FilterNb)){
MenuOptions += '<option id="Filtre'+FilterNb+'" name="Filtre'+FilterNb+'" value="'+FilterNb+' : '+FilterName+'">'+FilterNb+' : '+FilterName+'</option>';
}
}
MenuOptions += '</select> ';
// ---------------------------------------------------------------------------------
MenuOptions += '</tr></table>'
OptionsDiv.innerHTML = MenuOptions;
}
function LiveAbuseLog_GetPageConfig(){
var SelectConfig = document.getElementById('Option_MiseEnPage');
var OptionsConfig = SelectConfig.getElementsByTagName('option');
for(var o=0;o<OptionsConfig.length;o++){
if(OptionsConfig[o].selected){
LiveAbuseLog_setCookie("LiveAbuseLogConfig", OptionsConfig[o].value);
document.location = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(OptionsConfig[o].id);
}
}
}
// /////////////////////////////////////////////////////// RECHERCHE DU JOURNAL DES FILTRAGES
var LiveAbuseLog_Timout;
var LiveAbuseLog_Timout_Running = 0;
var LiveAbuseLog_GetLogs_Running = 0;
function LiveAbuseLog_GetLogs(ForceRefresh){
var Table = document.getElementById("LiveAbuseLog_Table");
var TableIntro = document.getElementById("LiveAbuseLog_TableIntro");
var TableInfoDiv = document.getElementById("LiveAbuseLog_TableInfoDiv");
var OptionPause = document.getElementById("Option_Pause");
var OptionNamespace = document.getElementById("Option_Namespace");
var OptionFiltre = document.getElementById("Option_Filtre");
var OptionDelay = document.getElementById("Option_Delay");
var OptionLimit = document.getElementById("Option_Limit");
if((!Table)||(!TableIntro)||(!OptionPause)||(!OptionNamespace)||(!OptionFiltre)||(!OptionDelay)||(!OptionLimit)||(!TableInfoDiv)){ alert('Manque un élément'); return; }
if(LiveAbuseLog_GetLogs_Running == 1) return;
clearTimeout(LiveAbuseLog_Timout);
if((OptionPause.checked)&&(!ForceRefresh)){
LiveAbuseLog_Timout = setTimeout('LiveAbuseLog_GetLogs()', 1000*5);
return;
}
var DelayOpt = OptionDelay.getElementsByTagName('option');
for(var a=0;a<DelayOpt.length;a++){
var ThisDelay = parseInt(DelayOpt[a].id.split('Delay').join(''));
if(DelayOpt[a].selected){
var LiveAbuseLog_VAR_TimeOut = ThisDelay;
LiveAbuseLog_setCookie("LiveAbuseLogDelay", ThisDelay);
}
}
LiveAbuseLog_TopInfoDiv.innerHTML = "Mise à jour du journal : requête en cours";
LiveAbuseLog_GetLogs_Running = 1;
var FiltreOpt = OptionFiltre.getElementsByTagName('option');
for(var a=0;a<FiltreOpt.length;a++){
if((FiltreOpt[a].selected)&&(FiltreOpt[a].id!="FiltreAll")){
var FiltreNb = '&aflfilter=' + FiltreOpt[a].id.split('Filtre').join('');
}else if((FiltreOpt[a].selected)&&(FiltreOpt[a].id=="FiltreAll")){
var FiltreNb = '';
}
}
var LimitOpt = OptionLimit.getElementsByTagName('option');
for(var a=0;a<LimitOpt.length;a++){
var ThisLimit = LimitOpt[a].id.split('Limit').join('')
if(LimitOpt[a].selected){
var LimitNb = ThisLimit;
LiveAbuseLog_setCookie("LiveAbuseLogLimit", ThisLimit);
}
}
// Requête
//alert('Envoyé');
var AdresseRequete = mw.config.get('wgServer') + '/w/api.php?action=query&list=abuselog&afllimit=' + LimitNb + FiltreNb;
var NouvelleRequete = new XMLHttpRequest();
NouvelleRequete.open("GET", AdresseRequete, true);
NouvelleRequete.send(null);
NouvelleRequete.onreadystatechange = function() {
if(NouvelleRequete.readyState == 4 && NouvelleRequete.status == 200) {
LiveAbuseLog_TopInfoDiv.innerHTML = "Mise à jour du journal : requête exécutée";
var ElementTraitement = document.createElement('div');
ElementTraitement.innerHTML = NouvelleRequete.responseText;
//document.body.insertBefore(ElementTraitement,document.body.firstChild);
var NewEntries = new Array();
var NewEntriesCount = -1;
var Informations = ElementTraitement.getElementsByTagName('span');
//alert('Traitement');
var NamespaceNb = "All";
var NamespaceOpt = OptionNamespace.getElementsByTagName('option');
for(var a=1;a<NamespaceOpt.length;a++){
if(NamespaceOpt[a].selected) NamespaceNb = parseInt(NamespaceOpt[a].id.split('NS').join(''));
}
for(var a=0;a<Informations.length;a++){
var ContenuInformation = Informations[a].innerHTML;
if(ContenuInformation.indexOf('user=')!=-1){
var ThisPageNS = parseInt(ContenuInformation.split('ns="')[1].split('"')[0]);
//alert('NamespaceNb : ' + NamespaceNb + ' - ThisPageNS : ' + ThisPageNS);
if((NamespaceNb==ThisPageNS)||(NamespaceNb=="All")){
NewEntriesCount++
NewEntries[NewEntriesCount] = new Array();
NewEntries[NewEntriesCount][0] = ContenuInformation.split('id="')[1].split('"')[0];
NewEntries[NewEntriesCount][1] = ContenuInformation.split('filter_id="')[1].split('"')[0];
NewEntries[NewEntriesCount][2] = ContenuInformation.split('user="')[1].split('"')[0];
NewEntries[NewEntriesCount][3] = ContenuInformation.split('ns="')[1].split('"')[0];
NewEntries[NewEntriesCount][4] = ContenuInformation.split('title="')[1].split('"')[0];
NewEntries[NewEntriesCount][5] = ContenuInformation.split('result="')[1].split('"')[0];
NewEntries[NewEntriesCount][6] = ContenuInformation.split('timestamp="')[1].split('"')[0];
}
}
}
//alert('Traité');
while(TableIntro.nextSibling.nextSibling){ TableIntro.parentNode.removeChild(TableIntro.nextSibling);}
for(var b=(NewEntries.length-1);b>-1;b--){
var EditId = NewEntries[b][0];
var FilterID = NewEntries[b][1];
var UserName = LiveAbuseLog_Clean(NewEntries[b][2]);
var EncodedUserName = encodeURIComponent(UserName).replace(/'/g,"ZAPOSTROPHE").replace(/&/g,"%26");
var NamespaceNb = NewEntries[b][3];
var PageName = LiveAbuseLog_Clean(NewEntries[b][4]);
var EncodedPageName = encodeURIComponent(PageName).replace(/'/g,"ZAPOSTROPHE").replace(/&/g,"%26");
var Result = NewEntries[b][5];
var TimeStamp = NewEntries[b][6].split('Z').join('').split('T').join(' ');
var TD_EditID = document.createElement('td');
TD_EditID.innerHTML = '<a href="javascript:LiveAbuseLog_Preview(\'' + mw.config.get('wgServer') + mw.config.get('wgScript') +'?title=Special:AbuseLog&details=' + EditId + '\');" title="Voir le détail de cette modification" >Détails</a> | <a href="javascript:LiveAbuseLog_Preview(\''+mw.config.get('wgServer')+'/wiki/Special:AbuseFilter/examine/log/' + EditId + '\',\'\', true);" title="Examiner cette modification" >Examiner</a>';
var TD_FilterID = document.createElement('td');
TD_FilterID.innerHTML = '<a class="FilterLink" href="javascript:LiveAbuseLog_Preview(\''+mw.config.get('wgServer')+'/wiki/Special:AbuseFilter/' + FilterID + '\',\'\', true);" title="Voir le filtre ' + FilterID + '" >Filtre ' + FilterID + '</a>' + ' : ' + LiveAbuseLog_FilterList[parseInt(FilterID)] + ' : ' + Result;
var TD_UserName = document.createElement('td');
TD_UserName.innerHTML = '<a class="UserLink" id="UserLink_'+b+'" href="javascript:LiveAbuseLog_Preview(\''+mw.config.get('wgServer')+mw.config.get('wgScript')+'?title=User:' + EncodedUserName + '&action=edit&redlink=1\',\'User:'+EncodedUserName+'\', true);" title="Voir la page de cet utilisateur" >' + UserName + '</a> (<a href="javascript:LiveAbuseLog_Preview(\''+mw.config.get('wgServer')+mw.config.get('wgScript')+'?title=User talk:' + EncodedUserName + '&action=edit&redlink=1\',\'User talk'+EncodedUserName+'\', true);" title="Discuter avec cet utilisateur" >D</a> | <a href="javascript:LiveAbuseLog_Preview(\''+mw.config.get('wgServer')+'/wiki/Special:Contributions/' + EncodedUserName + '\',\'' + EncodedUserName + '\', true);" title="Contributions de cet utilisateur" >C</a>)';
var TD_PageName = document.createElement('td');
TD_PageName.innerHTML = '<a class="PageLink" id="PageLink_'+b+'" href="javascript:LiveAbuseLog_Preview(\''+mw.config.get('wgServer')+mw.config.get('wgScript')+'?title=' + EncodedPageName + '&action=edit&redlink=1\',\''+EncodedPageName+'\', true);" title="Voir la page" >' + PageName + '</a> (<a href="javascript:LiveAbuseLog_Preview(\'' + mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + EncodedPageName + '&action=history\',\''+EncodedPageName+'\', true);" title="Voir l\'historique de cette page page" >H</a> | <a href="javascript:LiveAbuseLog_Preview(\'' + mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + 'Special:Log&page=' + EncodedPageName + '\',\''+EncodedPageName+'\', true);" title="Voir le journal de cette page" >J</a>)';
var TD_TimeStamp = document.createElement('td');
TD_TimeStamp.innerHTML = TimeStamp;
var NewLine = document.createElement('tr');
NewLine.appendChild(TD_TimeStamp);
NewLine.appendChild(TD_UserName);
NewLine.appendChild(TD_PageName);
NewLine.appendChild(TD_FilterID);
NewLine.appendChild(TD_EditID);
TableIntro.parentNode.insertBefore(NewLine,TableIntro.nextSibling);
}
var FirstLineTS = NewEntries[0][6];
var FirstLineYear = FirstLineTS.split('-')[0];
var FirstLineMonth = FirstLineTS.split('-')[1].split('-')[0];
var FirstLineDay = FirstLineTS.split('-')[2].split('T')[0];
var FirstLineTime = FirstLineTS.split('T')[1].split('Z')[0];
var LastLineTS = NewEntries[(NewEntries.length-1)][6];
var LastLineYear = LastLineTS.split('-')[0];
var LastLineMonth = LastLineTS.split('-')[1].split('-')[0];
var LastLineDay = LastLineTS.split('-')[2].split('T')[0];
var LastLineTime = LastLineTS.split('T')[1].split('Z')[0];
TableInfoDiv.innerHTML = 'Analyse du '
+LastLineDay+'-'+LastLineMonth+'-'+LastLineYear+' à '+LastLineTime
+' au '
+FirstLineDay+'-'+FirstLineMonth+'-'+FirstLineYear+' à '+FirstLineTime;
clearTimeout(LiveAbuseLog_Timout);
LiveAbuseLog_Timout = setTimeout('LiveAbuseLog_GetLogs()', 1000*LiveAbuseLog_VAR_TimeOut);
LiveAbuseLog_TopInfoDiv.innerHTML = "";
LiveAbuseLog_Update_TopUsers();
LiveAbuseLog_Update_TopPages();
LiveAbuseLog_Update_TopFilters();
LiveAbuseLog_GetBlockedUsers();
LiveAbuseLog_GetProtectedPages();
//LiveAbuseLog_GetLogBlockedUsers(0);
//LiveAbuseLog_GetLogProtectedPages(0)
LiveAbuseLog_GetLogs_Running = 0;
//alert('Fini');
}
}
}
// /////////////////////////////////////////////////////// CLASSEMENT UTILISATEURS FILTRÉS
function LiveAbuseLog_Update_TopUsers(){
LiveAbuseLog_TopInfoDiv.innerHTML += " Classement utilisateurs ";
var TopUsersDiv = document.getElementById("LiveAbuseLog_TopUsersDiv");
var Table = document.getElementById("LiveAbuseLog_Table");
if((!Table)||(!TopUsersDiv)) return;
var Links = Table.getElementsByTagName('a');
var UserLinks = new Array();
for(var a=0;a<Links.length;a++){
if($(Links[a]).hasClass("UserLink")){
var UserName = Links[a].innerHTML;
UserLinks.push(UserName);
}
}
UserLinks = UserLinks.sort();
var count = 1;
var SortedUsers = new Array();
for(var b=0;b<UserLinks.length;b++){
ThisUser = encodeURIComponent(UserLinks[b]).replace(/'/g,"ZAPOSTROPHE").replace(/&/g,"%26");
if(UserLinks[(b+1)]){
if(UserLinks[b] == UserLinks[(b+1)]){
count++
}else{
if(count<10){var Zerocount = '0';}else{ var Zerocount = ''; }
if(count<100) Zerocount += '0';
SortedUsers.push('<li><b>'+Zerocount+count+'</b> <a href="javascript:LiveAbuseLog_Preview(\''+mw.config.get('wgServer')+'/wiki/Special:Contributions/' + ThisUser + '\',\'User:'+ThisUser+'\', true);" title="Contributions de cet utilisateur" >'+UserLinks[b]+'</a> (<a href="javascript:LiveAbuseLog_Preview(\''+mw.config.get('wgServer')+mw.config.get('wgArticlePath').split('$1').join('Special:AbuseLog?title=Special:AbuseLog&wpSearchUser='+ThisUser)+'\',\'User:'+ThisUser+'\', true);" title="Journal des filtrages pour cet utilisateur" >J</a>)</li>');
count=1;
}
}else{
if(count<10){var Zerocount = '0';}else{ var Zerocount = ''; }
if(count<100) Zerocount += '0';
SortedUsers.push('<li><b>'+Zerocount+count+'</b> <a href="javascript:LiveAbuseLog_Preview(\''+mw.config.get('wgServer')+'/wiki/Special:Contributions/' + ThisUser + '\',\'User:'+ThisUser+'\', true);" title="Contributions de cet utilisateur" >'+UserLinks[b]+'</a> (<a href="javascript:LiveAbuseLog_Preview(\''+mw.config.get('wgServer')+mw.config.get('wgArticlePath').split('$1').join('Special:AbuseLog?title=Special:AbuseLog&wpSearchUser='+ThisUser)+'\',\'User:'+ThisUser+'\', true);" title="Journal des filtrages pour cet utilisateur" >J</a>)</li>');
}
}
SortedUsers = SortedUsers.sort();
var Text = '';
for(var c=(SortedUsers.length-1);0<=c;c--){
Text += SortedUsers[c];
}
NewUl = document.createElement('ul');
NewUl.innerHTML = Text;
//alert(Text);
while(TopUsersDiv.firstChild){TopUsersDiv.removeChild(TopUsersDiv.firstChild);}
TopUsersDiv.appendChild(NewUl);
}
// /////////////////////////////////////////////////////// RECHERCHE UTILISATEURS BLOQUÉS (CLASSEMENT)
function LiveAbuseLog_GetBlockedUsers(element){
LiveAbuseLog_TopInfoDiv.innerHTML = LiveAbuseLog_TopInfoDiv.innerHTML.split("Classement utilisateurs").join("Utilisateurs bloqués ?");
if(!element){
var TopUsersDiv = document.getElementById("LiveAbuseLog_TopUsersDiv");
if(!TopUsersDiv) return;
element = TopUsersDiv.getElementsByTagName('li')[0];
}
element.className = "LiveAbuseLog_Running";
var UserName = element.getElementsByTagName('a')[0].innerHTML.replace(/&/g, "%26").replace(/&/g, "%26");
var AdresseRequete = mw.config.get('wgServer') + '/w/api.php?action=query&list=blocks&bkusers=' + UserName;
var NouvelleRequete = new XMLHttpRequest();
NouvelleRequete.open("GET", AdresseRequete, true);
NouvelleRequete.send(null);
NouvelleRequete.onreadystatechange = function() {
if(NouvelleRequete.readyState == 4 && NouvelleRequete.status == 200) {
var ElementTraitement = document.createElement('div');
ElementTraitement.innerHTML = NouvelleRequete.responseText;
var Informations = ElementTraitement.getElementsByTagName('span');
var UserBlocked = false;
for(a=0;a<Informations.length;a++){
var ContenuInformation = Informations[a].innerHTML;
if(ContenuInformation.indexOf('user=')!=-1){
UserBlocked = true;
}
}
if(UserBlocked==true) element.innerHTML = '<s>' + element.innerHTML + '</s> Utilisateur bloqué';
var nextElement = element.nextSibling;
if(nextElement){
LiveAbuseLog_GetBlockedUsers(nextElement);
}else{
LiveAbuseLog_TopInfoDiv.innerHTML = LiveAbuseLog_TopInfoDiv.innerHTML.split("Utilisateurs bloqués ?").join("");
if(LiveAbuseLog_TopInfoDiv.innerHTML.indexOf('?')==-1) LiveAbuseLog_TopInfoDiv.innerHTML = "Rechargement terminé";
}
element.className = "LiveAbuseLog_Checked";
}
}
}
/* ***********************************************************************************************
// /////////////////////////////////////////////////////// RECHERCHE UTILISATEURS BLOQUÉS (JOURNAL)
function LiveAbuseLog_GetLogBlockedUsers(UserPosition){
if(!UserPosition) UserPosition = 0;
var element = document.getElementById("UserLink_"+UserPosition);
if(!element) return;
var UserTDNode = element.parentNode
UserTDNode.className = "LiveAbuseLog_Running";
var UserName = element.innerHTML.replace(/&/g, "%26").replace(/&/g, "%26");
var AdresseRequete = mw.config.get('wgServer') + '/w/api.php?action=query&list=blocks&bkusers=' + UserName;
//alert(AdresseRequete);
var NouvelleRequete = new XMLHttpRequest();
NouvelleRequete.open("GET", AdresseRequete, true);
NouvelleRequete.send(null);
NouvelleRequete.onreadystatechange = function() {
if(NouvelleRequete.readyState == 4 && NouvelleRequete.status == 200) {
//alert('Reçu');
var ElementTraitement = document.createElement('div');
ElementTraitement.innerHTML = NouvelleRequete.responseText;
var Informations = ElementTraitement.getElementsByTagName('span');
var UserBlocked = false;
for(a=0;a<Informations.length;a++){
var ContenuInformation = Informations[a].innerHTML;
if(ContenuInformation.indexOf('user=')!=-1){
UserBlocked = true;
}
}
if(UserBlocked==true) UserTDNode.innerHTML = '<s>' + UserTDNode.innerHTML + '</s> Utilisateur bloqué';
UserTDNode.className = "LiveAbuseLog_Checked";
LiveAbuseLog_GetLogBlockedUsers((UserPosition+1));
}
}
}
*********************************************************************************** */
// /////////////////////////////////////////////////////// CLASSEMENT PAGES FILTRÉES
function LiveAbuseLog_Update_TopPages(){
LiveAbuseLog_TopInfoDiv.innerHTML += " Classement pages ";
var TopPagesDiv = document.getElementById("LiveAbuseLog_TopPagesDiv");
var Table = document.getElementById("LiveAbuseLog_Table");
if((!Table)||(!TopPagesDiv)) return;
var Links = Table.getElementsByTagName('a');
var PageLinks = new Array();
for(var a=0;a<Links.length;a++){
if($(Links[a]).hasClass("PageLink")){
var UserName = Links[a].innerHTML;
PageLinks.push(UserName);
}
}
PageLinks = PageLinks.sort();
var count = 1;
var SortedPages = new Array();
for(var b=0;b<PageLinks.length;b++){
var ThisPage = encodeURIComponent(PageLinks[b]).replace(/'/g,"ZAPOSTROPHE").replace(/&/g,"%26");
if(PageLinks[(b+1)]){
if(PageLinks[b] == PageLinks[(b+1)]){
count++
}else{
if(count<10){var Zerocount = '0';}else{ var Zerocount = ''; }
if(count<100) Zerocount += '0';
SortedPages.push('<li><b>'+Zerocount+count+'</b> <a href="javascript:LiveAbuseLog_Preview(\'' + mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + ThisPage + '&action=history\',\''+ThisPage+'\', true);" title="Voir l\'historique de cette page" >'+PageLinks[b]+'</a> (<a href="javascript:LiveAbuseLog_Preview(\''+mw.config.get('wgServer')+mw.config.get('wgArticlePath').split('$1').join('Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle='+ThisPage)+'\',\'\', true);" title="Journal des filtrages pour cette page" >J</a>)</li>');
count=1;
}
}else{
if(count<10){var Zerocount = '0';}else{ var Zerocount = ''; }
if(count<100) Zerocount += '0';
SortedPages.push('<li><b>'+Zerocount+count+'</b> <a href="javascript:LiveAbuseLog_Preview(\'' + mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + ThisPage + '&action=history\',\''+ThisPage+'\', true);" title="Voir l\'historique de cette page page" >'+PageLinks[b]+'</a> (<a href="javascript:LiveAbuseLog_Preview(\''+mw.config.get('wgServer')+mw.config.get('wgArticlePath').split('$1').join('Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle='+ThisPage)+'\',\'\', true);" title="Journal des filtrages pour cette page" >J</a>)</li>');
}
}
SortedPages = SortedPages.sort();
var Text = '';
for(var c=(SortedPages.length-1);0<=c;c--){
Text += SortedPages[c];
}
NewUl = document.createElement('ul');
NewUl.innerHTML = Text;
//alert(Text);
while(TopPagesDiv.firstChild){TopPagesDiv.removeChild(TopPagesDiv.firstChild);}
TopPagesDiv.appendChild(NewUl);
}
// /////////////////////////////////////////////////////// RECHERCHE DES PAGES PROTÉGÉES (CLASSEMENT)
function LiveAbuseLog_GetProtectedPages(element){
LiveAbuseLog_TopInfoDiv.innerHTML = LiveAbuseLog_TopInfoDiv.innerHTML.split("Classement pages").join("Pages protégées ou supprimées ?");
if(!element){
var TopPagesDiv = document.getElementById("LiveAbuseLog_TopPagesDiv");
if(!TopPagesDiv) return;
element = TopPagesDiv.getElementsByTagName('li')[0];
}
element.className = "LiveAbuseLog_Running";
var PageName = element.getElementsByTagName('a')[0].innerHTML.replace(/&/g, "%26").replace(/&/g, "%26");
var AdresseRequete = mw.config.get('wgServer') + '/w/api.php?action=query&prop=info&inprop=protection&titles=' + PageName;
var NouvelleRequete = new XMLHttpRequest();
NouvelleRequete.open("GET", AdresseRequete, true);
NouvelleRequete.send(null);
NouvelleRequete.onreadystatechange = function() {
if(NouvelleRequete.readyState == 4 && NouvelleRequete.status == 200) {
var ElementTraitement = document.createElement('div');
ElementTraitement.innerHTML = NouvelleRequete.responseText;
var Informations = ElementTraitement.getElementsByTagName('span');
var PageProtected = false;
var ProtectionType = '';
for(a=0;a<Informations.length;a++){
var ContenuInformation = Informations[a].innerHTML;
if(ContenuInformation.indexOf('missing=')!=-1){
element.getElementsByTagName('a')[0].className = "new";
}
if(ContenuInformation.indexOf('redirect=')!=-1){
element.getElementsByTagName('a')[0].className = "mw-redirect";
}
if(ContenuInformation.indexOf('type=')!=-1){
PageProtected = true;
ProtectionType += '<br/>' + ContenuInformation.split('type="')[1].split('"')[0] + '-' + ContenuInformation.split('level="')[1].split('"')[0] + '-' + ContenuInformation.split('expiry="')[1].split('"')[0];
}
}
if(PageProtected==true) element.innerHTML = '<s>' + element.innerHTML + '</s> Page protégée : ' + ProtectionType;
var nextElement = element.nextSibling;
if(nextElement){
LiveAbuseLog_GetProtectedPages(nextElement);
}else{
LiveAbuseLog_TopInfoDiv.innerHTML = LiveAbuseLog_TopInfoDiv.innerHTML.split("Pages protégées ou supprimées ?").join("");
if(LiveAbuseLog_TopInfoDiv.innerHTML.indexOf('?')==-1) LiveAbuseLog_TopInfoDiv.innerHTML = "Rechargement terminé";
}
element.className = "LiveAbuseLog_Checked";
}
}
}
/* ******************************************************************************************
// /////////////////////////////////////////////////////// RECHERCHE PAGES PROTÉGÉES (JOURNAL)
function LiveAbuseLog_GetLogProtectedPages(PagePosition){
if(!PagePosition) PagePosition = 0;
var element = document.getElementById("PageLink_"+PagePosition);
if(!element) return;
var PageTDNode = element.parentNode;
PageTDNode.className = "LiveAbuseLog_Running";
var PageName = element.innerHTML.replace(/&/g, "%26").replace(/&/g, "%26");
var AdresseRequete = mw.config.get('wgServer') + '/w/api.php?action=query&prop=info&inprop=protection&titles=' + PageName;
var NouvelleRequete = new XMLHttpRequest();
NouvelleRequete.open("GET", AdresseRequete, true);
NouvelleRequete.send(null);
NouvelleRequete.onreadystatechange = function() {
if(NouvelleRequete.readyState == 4 && NouvelleRequete.status == 200) {
var ElementTraitement = document.createElement('div');
ElementTraitement.innerHTML = NouvelleRequete.responseText;
var Informations = ElementTraitement.getElementsByTagName('span');
var PageProtected = false;
var ProtectionType = '';
for(a=0;a<Informations.length;a++){
var ContenuInformation = Informations[a].innerHTML;
if(ContenuInformation.indexOf('missing=')!=-1){
element.getElementsByTagName('a')[0].className = "new";
}
if(ContenuInformation.indexOf('redirect=')!=-1){
element.getElementsByTagName('a')[0].className = "mw-redirect";
}
if(ContenuInformation.indexOf('type=')!=-1){
PageProtected = true;
ProtectionType += '<br/>' + ContenuInformation.split('type="')[1].split('"')[0] + '-' + ContenuInformation.split('level="')[1].split('"')[0] + '-' + ContenuInformation.split('expiry="')[1].split('"')[0];
}
}
if(PageProtected==true) PageTDNode.innerHTML = '<s>' + PageTDNode.innerHTML + '</s> Page protégée : ' + ProtectionType;
PageTDNode.className = "LiveAbuseLog_Checked";
LiveAbuseLog_GetLogProtectedPages((PagePosition+1));
}
}
}
************************************************************************************** */
// /////////////////////////////////////////////////////// CLASSEMENT FILTRES DÉCLENCHÉS
function LiveAbuseLog_Update_TopFilters(){
var TopFiltersDiv = document.getElementById("LiveAbuseLog_TopFiltersDiv");
var Table = document.getElementById("LiveAbuseLog_Table");
if((!Table)||(!TopFiltersDiv)) return;
var Links = Table.getElementsByTagName('a');
var FiltersLinks = new Array();
for(var a=0;a<Links.length;a++){
if($(Links[a]).hasClass("FilterLink")){
var UserName = Links[a].innerHTML.replace(/Filtre /,"");
FiltersLinks.push(UserName);
}
}
FiltersLinks = FiltersLinks.sort();
var count = 1;
var SortedFilters = new Array();
for(var b=0;b<FiltersLinks.length;b++){
if(FiltersLinks[(b+1)]){
if(FiltersLinks[b] == FiltersLinks[(b+1)]){
count++
}else{
if(count<10){var Zerocount = '0';}else{ var Zerocount = ''; }
if(count<100) Zerocount += '0';
if(count<1000) Zerocount += '0';
SortedFilters.push('<li><b>'+Zerocount+count+'</b> <a href="javascript:LiveAbuseLog_Preview(\''+mw.config.get('wgServer')+'/wiki/Special:AbuseFilter/' + FiltersLinks[b] + '\',\'\', true);" title="Voir le filtre ' + FiltersLinks[b] + '" >Filtre ' + FiltersLinks[b] + '</a> (<a href="javascript:LiveAbuseLog_Preview(\''+mw.config.get('wgServer')+mw.config.get('wgArticlePath').split('$1').join('Special:AbuseLog?title=Special:AbuseLog&wpSearchFilter='+FiltersLinks[b])+'\',\'\', true);" title="Journal de ce filtre" >J</a>) : ' + LiveAbuseLog_FilterList[parseInt(FiltersLinks[b])] + '</li>');
count=1;
}
}else{
if(count<10){var Zerocount = '0';}else{ var Zerocount = ''; }
if(count<100) Zerocount += '0';
if(count<1000) Zerocount += '0';
SortedFilters.push('<li><b>'+Zerocount+count+'</b> <a href="javascript:LiveAbuseLog_Preview(\''+mw.config.get('wgServer')+'/wiki/Special:AbuseFilter/' + FiltersLinks[b] + '\',\'\', true);" title="Voir le filtre ' + FiltersLinks[b] + '" >Filtre ' + FiltersLinks[b] + '</a> (<a href="javascript:LiveAbuseLog_Preview(\''+mw.config.get('wgServer')+mw.config.get('wgArticlePath').split('$1').join('Special:AbuseLog?title=Special:AbuseLog&wpSearchFilter='+FiltersLinks[b])+'\',\'\', true);" title="Journal de ce filtre" >J</a>) : ' + LiveAbuseLog_FilterList[parseInt(FiltersLinks[b])] + '</li>');
}
}
SortedFilters = SortedFilters.sort();
var Text = '';
for(var c=(SortedFilters.length-1);0<=c;c--){
Text += SortedFilters[c];
}
NewUl = document.createElement('ul');
NewUl.innerHTML = Text;
//alert(Text);
while(TopFiltersDiv.firstChild){TopFiltersDiv.removeChild(TopFiltersDiv.firstChild);}
TopFiltersDiv.appendChild(NewUl);
}
// /////////////////////////////////////////////////////// LANCEMENT PRÉVISUALISATION
function LiveAbuseLog_Preview(URL, Page, AddToHistory){
if(Page){
if((Page!='')&&(decodeURIComponent(Page).indexOf('Spécial:')==-1)&&(decodeURIComponent(Page).indexOf('Special:')==-1)&&(decodeURIComponent(Page).indexOf('Journal des déclenchements de filtre')==-1)){
var ThisPage = Page;
}
}
if(AddToHistory){
LiveAbuseLog_PreviewHistory_LastIndex++
LiveAbuseLog_PreviewHistory_CurrentIndex = LiveAbuseLog_PreviewHistory_LastIndex;
LiveAbuseLog_PreviewHistory_URL.push(URL);
LiveAbuseLog_PreviewHistory_Page.push((ThisPage ? ThisPage : "" ));
}
var AdresseRequete = decodeURIComponent(URL).replace(/ZAPOSTROPHE/g,"'").replace(/&/g, "%26");
//alert(AdresseRequete);
var PreviewDivContent = document.getElementById("LiveAbuseLog_PreviewDivContent");
var PreviewDivOptions = document.getElementById("LiveAbuseLog_PreviewDivOptions");
if((!PreviewDivContent)||(!PreviewDivOptions)) return;
while(PreviewDivOptions.firstChild){ PreviewDivOptions.removeChild(PreviewDivOptions.firstChild);}
PreviewDivOptions.innerHTML = '<img src="//upload.wikimedia.org/wikipedia/commons/8/88/Throbber_allbackgrounds_twelvebar.gif" height="18" width="18" /> <b>Prévisualisation en cours : </b><a href="'+AdresseRequete+'">'+AdresseRequete+'</a>';
PreviewDivOptions.style.display = "block";
PreviewDivContent.style.display = "none";
var NouvelleRequete = new XMLHttpRequest();
NouvelleRequete.open("GET", AdresseRequete, true);
NouvelleRequete.send(null);
NouvelleRequete.onreadystatechange = function() {
if(NouvelleRequete.readyState == 4 && NouvelleRequete.status == 200) {
while(PreviewDivContent.firstChild){ PreviewDivContent.removeChild(PreviewDivContent.firstChild);}
PreviewDivContent.innerHTML = NouvelleRequete.responseText;
LiveAbuseLog_cleanPreviewContent(PreviewDivContent);
var PreviewDivOptionsContent = '<h3>'
+'<a href="'+AdresseRequete+'" target="_blank" title="Voir la page">Lien Direct</a>'
+' - '
+'<a href="javascript:LiveAbuseLog_CancelPreview();" title="fermer la fenêtre de prévisualisation" >Fermer</a>'
+' - <small>('
+'<a href="javascript:LiveAbuseLog_PreviewHistory(-1);" title="Page précédente" >page précédente</a>'
if(LiveAbuseLog_PreviewHistory_CurrentIndex!=LiveAbuseLog_PreviewHistory_LastIndex){
PreviewDivOptionsContent += '|'
+'<a href="javascript:LiveAbuseLog_PreviewHistory(1);" title="Page suivante" >page suivante</a>'
+'|<a href="javascript:LiveAbuseLog_PreviewHistory(0);" title="Revenir à la dernière page visitée" >Dernière page visitée</a>'
}
PreviewDivOptionsContent += ')</small>'
+'</h3>';
if(ThisPage){
var DecodedThisPage = decodeURIComponent(ThisPage)
if((DecodedThisPage.indexOf(mw.config.get('wgFormattedNamespaces')[2]+':')!=-1)||(DecodedThisPage.indexOf(mw.config.get('wgFormattedNamespaces')[3]+':')!=-1)||(DecodedThisPage.indexOf('User:')!=-1)||(DecodedThisPage.indexOf('User talk:')!=-1)){
var UserName = DecodedThisPage.split(':')[1];
UserName = UserName.split('/')[0];
UserName = encodeURIComponent(UserName);
}
PreviewDivOptionsContent += '<h5>'
+'<a href="javascript:LiveAbuseLog_Preview(\''
+mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' +ThisPage+'&action=edit&redlink=1\',\''+ThisPage+'\', true);"'
+' >Page</a>'
+' - '
+'<a href="javascript:LiveAbuseLog_Preview(\''
+mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' +ThisPage+'&action=edit\',\''+ThisPage+'\', true);"'
+' >Modifier</a>'
+' - '
+'<a href="javascript:LiveAbuseLog_Preview(\''
+mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' +ThisPage+'&action=history\',\''+ThisPage+'\', true);"'
+' >Historique</a>'
+' - '
+'<a href="javascript:LiveAbuseLog_Preview(\''
+mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' +ThisPage+'&action=unwatch\',\''+ThisPage+'\', true);"'
+' >Ne plus</a> '
+'<a href="javascript:LiveAbuseLog_Preview(\''
+mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' +ThisPage+'&action=watch\',\''+ThisPage+'\', true);"'
+' >Suivre</a>'
+' - ';
if(UserName){
PreviewDivOptionsContent += '<a href="javascript:LiveAbuseLog_Preview(\''
+mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=Special:Contributions/' +UserName+'\',\'User:'+UserName+'\', true);"'
+' >Contributions</a>'
+' - ';
if(mw.config.get('wgUserGroups').indexOf("sysop")!=-1){
PreviewDivOptionsContent += '<a href="javascript:LiveAbuseLog_Preview(\''
+mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=Special:DeletedContributions&target=' +UserName+'\',\'User:'+UserName+'\', true);"'
+' >Contributions supprimées</a>'
+' - ';
}
}
if(mw.config.get('wgUserGroups').indexOf("autoconfirmed")!=-1){
PreviewDivOptionsContent += '<a href="javascript:LiveAbuseLog_Preview(\''
+mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=Special:Movepage/' +ThisPage+'\',\''+ThisPage+'\', true);"'
+' >Renommer</a>'
+' - ';
}
if(mw.config.get('wgUserGroups').indexOf("sysop")!=-1){
PreviewDivOptionsContent += '<a href="javascript:LiveAbuseLog_Preview(\''
+mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' +ThisPage+'&action=protect\',\''+ThisPage+'\', true);"'
+' >Protéger</a>'
+' - ';
PreviewDivOptionsContent += '<a href="javascript:LiveAbuseLog_Preview(\''
+mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' +ThisPage+'&action=delete\',\''+ThisPage+'\', true);"'
+' >Supprimer</a>'
+' - ';
if(UserName){
PreviewDivOptionsContent += '<a href="javascript:LiveAbuseLog_Preview(\''
+mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=Special:Blockip/' +UserName+'\',\'User:'+UserName+'\', true);"'
+' >Bloquer</a>'
+' - ';
}
}
PreviewDivOptionsContent += '</h5>';
}
PreviewDivOptions.innerHTML = PreviewDivOptionsContent;
PreviewDivContent.style.display = "block";
LiveAbuseLog_ModifyPreviewContentLinks(PreviewDivContent);
}
}
}
// /////////////////////////////////////////////////////// FERMETURE PRÉVISUALISATION
function LiveAbuseLog_CancelPreview(){
var PreviewDivContent = document.getElementById("LiveAbuseLog_PreviewDivContent");
var PreviewDivOptions = document.getElementById("LiveAbuseLog_PreviewDivOptions");
if((!PreviewDivContent)||(!PreviewDivOptions)) return;
while(PreviewDivContent.firstChild){ PreviewDivContent.removeChild(PreviewDivContent.firstChild);}
while(PreviewDivOptions.firstChild){ PreviewDivOptions.removeChild(PreviewDivOptions.firstChild);}
PreviewDivContent.style.display = "none";
PreviewDivOptions.style.display = "none";
}
// /////////////////////////////////////////////////////// MODIFICATIONS LIENS PRÉVISUALISATION
function LiveAbuseLog_ModifyPreviewContentLinks(element){
if(!element) element = document;
var AllLinks = element.getElementsByTagName('a');
for(var d=0;d<AllLinks.length;d++){
Href = decodeURIComponent(AllLinks[d].href);
Title = AllLinks[d].title;
if(!Title) Title = '';
Title= Title.replace(/ \(page inexistante\)/g,"");
HTML = AllLinks[d].innerHTML;
if((Href.indexOf('javascript:')==-1)&&(Href.indexOf('#')==-1)){
if(Href.indexOf(mw.config.get('wgServer'))==-1) Href = mw.config.get('wgServer')+Href;
Href = Href.replace(/'/g,"ZAPOSTROPHE").replace(/%3A/g, ":").replace(/%2F/g, "/").replace(/_/g, " ");
AllLinks[d].title = Title + " (prévisualisation)";
AllLinks[d].href = "javascript:LiveAbuseLog_Preview(\'" + Href + "\',\'"+ Title.replace(/'/g,"ZAPOSTROPHE") +"\', true);";
}
}
}
// /////////////////////////////////////////////////////// MODIFICATIONS CONTENU PRÉVISUALISATION
var LiveAbuseLog_indexSummary = 0;
var LiveAbuseLog_indexNavigationBars = 10000;
var LiveAbuseLog_indexCollapsibleTables = 10000;
var LiveAbuseLog_Enrouler = '[enrouler]';
var LiveAbuseLog_Derouler = '[dérouler]';
var LiveAbuseLog_EnroulerBis = '[-]';
var LiveAbuseLog_DeroulerBis = '[+]';
function LiveAbuseLog_cleanPreviewContent(element){
if(!element) element = document;
var newContentWrapper = element.getElementsByTagName("div");
var div=0;
while(div<newContentWrapper.length){
if(
($(newContentWrapper[div]).hasClass("portlet"))
||
($(newContentWrapper[div]).hasClass("printfooter"))
){
newContentWrapper[div].style.display="none";
}
if (
($(newContentWrapper[div]).hasClass("NavFrame")) // ************************************* Boîtes déroulantes
){
LiveAbuseLog_indexCollapsibleTables++;
NavHead = newContentWrapper[div].firstChild;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.id = 'NavToggle' + LiveAbuseLog_indexCollapsibleTables;
NavToggle.href = 'javascript:LiveAbuseLog_toggleCollapsibleTables(' + LiveAbuseLog_indexCollapsibleTables + ');';
NavToggle.innerHTML = LiveAbuseLog_Enrouler;
newContentWrapper[div].insertBefore( NavToggle, NavHead );
var Content = newContentWrapper[div].getElementsByTagName("div");
for( var c=0;c<Content.length; c++ ) {
if ($(Content[c]).hasClass("NavContent")) {
Content[c].id = 'NavContent' + LiveAbuseLog_indexCollapsibleTables;
}
}
LiveAbuseLog_toggleCollapsibleTables(LiveAbuseLog_indexCollapsibleTables);
}
Div_Id = newContentWrapper[div].id;
if(Div_Id){
if(
(Div_Id=="toctitle") // ************************************* Sommaire
){
LiveAbuseLog_indexSummary = (LiveAbuseLog_indexSummary+1);
newContentWrapper[div].id = 'toctitle_'+LiveAbuseLog_indexSummary;
var TitreSommaire = newContentWrapper[div].getElementsByTagName('h2')[0];
TitreSommaire.innerHTML = TitreSommaire.innerHTML + ' <a href="javascript:LiveAbuseLog_afficherSommaire(\'toc_'+LiveAbuseLog_indexSummary
+'\',\'toctitle_'+LiveAbuseLog_indexSummary
+'\', \''+TitreSommaire.innerHTML
+'\');" >'+LiveAbuseLog_DeroulerBis+'</a>';
var Conteneur = newContentWrapper[div].parentNode;
var Sommaire = Conteneur.getElementsByTagName('ul')[0];
Sommaire.id = 'toc_'+LiveAbuseLog_indexSummary;
Sommaire.style.display="none";
}
if(
(Div_Id=="globalWrapper")
||
(Div_Id=="column-content")
||
(Div_Id=="content")
||
(Div_Id=="bodyContent")
||
(Div_Id=="article")
||
(Div_Id=="mw_main")
||
(Div_Id=="mw_contentwrapper")
||
(Div_Id=="mmw_content")
||
(Div_Id=="mmw_contentholder")
){
newContentWrapper[div].id = newContentWrapper[div].id + '_Preview';
}
if(
(Div_Id=="siteNotice")
||
(Div_Id=="p-personal")
||
(Div_Id=="topbar")
||
(Div_Id=="quickbar")
||
(Div_Id=="column-one")
||
(Div_Id=="mw_portlets")
||
(Div_Id=="page-base")
||
(Div_Id=="head-base")
||
(Div_Id=="head")
||
(Div_Id=="panel")
||
(Div_Id=="footer")
||
(Div_Id=="contentSub")
||
(Div_Id=="previewnote")
){
newContentWrapper[div].style.display= "none !important";
}
}
div++
}
var Tables = element.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if( $(Tables[i]).hasClass("collapsible") ){ // ************************************* Palettes de navigation
NavigationBar = Tables[i];
NavigationBar.id = "collapsibleTable" + LiveAbuseLog_indexNavigationBars ;
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( LiveAbuseLog_Enrouler );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.id = "collapseButton" + LiveAbuseLog_indexNavigationBars ;
ButtonLink.href = "javascript:LiveAbuseLog_collapseNavigationBar(" + LiveAbuseLog_indexNavigationBars + ");" ;
ButtonLink.appendChild( ButtonText );
Button.appendChild( ButtonLink );
var Header = NavigationBar.getElementsByTagName( "tr" )[0].getElementsByTagName( "th" )[0];
if (Header) {
Header.insertBefore( Button, Header.firstChild );
}
if ( $( NavigationBar ).hasClass( "collapsed" ) ) LiveAbuseLog_collapseNavigationBar( LiveAbuseLog_indexNavigationBars );
LiveAbuseLog_indexNavigationBars++;
}
}
}
// /////////////////////////////////////////////////////// FONCTIONS SUBALTERNES A LA GESTION DU CONTENU DE LA PRÉVISUALISATION
// -------------------------------------------- Sommaire
function LiveAbuseLog_afficherSommaire(IDSommaire, IdTitre, TitreInitial){
var Sommaire = document.getElementById(IDSommaire);
Sommaire.style.display="block";
var Titre = document.getElementById(IdTitre).getElementsByTagName('h2')[0];
Titre.innerHTML = TitreInitial + ' <a href="javascript:LiveAbuseLog_masquerSommaire(\''+IDSommaire+'\',\''+IdTitre+'\', \''+TitreInitial+'\');" >'+LiveAbuseLog_EnroulerBis+'</a>';
}
function LiveAbuseLog_masquerSommaire(IDSommaire, IdTitre, TitreInitial){
var Sommaire = document.getElementById(IDSommaire);
Sommaire.style.display="none";
var Titre = document.getElementById(IdTitre).getElementsByTagName('h2')[0];
Titre.innerHTML = TitreInitial + ' <a href="javascript:LiveAbuseLog_afficherSommaire(\''+IDSommaire+'\',\''+IdTitre+'\', \''+TitreInitial+'\');" >'+LiveAbuseLog_DeroulerBis+'</a>';
}
// -------------------------------------------- Palettes de navigation
function LiveAbuseLog_collapseNavigationBar( tableIndex ) {
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) return false;
var Rows = Table.getElementsByTagName( "tr" );
if ( Button.firstChild.data == LiveAbuseLog_Enrouler ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = LiveAbuseLog_Derouler;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = LiveAbuseLog_Enrouler ;
}
}
// -------------------------------------------- Boîtes déroulantes
function LiveAbuseLog_toggleCollapsibleTables(index) {
var NavToggle = document.getElementById("NavToggle" + index);
var NavContent = document.getElementById("NavContent" + index);
if( (!NavToggle) || (!NavContent) ) return;
var Caption = NavToggle.innerHTML;
if (Caption == LiveAbuseLog_Enrouler) {
NavContent.style.display = 'none';
NavToggle.innerHTML = LiveAbuseLog_Derouler;
} else if (Caption == LiveAbuseLog_Derouler) {
NavContent.style.display = 'block';
NavToggle.innerHTML = LiveAbuseLog_Enrouler;
}
}
function LiveAbuseLog_PreviewHistory(Mode){
if(Mode!=0){
var Index = (LiveAbuseLog_PreviewHistory_CurrentIndex+Mode);
}else{
var Index = LiveAbuseLog_PreviewHistory_LastIndex;
}
var Url = LiveAbuseLog_PreviewHistory_URL[Index];
var Page = LiveAbuseLog_PreviewHistory_Page[Index];
if((Url)&&(Page)){
LiveAbuseLog_PreviewHistory_CurrentIndex = Index;
LiveAbuseLog_Preview(Url, Page, false);
}
}