Utilisateur:Dr Brains/EvaluationCategorieBOT.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.//<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('&')!=-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;
}
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§ion=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§ion=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>