Utilisateur:Paulokoko/EvaBiere.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) ;
Firefox (sur GNU/Linux) / Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5./*
* EvaluationDeluxe Extended Edition !
*
* La fonction EvalProject ajoute un ou plusieurs boutons qui ouvrent un popup d'évaluation
* sur un ou plusieurs projets donné. Le bouton n'est ajouté que sur les pages de discussion
* des articles.
*
* Un modèle d'évaluation de projet sera mis à jour ou ajouté sur la page de
* discussion concernée.
*
* Auteurs : Ugo14
* Adapté par Paulokoko pour le Projet:Bière
* Date de dernière révision :
*/
/*********************************************************************************************/
/***************************************** BIERE ******************************************/
/*********************************************************************************************/
/* PARAMETRES */
var evalProjectButtons = new Array();
var evalProjectNames = new Array();
with (evalProjectButtons) {
push("http://upload.wikimedia.org/wikipedia/commons/1/1a/Button_beer.png");
}
with (evalProjectNames) {
push("Bière");
}
function popupEvalProject(project) {
var pattern=new RegExp("\\{\\{Wikiprojet "+project+".*\\}\\}","i");
var found=document.editform.wpTextbox1.value.match(pattern);
var test=new RegExp("\\{\\{Todo(.|\n)*.*\\}\\}","i");
var trouve=document.editform.wpTextbox1.value.match(test);
var aa="inconnu";
var ii="inconnue";
var todoPrev="";
var chki=new Array();
var chka=new Array();
for (i=0;i<4;i++) {chki[i]="";}
for (i=0;i<6;i++) {chka[i]="";}
if (found) {
if (found[0].match(/importance=faible/i)) {
ii="faible";
chki[0]="checked";
} else if (found[0].match(/importance=moyenne/i)) {
ii="moyenne";
chki[1]="checked";
} else if (found[0].match(/importance=élevée/i)) {
ii="élevée";
chki[2]="checked";
} else if (found[0].match(/importance=maximum/i)) {
ii="maximum";
chki[3]="checked";
}
if (found[0].match(/avancement=ébauche/i)) {
aa="ébauche";
chka[0]="checked";
} else if (found[0].match(/avancement=BD/i)) {
aa="BD";
chka[1]="checked";
} else if (found[0].match(/avancement=BA/i)) {
aa="BA";
chka[3]="checked";
} else if (found[0].match(/avancement=B/i)) {
aa="B";
chka[2]="checked";
} else if (found[0].match(/avancement=AdQ/i)) {
aa="AdQ";
chka[5]="checked";
} else if (found[0].match(/avancement=A/i)) {
aa="A";
chka[4]="checked";
}
}
if (trouve) {
todoPrev=trouve[0].replace(new RegExp("\\{\\{Todo.","i"),"");
todoPrev=todoPrev.replace(new RegExp("\\}\\}","i"),"");
}
var popup = window.open('','name','');
javaCode = '<script type="text\/javascript">\n var a="'+aa+'";\n var i="'+ii+'";\n function insertCode(){\n';
javaCode += "var textarea=window.opener.document.editform.wpTextbox1.value;\n ";
javaCode += "var todo=document.paramForm.todoArea.value;\n ";
javaCode += 'var pattern2=new RegExp("\\\\{\\\\{Todo(.|\\n)*.*\\\\}\\\\}","i");\n ';
javaCode += 'if (textarea.match(pattern2)) {\n ';
javaCode += ' if (todo == "") {\n';
javaCode += ' window.opener.document.editform.wpTextbox1.value=';
javaCode += 'textarea.replace(pattern2,"");\n ';
javaCode += ' } else {\n ';
javaCode += ' window.opener.document.editform.wpTextbox1.value=';
javaCode += 'textarea.replace(pattern2,"{{Todo|"+todo+"}}");\n ';
javaCode += ' }\n ';
javaCode += '} else {\n ';
javaCode += ' if (todo != "") {\n';
javaCode += ' window.opener.insertTags("","{{Todo|"+todo+"}}","");\n ';
javaCode += '}\n }\n ';
javaCode += "var textarea2=window.opener.document.editform.wpTextbox1.value;\n ";
javaCode += 'var pattern=new RegExp("\\\\{\\\\{Wikiprojet '+project+'.*\\\\}\\\\}","i");\n ';
javaCode += 'if (textarea.match(pattern)) {\n ';
javaCode += ' window.opener.document.editform.wpTextbox1.value=';
javaCode += 'textarea2.replace(pattern,"{{Wikiprojet '+project+'|importance="+i+"|avancement="+a+"}}");\n ';
javaCode += '} else {\n ';
javaCode += 'window.opener.insertTags("","{{Wikiprojet '+project+'|importance="+i+"|avancement="+a+"}}","");\n ';
javaCode += '}\n ';
javaCode += 'window.opener.document.editform.wpSummary.value ="Évaluation wikiprojet '+project+' : importance="+i+", avancement="+a;\n ';
javaCode += 'window.opener.document.editform.wpSave.click();\n ',
javaCode += '} <\/script>';
popup.document.write('<html><head><title>Évaluation de '+mw.config.get('wgTitle')+' pour le projet '+project+'</title>');
popup.document.write('<script type="text\/javascript" src="\/skins-1.5\/common\/wikibits.js"><!-- wikibits js --><\/script>');
popup.document.write('<style type="text\/css" media="screen projection">/*<![CDATA[*/ @import "\/skins-1.5\/monobook\/main.css?5"; /*]]>*/<\/style>');
popup.document.write(javaCode);
popup.document.write('</head><body>');
popup.document.write('<h1>Évaluation de <b>'+mw.config.get('wgTitle')+'</b> dans le cadre du projet <b>'+project+'</b></h1>');
popup.document.write('<p><center><form name="paramForm">');
popup.document.write('<table cellpading=1 cellspacing=0>');
popup.document.write('<tr><th colspan=2>Avancement</th><th colspan=2>Importance</th><th>Todo</th></tr>');
popup.document.write('<tr><td bgcolor="#6699ff"><input type="radio" name="avancement" id="AdQ" onCLick="a=\'AdQ\'" '+chka[5]+'></td>');
popup.document.write('<td bgcolor="#6699ff"><label for="AdQ">AdQ</label></td>');
popup.document.write('<td bgcolor="#ff00ff"><input type="radio" name="importance" id="maximum" onClick="i=\'maximum\'" '+chki[3]+'></td>');
popup.document.write('<td bgcolor="#ff00ff"><label for="maximum">maximum</label></td><td rowspan="6"><textarea cols="20" rows="7" name="todoArea" id="todoArea">'+todoPrev+'</textarea></td></tr>');
popup.document.write('<tr><td bgcolor="#66ffff"><input type="radio" name="avancement" id="A" onClick="a=\'A\'" '+chka[4]+'></td>');
popup.document.write('<td bgcolor="#66ffff"><label for="A">A</label></td>');
popup.document.write('<td bgcolor="#ff88ff"><input type="radio" name="importance" id="elevee" onClick="i=\'élevée\'" '+chki[2]+'></td>');
popup.document.write('<td bgcolor="#ff88ff"><label for="elevee">élevée</label></td></tr>');
popup.document.write('<tr><td bgcolor="#66ff66"><input type="radio" name="avancement" id="BA" onClick="a=\'BA\'" '+chka[3]+'></td>');
popup.document.write('<td bgcolor="#66ff66"><label for="BA">BA</label></td>');
popup.document.write('<td bgcolor="#ffccff"><input type="radio" name="importance" id="moyenne" onClick="i=\'moyenne\'" '+chki[1]+'></td>');
popup.document.write('<td bgcolor="#ffccff"><label for="moyenne">moyenne</label></td></tr>');
popup.document.write('<tr><td bgcolor="#ffff66"><input type="radio" name="avancement" id="B" onClick="a=\'B\'" '+chka[2]+'></td>');
popup.document.write('<td bgcolor="#ffff66"><label for="B">B</label></td>');
popup.document.write('<td bgcolor="#ffeeff"><input type="radio" name="importance" id="faible" onClick="i=\'faible\'" '+chki[0]+'></td>');
popup.document.write('<td bgcolor="#ffeeff"><label for="faible">faible</label></td></tr>');
popup.document.write('<tr><td bgcolor="#ffaa66"><input type="radio" name="avancement" id="BD" onClick="a=\'BD\'" '+chka[1]+'></td>');
popup.document.write('<td bgcolor="#ffaa66"><label for="BD">BD</label></td>');
popup.document.write('<td></td>');
popup.document.write('<td></td></tr>');
popup.document.write('<tr><td bgcolor="#ff6666"><input type="radio" name="avancement" id="ebauche" onClick="a=\'ébauche\'" '+chka[0]+'></td>');
popup.document.write('<td bgcolor="#ff6666"><label for="ebauche">ébauche</label></td>');
popup.document.write('<td></td>');
popup.document.write('<td></td></tr>');
popup.document.write('</table>');
popup.document.write('<p>');
popup.document.write('<input type="submit" value="Évaluer" onClick="javascript:insertCode();javascript:self.close();">');
popup.document.write('<input type="submit" value="Annuler" onClick="javascript:self.close()">');
popup.document.write('</form></center>');
popup.document.write('<iframe id="article" src="http://fr.wikipedia.org/wiki/'+mw.config.get('wgTitle')+'" width="100%" height="75%" align="bottom"></iframe>');
popup.document.write('</body></html>');
popup.document.close();
}
function EvalProject () {
if ((mw.config.get('wgAction') != "edit") || (mw.config.get('wgCanonicalNamespace') != "Talk")) return false;
if (document.createTextNode) {
var toolbar = document.getElementById("toolbar");
if (!toolbar) return;
for(var i = 0; i < evalProjectNames.length; i ++) {
var img = document.createElement("img");
if (evalProjectButtons[i]==undefined || evalProjectButtons[i]=="") {
img.setAttribute("src","http://upload.wikimedia.org/wikipedia/fr/8/84/Button_vide.png");
} else {
img.setAttribute("src", evalProjectButtons[i]);
}
var ref = document.createElement("a");
ref.setAttribute("href", "javascript:popupEvalProject('"+evalProjectNames[i]+"');");
ref.setAttribute("title", "Évaluation projet "+evalProjectNames[i]);
ref.appendChild(img);
toolbar.appendChild(ref);
}
}
}
$(EvalProject);