Utilisateur:Dr Brains/CommonsToAutresProjets.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.//<source lang=javascript>//<pre><nowiki>
if(mw.config.get('wgNamespaceNumber')==0 && mw.config.get('wgAction')=="edit") addOnloadHook(CommonsToAutresProjets);
function CommonsToAutresProjets(){
var TextArea = document.getElementById("wpTextbox1");
if(!TextArea) return;
var Sommaire = "";
var Text = TextArea.value;
var CommonsCatRegExp = new RegExp("\\{\\{Commonscat[^\\}]+\\}\\}", "ig")
var CommonsCatMatches = Text.match(CommonsCatRegExp);
if(CommonsCatMatches!=null){
//alert("Trouvé Commonscat");
Text = CommonsToAutresProjets_CommonsCat(Text, CommonsCatMatches);
Sommaire += "{{CommonsCat}} -> {{Autres projets}}"
}
var CommonsRegExp = new RegExp("\\{\\{[ ]+Commons[^\\}]+\\}\\}", "ig")
var CommonsMatches = Text.match(CommonsRegExp);
if(CommonsMatches!=null){
//alert("Trouvé Commons");
Text = CommonsToAutresProjets_Commons(Text, CommonsMatches);
Sommaire += "{{Commons}} -> {{Autres projets}}"
}
document.getElementById("wpTextbox1").value = Text;
document.getElementById("wpSummary").value = Sommaire;
}
function CommonsToAutresProjets_CommonsCat(Text, CommonsCatMatches){
for(var a=0;a<CommonsCatMatches.length;a++){
var Param1 = "|commons=Category:"+mw.config.get('wgPageName').replace(/_/g, " ");
var Param2 = "";
var ToReplace = CommonsCatMatches[a];
var Template = CommonsToAutresProjets_Clean(CommonsCatMatches[a]);
var ParamRegExp = new RegExp("\\|[^\\||\\}]]+", "ig");
var Params = Template.match(ParamRegExp);
if(Params!=null){
for(var b=0;b<Params.length;b++){
if(b=0){
Param1 = "|commons=Category:"+Params[b].split("|").join("");
}
if(b=1){
Param2 = "|commons titre="+Params[b].split("|").join("");
}
}
}
var NewTemplate = "{{Autres projets\n"+Param1+"\n"+Param2+(Param2!="" ? "\n" : "") + "}}";
Text = Text.replace(ToReplace, NewTemplate);
}
return Text;
}
function CommonsToAutresProjets_Commons(Text, CommonsMatches){
for(var a=0;a<CommonsMatches.length;a++){
var Param1 = "|commons="+mw.config.get('wgPageName').replace(/_/g, " ")
var Param2 = "";
var ToReplace = CommonsMatches[a];
var Template = CommonsToAutresProjets_Clean(CommonsMatches[a]);
var ParamRegExp = new RegExp("\\|[^\\||\\}]]+", "ig");
var Params = Template.match(ParamRegExp);
if(Params!=null){
for(var b=0;b<Params.length;b++){
if(b=0){
Param1 = "|commons="+Params[b].split("|").join("");
}
if(b=1){
Param2 = "|commons titre="+Params[b].split("|").join("");
}
}
}
var NewTemplate = "{{Autres projets\n"+Param1+"\n"+Param2+"\n}}"
Text = Text.replace(ToReplace, NewTemplate)
}
return Text;
}
function CommonsToAutresProjets_Clean(Template){
Template = Template.replace(/\n/g, "");
Template = Template.replace(/\{ /g, "\{");
Template = Template.replace(/\| /g, "\|");
Template = Template.replace(/ \|/g, "\|");
Template = Template.replace(/ \}/g, "\}");
return Template;
}
//</nowiki></pre></source>