Utilisateur:Dr Brains/EvaluationCategorieBOT.js

Une page de Wikipédia, l'encyclopédie libre.
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.
//<pre><nowiki>

if(mw.config.get('wgNamespaceNumber')==14) addOnloadHook(EvaluationCategorieMulti_Addlink);

var  EvaluationCategorieMulti_RemoveEval = '';
var  EvaluationCategorieMulti_AddEval = '';
var  EvaluationCategorieMulti_MultiCat = true;
var  EvaluationCategorieMulti_Autoconfirm = false;

function EvaluationCategorieMulti_AddLink(){
     var OngletsCactions = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
     OngletsCactions.innerHTML += '<li><a href="javascript:EvaluationCategorieMulti_GetOptions();">Évaluation</a></li>';
}


function EvaluationCategorieMulti_GetOptions(){
     EvaluationCategorieMulti_AddEval = prompt('Bandeau à ajouter : ', '');
     EvaluationCategorieMulti_RemoveEval = prompt('Bandeau à supprimer : ', '');
     if((EvaluationCategorieMulti_RemoveEval=='')&&(EvaluationCategorieMulti_AddEval=='')){
          return;
     }else{
          EvaluationCategorieMulti_MultiCat = confirm('Recherche dans les sous-catégorie ?');
          EvaluationCategorieMulti_Autoconfirm = confirm('Publier sans confirmation manuelle ?');
          EvaluationCategorieMulti();
     }
}

if( (mw.config.get('wgUserGroups').indexOf("sysop")!=-1)||(mw.config.get('wgUserGroups').indexOf("bot")!=-1)){
   var BandeauxPortailsCategorieSimple_APILimit = 4999;
}else{
   var BandeauxPortailsCategorieSimple_APILimit = 499;
}
 
var EvaluationCategorieMulti_PageInCategory = new Array();
var EvaluationCategorieMulti_PageInCategoryCount = 0;
 
var EvaluationCategorieMulti_CategoryInCategory = new Array();
var EvaluationCategorieMulti_CategoryInCategoryCount = 0;
 
var EvaluationCategorieMulti_IndexCategory = -1;


function EvaluationCategorieMulti(category, categorycontinue){
     if(!category) category = mw.config.get('wgPageName');    
     if(!categorycontinue) categorycontinue = '';
      var NouvelleRequete = new XMLHttpRequest()
      var AdresseRequete = mw.config.get('wgServer') + '/w/api.php?action=query&list=categorymembers&cmlimit='+BandeauxPortailsCategorieSimple_APILimit+'&cmtitle=' + category + '&cmcontinue=' + categorycontinue;
      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(a=0;a<Informations.length;a++){
                        var ContenuInformation = Informations[a].innerHTML;
                        if((ContenuInformation.indexOf('ns="0"')!=-1)||(ContenuInformation.indexOf('ns="1"')!=-1)||(ContenuInformation.indexOf('ns="14"')!=-1)){
                              var TitrePage = ContenuInformation.split('title="')[1].split('"')[0];
                              TitrePage = EvaluationCategorieMulti_Clean(TitrePage).split(mw.config.get('wgFormattedNamespaces')[1] + ':').join("");
                              if((TitrePage.indexOf(mw.config.get('wgFormattedNamespaces')[14] + ':')!=-1)&&(EvaluationCategorieMulti_MultiCat)){
                                    EvaluationCategorieMulti_CategoryInCategory[EvaluationCategorieMulti_CategoryInCategoryCount] = TitrePage;
                                    EvaluationCategorieMulti_CategoryInCategoryCount++
                              }else if(TitrePage.indexOf(mw.config.get('wgFormattedNamespaces')[14] + ':')==-1){
                                    EvaluationCategorieMulti_PageInCategory[EvaluationCategorieMulti_PageInCategoryCount] = TitrePage;
                                    EvaluationCategorieMulti_PageInCategoryCount++
                              }
                        }
                        if(ContenuInformation.indexOf('cmcontinue=')!=-1){
                              AutreRequeteNecessaire = true;
                              var AutreRequeteContinue = EvaluationCategorieMulti_Clean(ContenuInformation.split('cmcontinue="')[1].split('"')[0]);

                        }
                  } 
                  if(AutreRequeteNecessaire==true){
                        EvaluationCategorieMulti(category, AutreRequeteContinue);
                  }else{
                        EvaluationCategorieMulti_IndexCategory++
                        var NewCategory = EvaluationCategorieMulti_CategoryInCategory[EvaluationCategorieMulti_IndexCategory];
                        if(NewCategory){
                              EvaluationCategorieMulti(NewCategory);
                        }else{
                              EvaluationCategorieMulti_SortList();
                        }
                  }
            }
      }
}

function EvaluationCategorieMulti_Clean(text){
      while(text.indexOf('&amp;')!=-1){
            text = text.split('&amp;').join("&");
            if(text.indexOf('&amp;')==-1) break;
      }
      while(text.indexOf('&#039;')!=-1){
            text = text.split('&#039;').join("'");
            if(text.indexOf('&#039;')==-1) break;
      }
      while(text.indexOf('&quot;')!=-1){
            text = text.split('&quot;').join('"');
            if(text.indexOf('&quot;')==-1) break;
      }
      return text;
} 
 
var EvaluationCategorieMulti_SortedPageInCategory = new Array();
 
function EvaluationCategorieMulti_SortList(){
      var PagesTemp = EvaluationCategorieMulti_PageInCategory.sort();
      for(var a=0;a<PagesTemp.length;a++){
           if(PagesTemp[a]!=PagesTemp[(a+1)]){
                 EvaluationCategorieMulti_SortedPageInCategory.push(PagesTemp[a]);
           }
      }
      EvaluationCategorieMulti_GetPages(0);
}


function EvaluationCategorieMulti_GetPages(position){
      while(document.body.firstChild){document.body.removeChild(document.body.firstChild);}
      var NewWindow = '<table><tr><td colspan="2"><div id="EvalForm" ></div></td></tr><tr><td width="65%"><div id="Page" ></div></td><td width="35%"><div id="TalkPage"></div></td></tr></table>';
      document.body.innerHTML = NewWindow;
      EvaluationCategorieMulti_GetArticlePage(position);
      EvaluationCategorieMulti_GetTalkPage(position);
}

function EvaluationCategorieMulti_GetArticlePage(position);
      var Page = EvaluationCategorieMulti_SortedPageInCategory[position];
      if(!Page){ alert('Travail terminé'); window.location.reload(); }
      var url = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + mw.config.get('wgNamespaceNumber')[1]+':'+Page.replace(/&/g, "%26") + '&action=edit&section=0';
      var NouvelleRequete = new XMLHttpRequest();      
      NouvelleRequete.open("GET", url, true);
      NouvelleRequete.send(null);
      NouvelleRequete.onreadystatechange = function() {
            if(NouvelleRequete.readyState == 4 && NouvelleRequete.status == 200) {
                  var ElementTraitement = document.getElementById('Page');
                  ElementTraitement.innerHTML = NouvelleRequete.responseText; 
            }
      }
}

function EvaluationCategorieMulti_GetTalkPage(position);
      var Page = EvaluationCategorieMulti_SortedPageInCategory[position];
      if(!Page){ alert('Travail terminé'); window.location.reload(); }
      var url = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + mw.config.get('wgNamespaceNumber')[1]+':'+Page.replace(/&/g, "%26") + '&action=edit&section=0';
      var NouvelleRequete = new XMLHttpRequest();      
      NouvelleRequete.open("GET", url, true);
      NouvelleRequete.send(null);
      NouvelleRequete.onreadystatechange = function() {
            if(NouvelleRequete.readyState == 4 && NouvelleRequete.status == 200) {
                  var ElementTraitement = document.getElementById('TalkPage');
                  ElementTraitement.innerHTML = NouvelleRequete.responseText; 
                  EvaluationCategorieMulti_Edit(position);
            }
      }
}

function EvaluationCategorieMulti_Edit(position){
      var TextArea = document.getElementById('wpTextbox1');
      var OldText = TextArea.value;
      Oldtext = Oldtext.replace(/\{\{wikiprojet/ig, "\{\{Wikiprojet");
      Oldtext = Oldtext.replace(/\{\{Évaluation multiprojet\|/ig, "\{\{Wikiprojet\|");

      if(OldText.indexOf('{{Wikiprojet|')!=-1){ // présence évaluation multi-thème 
              var Modele = '{{Wikiprojet|'+Oldtext.split('{{Wikiprojet|')[1].split('}}')[0]+'}}';

      }else if(OldText.indexOf('{{Wikiprojet')!=-1){ // présence évaluation


        if(OldText.indexOf('{{Wikiprojet '+EvaluationCategorieMulti_AddEval)!=-1){ // présence évaluation thème à ajouter

        }else if(OldText.indexOf('{{Wikiprojet '+EvaluationCategorieMulti_RemoveEval)!=-1){ // présence évaluation thème à enlever
              var Modele = '{{Wikiprojet '+EvaluationCategorieMulti_RemoveEval + OldText.split('{{Wikiprojet '+EvaluationCategorieMulti_RemoveEval)[1].split('}}')[0] + '}}';

        }
      }else{ // pas d'évaluation
              var Modele = '';
      }

      var NewForm = document.getElementById('EvalForm');
      NewFormContent = ''
      NewForm.innerHTML = NewFormContent;


}

//</nowiki></pre>