Utilisateur:Dr Brains/SuiviProjet.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.var SuiviProjet_Adresse = mw.config.get('wgServer') + mw.config.get('wgScript') + "?title=";
document.write(''
+ '<style type="text/css">'
+ '#SuiviProjet_ControlPanel {'
+ 'position:absolute;'
+ 'left:200px;'
+ 'top:10px;'
+ 'z-index:1500;'
+ 'border:1px solid black;'
+ 'background:white;'
+ '}'
+ '</style>');
if( (mw.config.get('wgAction')!="edit")&&(mw.config.get('wgAction')!="submit")&&(mw.config.get('wgPageName')=="Utilisateur:Dr_Bot/Scripts/SuiviProjet") ){
addOnloadHook(SuiviProjet_addLink);
}
function SuiviProjet_addLink(){
var buttonDiv = document.getElementById("ListToUpdate_Run");
if(buttonDiv){
var link = '<a href="javascript:SuiviProjet_GetInfos();" title="Lancer la mise à jour">' + buttonDiv.innerHTML + '</a>'
buttonDiv.innerHTML = link;
}
}
var SuiviProjet_SuiviCategorie = '';
var SuiviProjet_SuiviCopyvio_Page = 'Articles soupçonnés de copyvio';
var SuiviProjet_SuiviCopyvio_Modeles = new Array();
var SuiviProjet_SuiviNeutralite_Page = 'Articles non-neutres';
var SuiviProjet_SuiviNeutralite_Modeles = new Array();
var SuiviProjet_SuiviPaS_Page = 'Articles proposés en PàS';
var SuiviProjet_SuiviPaS_Modeles = new Array();
var SuiviProjet_SuiviAdmissibilite_Page = 'Articles à vérifier';
var SuiviProjet_SuiviAdmissibilite_Modeles = new Array();
var SuiviProjet_SuiviSource_Page = 'Articles manquant de sources';
var SuiviProjet_SuiviSource_Modeles = new Array();
var SuiviProjet_SuiviOrphelin_Page = 'Articles orphelins';
var SuiviProjet_SuiviOrphelin_Modeles = new Array();
var SuiviProjet_SuiviWikifier_Page = 'Artycles à wikifier';
var SuiviProjet_SuiviWikifier_Modeles = new Array();
function SuiviProjet_GetInfos(){
var CategoryDiv = document.getElementById("SuiviCategorie");
SuiviProjet_SuiviCategorie = CategoryDiv.getElementsByTagName('a')[0].title;
var PageDiv = document.getElementById("SuiviPage");
SuiviProjet_SuiviPage = PageDiv.getElementsByTagName('a')[0].title;
var CopyvioDiv = document.getElementById("SuiviCopyvio");
var CopyvioLinks = CopyvioDiv.getElementsByTagName('a');
for(var a=0;a<CopyvioLinks.length;a++){
SuiviProjet_SuiviCopyvio_Modeles[(a-1)] = CopyvioLinks[a].title;
}
var NeutraliteDiv = document.getElementById("SuiviNeutralite");
var NeutraliteLinks = NeutraliteDiv.getElementsByTagName('a');
for(var a=0;a<NeutraliteLinks.length;a++){
SuiviProjet_SuiviNeutralite_Modeles[(a-1)] = NeutraliteLinks[a].title;
}
var PaSDiv = document.getElementById("SuiviPaS");
var PaSLinks = PaSDiv.getElementsByTagName('a');
for(var a=0;a<PaSLinks.length;a++){
SuiviProjet_SuiviPaS_Modeles[(a-1)] = PaSLinks[a].title;
}
var AdmissibiliteDiv = document.getElementById("SuiviAdmissibilite");
var AdmissibiliteLinks = AdmissibiliteDiv.getElementsByTagName('a');
for(var a=0;a<AdmissibiliteLinks.length;a++){
SuiviProjet_SuiviAdmissibilite_Modeles[(a-1)] = AdmissibiliteLinks[a].title;
}
var SourceDiv = document.getElementById("SuiviSource");
var SourceLinks = SourceDiv.getElementsByTagName('a');
for(var a=0;a<SourceLinks.length;a++){
SuiviProjet_SuiviSource_Modeles[(a-1)] = SourceLinks[a].title;
}
var OrphelinDiv = document.getElementById("SuiviOrphelin");
var OrphelinLinks = OrphelinDiv.getElementsByTagName('a');
for(var a=0;a<OrphelinLinks.length;a++){
SuiviProjet_SuiviOrphelin_Modeles[(a-1)] = OrphelinLinks[a].title;
}
var WikifierDiv = document.getElementById("SuiviWikifier");
var WikifierLinks = WikifierDiv.getElementsByTagName('a');
for(var a=0;a<WikifierLinks.length;a++){
SuiviProjet_SuiviWikifier_Modeles[(a-1)] = WikifierLinks[a].title;
}
SuiviProjet_VerifInfos();
}
function SuiviProjet_VerifInfos(){
var Verif = 'Catégorie : \n' + SuiviProjet_SuiviCategorie + '\n';
Verif += 'Page : \n' + SuiviProjet_SuiviPage + '\n';
Verif += '\n\n* Copyvio : \n' + SuiviProjet_SuiviCopyvio_Page + '\n';
for(var a=0;a<SuiviProjet_SuiviCopyvio_Modeles.length;a++){
Verif += SuiviProjet_SuiviCopyvio_Modeles[a] + ' - ';
}
Verif += '\n\n* Neutralité : \n' + SuiviProjet_SuiviNeutralite_Page + '\n';
for(var a=0;a<SuiviProjet_SuiviNeutralite_Modeles.length;a++){
Verif += SuiviProjet_SuiviNeutralite_Modeles[a] + ' - ';
}
Verif += '\n\n* PàS : \n' + SuiviProjet_SuiviPaS_Page + '\n';
for(var a=0;a<SuiviProjet_SuiviPaS_Modeles.length;a++){
Verif += SuiviProjet_SuiviPaS_Modeles[a] + ' - ';
}
Verif += '\n\n* Admissibilité : \n' + SuiviProjet_SuiviAdmissibilite_Page + '\n';
for(var a=0;a<SuiviProjet_SuiviAdmissibilite_Modeles.length;a++){
Verif += SuiviProjet_SuiviAdmissibilite_Modeles[a] + ' - ';
}
Verif += '\n\n* Sources : \n' + SuiviProjet_SuiviSource_Page + '\n';
for(var a=0;a<SuiviProjet_SuiviSource_Modeles.length;a++){
Verif += SuiviProjet_SuiviSource_Modeles[a] + ' - ';
}
Verif += '\n\n* Orphelins : \n' + SuiviProjet_SuiviOrphelin_Page + '\n';
for(var a=0;a<SuiviProjet_SuiviOrphelin_Modeles.length;a++){
Verif += SuiviProjet_SuiviOrphelin_Modeles[a] + ' - ';
}
Verif += '\n\n* Wikifier : \n' + SuiviProjet_SuiviWikifier_Page + '\n';
for(var a=0;a<SuiviProjet_SuiviWikifier_Modeles.length;a++){
Verif += SuiviProjet_SuiviWikifier_Modeles[a] + ' - ';
}
var SurEtCertain = confirm(Verif);
if(SurEtCertain){
SuiviProjet_UpdateControlPanel();
SuiviProjet_GetPages();
}
}
function SuiviProjet_MakeControlPanel(Text){
if(!Text) Text = '';
var ControlPanel = document.createElement('div');
ControlPanel.id = "SuiviProjet_ControlPanel";
ControlPanel.innerHTML = Text;
document.body.insertBefore(ControlPanel,document.body.firstChild);
}
function SuiviProjet_UpdateControlPanel(Text){
if(!Text) Text = '';
var ControlPanel = document.getElementById("SuiviProjet_ControlPanel");
if(ControlPanel){
ControlPanel.innerHTML = Text;
}else{
SuiviProjet_MakeControlPanel(Text);
}
}
var SuiviProjet_AllPages = new Array();
var SuiviProjet_AllPagesCount = -1;
var SuiviProjet_AllPages_CatCount=-1;
function SuiviProjet_GetPages(CatContinue){
SuiviProjet_AllPages_CatCount++
SuiviProjet_UpdateControlPanel('Listage des pages de la catégorie ' + SuiviProjet_SuiviCategorie + ' - ' + SuiviProjet_AllPages_CatCount);
if(!CatContinue) CatContinue='';
if( (mw.config.get('wgUserGroups').indexOf("sysop")!=-1)||(mw.config.get('wgUserGroups').indexOf("bot")!=-1) ){
var APILimit=4999;
}else{
var APILimit=499;
}
var NouvelleRequete = new XMLHttpRequest()
var AdresseRequete = mw.config.get('wgServer') + '/w/api.php?action=query&list=categorymembers&cmlimit='+APILimit+'&cmtitle=' + SuiviProjet_SuiviCategorie + '&cmcontinue=' + CatContinue;
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 AutreRequeteNecessaire = false;
for(var a=0;a<Informations.length;a++){
var ContenuInformation = Informations[a].innerHTML;
if(ContenuInformation.indexOf('ns="0"')!=-1){
var TitrePage = ContenuInformation.split('title="')[1].split('"')[0];
while(TitrePage.indexOf('&')!=-1){
TitrePage = TitrePage.split('&').join("&");
if(TitrePage.indexOf('&')==-1) break;
}
while(TitrePage.indexOf(''')!=-1){
TitrePage = TitrePage.split(''').join("'");
if(TitrePage.indexOf(''')==-1) break;
}
while(TitrePage.indexOf('"')!=-1){
TitrePage = TitrePage.split('"').join('"');
if(TitrePage.indexOf('"')==-1) break;
}
SuiviProjet_AllPagesCount++
SuiviProjet_AllPages[SuiviProjet_AllPagesCount] = TitrePage;
}
if(ContenuInformation.indexOf('cmcontinue=')!=-1){
AutreRequeteNecessaire = true;
var AutreRequeteContinue = ContenuInformation.split('cmcontinue="')[1].split('"')[0];
}
}
if(AutreRequeteNecessaire==true){
SuiviProjet_GetPages(AutreRequeteContinue);
}else{
SuiviProjet_CheckPages(0);
}
}
}
}
var SuiviProjet_Copyvio_CheckedPage = new Array();
var SuiviProjet_Copyvio_CheckedPageCount = -1;
var SuiviProjet_Neutralite_CheckedPage = new Array();
var SuiviProjet_Neutralite_CheckedPageCount = -1;
var SuiviProjet_PaS_CheckedPage = new Array();
var SuiviProjet_PaS_CheckedPageCount = -1;
var SuiviProjet_Admissibilite_CheckedPage = new Array();
var SuiviProjet_Admissibilite_CheckedPageCount = -1;
var SuiviProjet_Source_CheckedPage = new Array();
var SuiviProjet_Source_CheckedPageCount = -1;
var SuiviProjet_Orphelin_CheckedPage = new Array();
var SuiviProjet_Orphelin_CheckedPageCount = -1;
var SuiviProjet_Wikifier_CheckedPage = new Array();
var SuiviProjet_Wikifier_CheckedPageCount = -1;
function SuiviProjet_CheckPages(position, TemplateContinue){
if(!position) position=0;
if(!TemplateContinue) TemplateContinue ='';
var Page = SuiviProjet_AllPages[position];
if(!Page||Page=="undefined"){
SuiviProjet_SortLists();
return;
}
if( (mw.config.get('wgUserGroups').indexOf("sysop")!=-1)||(mw.config.get('wgUserGroups').indexOf("bot")!=-1) ){
var APILimit=4999;
}else{
var APILimit=499;
}
SuiviProjet_UpdateControlPanel('Vérifications des modèles de la page ' + Page);
var url = mw.config.get('wgServer') + '/w/api.php?action=query&prop=templates&tllimit='+APILimit+'&titles=' + Page + TemplateContinue;
var ajaxRequest = new XMLHttpRequest();
ajaxRequest.open("GET", url, true);
ajaxRequest.send(null);
ajaxRequest.onreadystatechange = function() {
if(ajaxRequest.readyState == 4 && ajaxRequest.status == 200) {
var ElementTraitement = document.createElement('div');
ElementTraitement.innerHTML = ajaxRequest.responseText;
var Informations = ElementTraitement.getElementsByTagName('span');
var AutreRequeteNecessaire = false;
for(var b=0;b<Informations.length;b++){
var ContenuInformation = Informations[b].innerHTML;
if(ContenuInformation.indexOf('title=')!=-1){
var TitrePage = ContenuInformation.split('title="')[1].split('"')[0];
while(TitrePage.indexOf('&')!=-1){
TitrePage = TitrePage.split('&').join("&");
if(TitrePage.indexOf('&')==-1) break;
}
while(TitrePage.indexOf(''')!=-1){
TitrePage = TitrePage.split(''').join("'");
if(TitrePage.indexOf(''')==-1) break;
}
while(TitrePage.indexOf('"')!=-1){
TitrePage = TitrePage.split('"').join('"');
if(TitrePage.indexOf('"')==-1) break;
}
for(var a=0;a<SuiviProjet_SuiviCopyvio_Modeles.length;a++){
if(TitrePage==SuiviProjet_SuiviCopyvio_Modeles[a]){
//alert(Page + ' -> ' + TitrePage);
SuiviProjet_Copyvio_CheckedPageCount++
SuiviProjet_Copyvio_CheckedPage[SuiviProjet_Copyvio_CheckedPageCount] = Page;
}
}
for(var a=0;a<SuiviProjet_SuiviNeutralite_Modeles.length;a++){
if(TitrePage==SuiviProjet_SuiviNeutralite_Modeles[a]){
//alert(Page + ' -> ' + TitrePage);
SuiviProjet_Neutralite_CheckedPageCount++
SuiviProjet_Neutralite_CheckedPage[SuiviProjet_Neutralite_CheckedPageCount] = Page;
}
}
for(var a=0;a<SuiviProjet_SuiviPaS_Modeles.length;a++){
if(TitrePage==SuiviProjet_SuiviPaS_Modeles[a]){
//alert(Page + ' -> ' + TitrePage);
SuiviProjet_PaS_CheckedPageCount++
SuiviProjet_PaS_CheckedPage[SuiviProjet_PaS_CheckedPageCount] = Page;
}
}
for(var a=0;a<SuiviProjet_SuiviAdmissibilite_Modeles.length;a++){
if(TitrePage==SuiviProjet_SuiviAdmissibilite_Modeles[a]){
//alert(Page + ' -> ' + TitrePage);
SuiviProjet_Admissibilite_CheckedPageCount++
SuiviProjet_Admissibilite_CheckedPage[SuiviProjet_Admissibilite_CheckedPageCount] = Page;
}
}
for(var a=0;a<SuiviProjet_SuiviSource_Modeles.length;a++){
if(TitrePage==SuiviProjet_SuiviSource_Modeles[a]){
//alert(Page + ' -> ' + TitrePage);
SuiviProjet_Source_CheckedPageCount++
SuiviProjet_Source_CheckedPage[SuiviProjet_Source_CheckedPageCount] = Page;
}
}
for(var a=0;a<SuiviProjet_SuiviOrphelin_Modeles.length;a++){
if(TitrePage==SuiviProjet_SuiviOrphelin_Modeles[a]){
//alert(Page + ' -> ' + TitrePage);
SuiviProjet_Orphelin_CheckedPageCount++
SuiviProjet_Orphelin_CheckedPage[SuiviProjet_Orphelin_CheckedPageCount] = Page;
}
}
for(var a=0;a<SuiviProjet_SuiviWikifier_Modeles.length;a++){
if(TitrePage==SuiviProjet_SuiviWikifier_Modeles[a]){
//alert(Page + ' -> ' + TitrePage);
SuiviProjet_Wikifier_CheckedPageCount++
SuiviProjet_Wikifier_CheckedPage[SuiviProjet_Wikifier_CheckedPageCount] = Page;
}
}
}
if(ContenuInformation.indexOf('tlcontinue=')!=-1){
AutreRequeteNecessaire = true;
var AutreRequeteContinue = '&tlcontinue=' +ContenuInformation.split('tlcontinue="')[1].split('"')[0];
}
}
if(AutreRequeteNecessaire==true){
SuiviProjet_CheckPages(position, AutreRequeteContinue);
}else{
SuiviProjet_CheckPages((position+1));
}
}
}
}
var SuiviProjet_CopyvioList = '';
var SuiviProjet_NeutraliteList = '';
var SuiviProjet_PaSList = '';
var SuiviProjet_AdmissibiliteList = '';
var SuiviProjet_SourceList = '';
var SuiviProjet_OrphelinList = '';
var SuiviProjet_WikifierList = '';
var SuiviProjet_GlobalList = '';
function SuiviProjet_SortLists(){
SuiviProjet_UpdateControlPanel('Arrangement des listes de pages');
SuiviProjet_CopyvioList = '==' + SuiviProjet_SuiviCopyvio_Page + '==\n';
var CopyvioListTemp = SuiviProjet_Copyvio_CheckedPage.sort();
for(var a=0;a<CopyvioListTemp.length;a++){
if(CopyvioListTemp[a]!=CopyvioListTemp[(a+1)]){
SuiviProjet_CopyvioList += '* [[' + CopyvioListTemp[a] + ']]\n';
}
}
SuiviProjet_NeutraliteList = '==' + SuiviProjet_SuiviNeutralite_Page + '==\n';
var NeutraliteListTemp = SuiviProjet_Neutralite_CheckedPage.sort();
for(var a=0;a<NeutraliteListTemp.length;a++){
if(NeutraliteListTemp[a]!=NeutraliteListTemp[(a+1)]){
SuiviProjet_NeutraliteList += '* [[' + NeutraliteListTemp[a] + ']]\n';
}
}
SuiviProjet_PaSList = '==' + SuiviProjet_SuiviPaS_Page + '==\n';
var PaSListTemp = SuiviProjet_PaS_CheckedPage.sort();
for(var a=0;a<PaSListTemp.length;a++){
if(PaSListTemp[a]!=PaSListTemp[(a+1)]){
SuiviProjet_PaSList += '* [[' + PaSListTemp[a] + ']]\n';
}
}
SuiviProjet_AdmissibiliteList = '==' + SuiviProjet_SuiviAdmissibilite_Page + '==\n';
var AdmissibiliteListTemp = SuiviProjet_Admissibilite_CheckedPage.sort();
for(var a=0;a<AdmissibiliteListTemp.length;a++){
if(AdmissibiliteListTemp[a]!=AdmissibiliteListTemp[(a+1)]){
SuiviProjet_AdmissibiliteList += '* [[' + AdmissibiliteListTemp[a] + ']]\n';
}
}
SuiviProjet_SourceList = '==' + SuiviProjet_SuiviSource_Page + '==\n';
var SourceListTemp = SuiviProjet_Source_CheckedPage.sort();
for(var a=0;a<SourceListTemp.length;a++){
if(SourceListTemp[a]!=SourceListTemp[(a+1)]){
SuiviProjet_SourceList += '* [[' + SourceListTemp[a] + ']]\n';
}
}
SuiviProjet_OrphelinList = '==' + SuiviProjet_SuiviOrphelin_Page + '==\n';
var OrphelinListTemp = SuiviProjet_Orphelin_CheckedPage.sort();
for(var a=0;a<OrphelinListTemp.length;a++){
if(OrphelinListTemp[a]!=OrphelinListTemp[(a+1)]){
SuiviProjet_OrphelinList += '* [[' + OrphelinListTemp[a] + ']]\n';
}
}
SuiviProjet_WikifierList = '==' + SuiviProjet_SuiviWikifier_Page + '==\n';
var WikifierListTemp = SuiviProjet_Wikifier_CheckedPage.sort();
for(var a=0;a<WikifierListTemp.length;a++){
if(WikifierListTemp[a]!=WikifierListTemp[(a+1)]){
SuiviProjet_WikifierList += '* [[' + WikifierListTemp[a] + ']]\n';
}
}
SuiviProjet_GlobalList = SuiviProjet_CopyvioList + SuiviProjet_NeutraliteList + SuiviProjet_PaSList + SuiviProjet_AdmissibiliteList + SuiviProjet_SourceList + SuiviProjet_OrphelinList + SuiviProjet_WikifierList;
// alert(SuiviProjet_GlobalList);
SuiviProjet_Edit();
}
function SuiviProjet_Edit(){
var url = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + SuiviProjet_SuiviPage.replace(/&/g, "%26") + '&action=edit';
var NouvelleRequete = new XMLHttpRequest();
NouvelleRequete.open("GET", url, true);
NouvelleRequete.send(null);
NouvelleRequete.onreadystatechange = function() {
if(NouvelleRequete.readyState == 4 && NouvelleRequete.status == 200) {
while(document.body.firstChild){ document.body.removeChild(document.body.firstChild);}
SuiviProjet_UpdateControlPanel('Édition de la page : ' + SuiviProjet_SuiviPage);
var ElementTraitement = document.createElement('div');
document.body.appendChild(ElementTraitement);
ElementTraitement.innerHTML = NouvelleRequete.responseText;
var TextArea = document.getElementById('wpTextbox1');
if(!TextArea){alert(url); return; }
var TexteFinal = SuiviProjet_GlobalList;
document.getElementById ("wpTextbox1").value = TexteFinal ;
document.editform.wpSummary.value = 'Mise à jour';
//if(!confirm(TexteFinal + '\n\nSauvegarder la modification ?')) return;
document.editform.submit();
}
}
}