Utilisateur:Snipre/monobook.js
Apparence
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.// options pour l'outil Evaluation
var alwaysEval = false; //mettez cette valeur à ''true'' si vous voulez que l'évaluation soit lancée automatiquement (à éviter en temps normal)
function initEvalProjectNames()
{
evalProjectNames=new Array(); //liste de vos projets
evalProjectNames.push("Chimie")
evalProjectNames.push("Physique")
evalProjectNames.push("Pharmacie")
evalProjectNames.push("Matériaux")//mettre ici autant de lignes comme celle-ci que de projets que vous voulez évaluer
}
// lien wikidata
mw.loader.load("//www.wikidata.org/w/index.php?title=User:Snipre/WikidataInfo.js&action=raw&ctype=text/javascript");
// bouton pour l'import de la dernière version de la chimiebox
$(function() {
$('#toolbar').append(
$(document.createElement('img'))
.click(function() {
$.get(mw.config.get('wgScript'), {
title: 'Modèle:Infobox_Chimie/Référence',
action: 'raw'
}, function (data) {
$('#wpTextbox1').prepend(data);
});
})
.attr('src',
'/media/wikipedia/commons/7/77/Button_Chimiebox.png'
)
);
});
// listage des modèles de la page
// <nowiki>
if((mw.config.get('wgAction')=="edit")||(mw.config.get('wgAction')=="submit")){
addOnloadHook(AutoTemplate_AddButton);
}
function AutoTemplate_AddButton(){
if(!document.editform) return;
var Toolbar = document.getElementById('toolbar');
if(!Toolbar){
Toolbar = document.createElement('div');
Toolbar.id = 'toolbar';
document.editform.insertBefore(Toolbar, document.editform.firstChild);
}
var button = '<img src="/media/wikipedia/commons/9/97/Template_button.png" heigth="23" width="23" alt="Gestion des modèles" />';
var NewButton = document.createElement('a')
NewButton.title = "Mettre à jour les modèles de la page";
NewButton.href="javascript:AutoTemplate_OpenMenu();";
NewButton.innerHTML = button;
Toolbar.appendChild(NewButton);
}
function AutoTemplate_Cancel(ID){
var MenuDiv = document.getElementById(ID);
MenuDiv.parentNode.removeChild(MenuDiv);
}
function AutoTemplate_OpenMenu(){
var OldMenuDiv = document.getElementById('Menu_AutoTemplate');
if(OldMenuDiv) return;
var Toolbar = document.getElementById('toolbar');
var MenuDiv = document.createElement('div');
MenuDiv.id = 'Menu_AutoTemplate';
Toolbar.parentNode.insertBefore(MenuDiv, Toolbar.nextSibling);
var HTMLMenu = MenuDiv
MenuDiv.innerHTML = '<input type="button" onclick="AutoTemplate_Cancel(\'Menu_AutoTemplate\');" onselect="AutoTemplate_Cancel(\'Menu_AutoTemplate\');" value="Annuler" /><br/>'
+'<table width="100%">'
+'<tr>'
+'<td width=30%" valign="top"><ul id="Menu_AutoTemplate_TemplatesList"></ul></td>'
+'<td width="70%" id="Menu_AutoTemplate_Form" valign="top"></td>'
+'</tr></table>';
AutoTemplate_SearchTemplates();
}
function AutoTemplate_SearchTemplates(){
var AllTemplates = new Array();
var AllTemplatesName = new Array();
var Texte = document.getElementsByTagName('textarea')[0].value;
var count = 15;
while(Texte.indexOf('}}')!=-1){
count++
var Modele = Texte.split('}}')[0];
var AvantFin = Texte.split('}}')[0] + '}}';
if(count<10) alert(Modele);
while(Modele.indexOf('{{')!=-1){
var AvantModele = Modele.split('{{')[0] + '{{';
Modele = Modele.split(AvantModele).join('');
}
CodedModele = Modele.replace(/</g,'<');
CodedModele = CodedModele.replace(/>/g,'>');
AllTemplates.push('{{' + CodedModele + '}}');
if(count<10) alert(Modele);
var NomModele = Modele;
while(NomModele.indexOf('|')!=-1){ NomModele = NomModele.split('|')[0]; }
NomModele = NomModele.replace(/\n/g,"");
AllTemplatesName.push(NomModele);
if(count<10) alert(NomModele);
var patt = "{{" + Modele + "}}";
var Result = "DEBUTMODELE" + Modele + "FINMODELE";
var AvantFinMod = AvantFin.split(patt).join(Result);
Texte = Texte.split(AvantFin).join(AvantFinMod);
if(count<10) alert(Texte);
if(count>100) break;
}
var UL = document.getElementById("Menu_AutoTemplate_TemplatesList");
for( var a=0;a<AllTemplates.length;a++){
UL.innerHTML += '<li id="Menu_AutoTemplate_TemplatesList_'+a+'" ><a href="javascript:AutoTemplate_CreateForm('+a+');">'+AllTemplatesName[a]+'</a><input type="text" style="display:none" value="'+AllTemplates[a]+'" /></li>';
}
}
function AutoTemplate_CreateForm(position){
var FormContainer = document.getElementById('Menu_AutoTemplate_Form');
var ModeleLi = document.getElementById('Menu_AutoTemplate_TemplatesList_'+position);
if((!FormContainer)||(!ModeleLi)) return;
var TemplateName = ModeleLi.getElementsByTagName('a')[0].innerHTML;
var Template = ModeleLi.getElementsByTagName('input')[0].value;
var TemplateOldParams = new Array();
var TemplateOldParamsCount = -1;
if(Template.indexOf('|')!=-1) Template = Template + '|';
Template = Template.replace(/\n/g,"");
Template = Template.replace(/ \|/g,"\|");
Template = Template.replace(/\| /g,"\|");
Template = Template.replace(/ \]/g,"\]");
Template = Template.replace(/\[ /g,"\[");
Template = Template.replace(/ =/g,"\=");
Template = Template.replace(/= /g,"\=");
Template = Template.split('{{'+TemplateName + '|').join('').split('{{'+TemplateName).join('').split('}}').join('');
Template = Template.replace(/DEBUTMODELE/g,"\{\{");
Template = Template.replace(/FINMODELE/g,"\}\}");
while(Template.indexOf(']]')!=-1){
var DebutTemplate = Template.split('[[')[0];
var FinTemplate = Template.split(']]')[1];
var Lien = Template.split(DebutTemplate).join('').split(FinTemplate).join('');
var LienCode = Lien.replace(/\[\[/g,"DEBUTLIEN");
LienCode = LienCode.replace(/\]\]/g,"FINLIEN");
LienCode = LienCode.replace(/\|/g,"MILIEULIEN");
Template = Template.split(Lien).join(LienCode);
}
//alert(Template);
while(Template.indexOf('|')!=-1){
TemplateOldParamsCount++
var Param = Template.split('|')[0];
Template = Template.split(Param + '|').join('');
Param = Param.replace(/DEBUTLIEN/g,"\[\[");
Param = Param.replace(/FINLIEN/g,"\]\]");
Param = Param.replace(/MILIEULIEN/g,"\|");
TemplateOldParams.push(Param);
if(TemplateOldParamsCount>100){alert('boucle probable'); break;}
}
var Page = TemplateName;
if(Page.indexOf(mw.config.get('wgFormattedNamespaces')[10] +':')==-1) Page = mw.config.get('wgFormattedNamespaces')[10] +':' + Page;
var url = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + Page +'&action=edit';
var Request = new XMLHttpRequest();
Request.open("GET", url, true);
Request.send(null);
Request.onreadystatechange = function() {
if(Request.readyState == 4 && Request.status == 200) {
var Temp = document.createElement('div');
//document.body.insertBefore(Temp, document.body.firstChild);
Temp.innerHTML = Request.responseText;
var OldText = Temp.getElementsByTagName('textarea')[0].value;
var AllParams = new Array();
var Paramcount = 15;
var NoParam = false;
if(OldText.indexOf('}}}')==-1){
var NoParam = true;
}else{
while(OldText.indexOf('}}}')!=-1){
Paramcount++
var Param = OldText.split('}}}')[0];
if(Param.indexOf('{{{')==-1){
OldText = OldText.split(Param+'}}').join(Param+'FINMODELE');
if(Paramcount<10) alert(OldText);
if(Paramcount>100){alert('Boucle probable'); return; }
if(OldText.indexOf('}}}')==-1) break;
}else{
while(Param.indexOf('{{{')!=-1){
var AvantParam = Param.split('{{{')[0] + '{{{';
Param = Param.split(AvantParam).join('');
}
var ParamName = Param.replace(/\|.*/g,'')
AllParams.push(ParamName);
if(Paramcount<10) alert(ParamName);
var patt = "{{{" + Param + "}}}";
var Result = "DEBUTPARAM" + Param + "FINPARAM";
NewText = OldText.split(patt).join(Result);
if(NewText!=OldText){
OldText = NewText;
}else{
alert('Problème');
}
if(Paramcount<10) alert(OldText);
if(Paramcount>100){alert('Boucle probable'); return; }
if(OldText.indexOf('}}}')==-1) break;
}
}
}
AllParams = AllParams.sort();
var SortedParams = new Array();
for(var b=0;b<AllParams.length;b++){
if((b>0)&&(AllParams[(b-1)]!=AllParams[b])) SortedParams.push(AllParams[b]);
}
var FormContent = '';
if(!NoParam){
FormContent += '<input type="text" size="100" value="{{'+TemplateName+'" /><br/>';
for(var c=0;c<SortedParams.length;c++){
var ThatParam = SortedParams[c];
var MatchParam = false;
for(var a=0;a<TemplateOldParams.length;a++){
var ThisParam = TemplateOldParams[a];
//alert(ThisParam +' - '+ThatParam);
if(ThisParam.indexOf(ThatParam+'=')!=-1){
var MatchParam = true;
var THEParam = ThisParam;
}
}
if(MatchParam==true){
FormContent += '<input type="text" size="100" value="'+THEParam+'" /><br/>';
}else{
FormContent += '<input type="text" size="100" value="'+ThatParam+'=" /><br/>';
}
//alert(FormContent);
}
FormContent += '<input type="text" size="100" value="}}" /><br/>';
FormContent += '<input type="button" onclick="AutoTemplate_Modify('+position+');" onselect="AutoTemplate_Modify('+position+');" value="Valider" />';
}else{
FormContent += '<span class="error">Ce modèle ne nécessite pas de paramètres.</span>';
}
FormContainer.innerHTML = FormContent;
}
}
}
function AutoTemplate_Modify(position){
}
mw.loader.load("http://toolserver.org/~magnus/wysiwtf/wysiwtf.js");
mediaWiki.loader.load( '//ru.wikipedia.org/w/index.php?title=MediaWiki:WEF_PersonEditor.js&action=raw&ctype=text/javascript&maxage=86400&smaxage=21600' );
// </nowiki>