Utilisateur:Dr Brains/CopyrightInHistory.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>
mw.loader.using('ext.gadget.getStrDateToday', function () {
if(mw.config.get('wgNamespaceNumber')==2) addOnloadHook(CopyrightInHistory_AddLink);
function CopyrightInHistory_AddLink(){
var Cactions = document.getElementById('p-cactions');
if(!Cactions) return;
var CactionsUl = Cactions.getElementsByTagName('ul')[0];
var NewLi = document.createElement('li');
NewLi.innerHTML = '<a href="javascript:CopyrightInHistory_ChooseForm();" title="Rajouter une entrée d\'historique pour créditer les auteurs" >Copyright</a>';
CactionsUl.appendChild(NewLi);
}
var CopyrightInHistory_Today = getStrDateToday('j/m/a')
var CopyrightInHistory_ChooseForm_Mod = new Array();
var CopyrightInHistory_ChooseForm_Text = new Array();
var CopyrightInHistory_ChooseForm_Params = new Array();
var CopyrightInHistory_ChooseForm_Labels = new Array();
CopyrightInHistory_ChooseForm_Mod.push("{{Traduit de}}");
CopyrightInHistory_ChooseForm_Text.push("traduction");
var CopyrightInHistory_ChooseForm_Params_1 = new Array();
var CopyrightInHistory_ChooseForm_Labels_1 = new Array();
CopyrightInHistory_ChooseForm_Params_1.push('en');
CopyrightInHistory_ChooseForm_Labels_1.push('langue');
CopyrightInHistory_ChooseForm_Params_1.push(mw.config.get('wgPageName').replace(/_/g," "));
CopyrightInHistory_ChooseForm_Labels_1.push('page source');
CopyrightInHistory_ChooseForm_Params_1.push(CopyrightInHistory_Today);
CopyrightInHistory_ChooseForm_Labels_1.push('date de copie');
CopyrightInHistory_ChooseForm_Params_1.push('');
CopyrightInHistory_ChooseForm_Labels_1.push('N° oldid');
CopyrightInHistory_ChooseForm_Params.push(CopyrightInHistory_ChooseForm_Params_1);
CopyrightInHistory_ChooseForm_Labels.push(CopyrightInHistory_ChooseForm_Labels_1);
CopyrightInHistory_ChooseForm_Mod.push("{{Auteurs crédités après copie}}");
CopyrightInHistory_ChooseForm_Text.push("copie brute");
var CopyrightInHistory_ChooseForm_Params_2 = new Array();
var CopyrightInHistory_ChooseForm_Labels_2 = new Array();
CopyrightInHistory_ChooseForm_Params_2.push(mw.config.get('wgPageName').replace(/_/g," "));
CopyrightInHistory_ChooseForm_Labels_2.push('page source');
CopyrightInHistory_ChooseForm_Params_2.push(CopyrightInHistory_Today);
CopyrightInHistory_ChooseForm_Labels_2.push('date de copie');
CopyrightInHistory_ChooseForm_Params_2.push('');
CopyrightInHistory_ChooseForm_Labels_2.push('N° oldid');
CopyrightInHistory_ChooseForm_Params.push(CopyrightInHistory_ChooseForm_Params_2);
CopyrightInHistory_ChooseForm_Labels.push(CopyrightInHistory_ChooseForm_Labels_2);
CopyrightInHistory_ChooseForm_Mod.push("{{auteurs crédités après fusion}}");
CopyrightInHistory_ChooseForm_Text.push("fusion dans le présent article");
var CopyrightInHistory_ChooseForm_Params_3 = new Array();
var CopyrightInHistory_ChooseForm_Labels_3 = new Array();
CopyrightInHistory_ChooseForm_Params_3.push(mw.config.get('wgPageName').replace(/_/g," "));
CopyrightInHistory_ChooseForm_Labels_3.push('page source');
CopyrightInHistory_ChooseForm_Params.push(CopyrightInHistory_ChooseForm_Params_3);
CopyrightInHistory_ChooseForm_Labels.push(CopyrightInHistory_ChooseForm_Labels_3);
CopyrightInHistory_ChooseForm_Mod.push("{{auteurs crédités après scission}}");
CopyrightInHistory_ChooseForm_Text.push("scission depuis la page d'origine");
var CopyrightInHistory_ChooseForm_Params_4 = new Array();
var CopyrightInHistory_ChooseForm_Labels_4 = new Array();
CopyrightInHistory_ChooseForm_Params_4.push(mw.config.get('wgPageName').replace(/_/g," "));
CopyrightInHistory_ChooseForm_Labels_4.push('page source');
CopyrightInHistory_ChooseForm_Params_4.push(CopyrightInHistory_Today);
CopyrightInHistory_ChooseForm_Labels_4.push('date de copie');
CopyrightInHistory_ChooseForm_Params_4.push('');
CopyrightInHistory_ChooseForm_Labels_4.push('N° oldid');
CopyrightInHistory_ChooseForm_Params.push(CopyrightInHistory_ChooseForm_Params_4);
CopyrightInHistory_ChooseForm_Labels.push(CopyrightInHistory_ChooseForm_Labels_4);
CopyrightInHistory_ChooseForm_Mod.push("{{confirmation OTRS}}");
// {{Confirmation OTRS|source=''source''|auteur=''auteur''|otrs=''numéro''|CC-BY-SA=oui|GFDL=oui|tri=''nom de page non accentué''}}
CopyrightInHistory_ChooseForm_Text.push("contenu hors foundation avec autorisation OTRS");
var CopyrightInHistory_ChooseForm_Params_5 = new Array();
var CopyrightInHistory_ChooseForm_Labels_5 = new Array();
CopyrightInHistory_ChooseForm_Params_5.push('source=');
CopyrightInHistory_ChooseForm_Labels_5.push('page source');
CopyrightInHistory_ChooseForm_Params_5.push('auteur=');
CopyrightInHistory_ChooseForm_Labels_5.push('auteur');
CopyrightInHistory_ChooseForm_Params_5.push('otrs=');
CopyrightInHistory_ChooseForm_Labels_5.push('N° OTRS');
CopyrightInHistory_ChooseForm_Params_5.push('GFLD=oui');
CopyrightInHistory_ChooseForm_Labels_5.push('Autorisation GFLD');
CopyrightInHistory_ChooseForm_Params_5.push('CC-BY-SA=oui');
CopyrightInHistory_ChooseForm_Labels_5.push('Autorisation CC-BY-SA');
CopyrightInHistory_ChooseForm_Params_5.push('tri=' + CopyrightInHistory_Noaccent(mw.config.get('wgTitle')));
CopyrightInHistory_ChooseForm_Labels_5.push('Clef de tri');
CopyrightInHistory_ChooseForm_Params.push(CopyrightInHistory_ChooseForm_Params_5);
CopyrightInHistory_ChooseForm_Labels.push(CopyrightInHistory_ChooseForm_Labels_5);
CopyrightInHistory_ChooseForm_Mod.push("{{CC-BY-SA hors Foundation}}");
CopyrightInHistory_ChooseForm_Text.push("contenu hors foundation sous licence CC-BY-SA");
var CopyrightInHistory_ChooseForm_Params_6 = new Array();
var CopyrightInHistory_ChooseForm_Labels_6 = new Array();
CopyrightInHistory_ChooseForm_Params_6.push('source=');
CopyrightInHistory_ChooseForm_Labels_6.push('page source');
CopyrightInHistory_ChooseForm_Params_6.push('auteur=');
CopyrightInHistory_ChooseForm_Labels_6.push('auteur');
CopyrightInHistory_ChooseForm_Params.push(CopyrightInHistory_ChooseForm_Params_6);
CopyrightInHistory_ChooseForm_Labels.push(CopyrightInHistory_ChooseForm_Labels_6);
function CopyrightInHistory_Noaccent(text){
text=text.replace(/Â/g,"A");
text=text.replace(/â/g,"a");
text=text.replace(/É/g,"E");
text=text.replace(/é/g,"e");
text=text.replace(/è/g,"e");
text=text.replace(/ê/g,"e");
text=text.replace(/ë/g,"e");
text=text.replace(/Î/g,"I");
text=text.replace(/î/g,"i");
text=text.replace(/ï/g,"i");
text=text.replace(/ô/g,"o");
text=text.replace(/ç/g,"c");
text=text.replace(/_/g," ");
return text;
}
window.CopyrightInHistory_ChooseForm = function(){
var Content = document.getElementById('bodyContent'); // monobook, myskin, chick, simple, vector
if(!Content) Content = document.getElementById('article'); // cologneblue, nostalgia, standard
if(!Content) Content = document.getElementById('mw_contentholder'); // modern
if(!Content) return;
var OldForm = document.getElementById('CopyrightInHistory_ChooseForm');
if(OldForm) return;
var FormDiv = document.createElement('div');
FormDiv.id = 'CopyrightInHistory_ChooseForm';
var FormContent = '<select id="ChooseForm_Select" onchange="CopyrightInHistory_GetParams()" >';
FormContent += '<option size="60" '
+ 'disabled="disabled" selected="selected" '
+ 'value="Sélectionner le type de crédit" >Sélectionner le type de crédit</option>';
for(var a=0;a<CopyrightInHistory_ChooseForm_Mod.length;a++){
FormContent += '<option size="60" '
+ 'title="'+CopyrightInHistory_ChooseForm_Text[a]+'" '
+ 'value="'+CopyrightInHistory_ChooseForm_Mod[a]+'" >'
+ CopyrightInHistory_ChooseForm_Mod[a]+'</option>';
}
FormContent += '</select>';
FormDiv.innerHTML = FormContent;
Content.parentNode.insertBefore(FormDiv, Content);
};
var CopyrightInHistory_Modele = -1;
function CopyrightInHistory_GetParams(){
var Select = document.getElementById('ChooseForm_Select');
if(!Select) return;
var Options = Select.getElementsByTagName('option');
for(var a=1;a<Options.length;a++){
if(Options[a].selected){
CopyrightInHistory_Modele = (a-1);
}
}
CopyrightInHistory_CreateForm();
}
function CopyrightInHistory_CreateForm(){
var Content = document.getElementById('bodyContent'); // monobook, myskin, chick, simple, vector
if(!Content) Content = document.getElementById('article'); // cologneblue, nostalgia, standard
if(!Content) Content = document.getElementById('mw_contentholder'); // modern
if(!Content) return;
var OldForm = document.getElementById('CopyrightInHistory_Form');
if(OldForm) OldForm.parentNode.removeChild(OldForm);
var FormDiv = document.createElement('div');
FormDiv.id = 'CopyrightInHistory_Form';
var Modele = CopyrightInHistory_ChooseForm_Mod[CopyrightInHistory_Modele];
var Texte = CopyrightInHistory_ChooseForm_Text[CopyrightInHistory_Modele];
var Params = CopyrightInHistory_ChooseForm_Params[CopyrightInHistory_Modele];
var Labels = CopyrightInHistory_ChooseForm_Labels[CopyrightInHistory_Modele];
var FormContent = '<p><b>Informations de copyright : Modèle '+Modele+' ('+Texte+')</b></p>';
for(var a=0;a<Params.length;a++){
var Param = Params[a];
var Label = Labels[a];
FormContent += '<input type="text" id="Param_'+a+'" value="'+Param+'" size="60" ></input>'
+ ' <label for="Param_'+a+'" >'+Label+'</label>'
+ '<br/>';
}
FormContent += '<input type="button" '
+ 'onclick="CopyrightInHistory_CheckForm();" '
+ 'onselect="CopyrightInHistory_CheckForm();" '
+ 'value="Valider" ></input>';
FormContent += '<input type="button" '
+ 'onclick="CopyrightInHistory_CancelForm();" '
+ 'onselect="CopyrightInHistory_CancelForm();" '
+ 'value="Annuler" ></input>';
FormDiv.innerHTML = FormContent;
Content.parentNode.insertBefore(FormDiv, Content);
}
function CopyrightInHistory_CancelForm(){
var OldChooseForm = document.getElementById('CopyrightInHistory_ChooseForm');
if(OldChooseForm) OldChooseForm.parentNode.removeChild(OldChooseForm);
var OldForm = document.getElementById('CopyrightInHistory_Form');
if(OldForm) OldForm.parentNode.removeChild(OldForm);
}
var CopyrightInHistory_NewTemplate = '';
function CopyrightInHistory_CheckForm(){
var Form = document.getElementById('CopyrightInHistory_Form');
var Inputs = Form.getElementsByTagName('input');
var NewParams = '';
for(var b=0;b<Inputs.length;b++){
if(Inputs[b].type == "text"){
var Value = Inputs[b].value;
if(Value!=''){
NewParams += '|' + Value;
}
}
}
CopyrightInHistory_NewTemplate = CopyrightInHistory_ChooseForm_Mod[CopyrightInHistory_Modele];
CopyrightInHistory_NewTemplate = CopyrightInHistory_NewTemplate.split('}}').join(NewParams) + '}}';
//alert(CopyrightInHistory_NewTemplate);
CopyrightInHistory_EditOne();
}
var CopyrightInHistory_ContenuPage = '';
function CopyrightInHistory_EditOne(){
var AdresseEdition = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + mw.config.get('wgPageName').replace(/&/g, "%26") + '&action=edit';
var RequeteEdition = sajax_init_object();
RequeteEdition.open("GET", AdresseEdition, true);
RequeteEdition.onreadystatechange = function() {
if( !(RequeteEdition.readyState == 4 && RequeteEdition.status == 200) ) return;
while(document.body.firstChild){document.body.removeChild(document.body.firstChild);}
document.body.innerHTML = RequeteEdition.responseText;
CopyrightInHistory_ContenuPage = document.getElementById("wpTextbox1").value;
var AncienResume = document.getElementById("wpSummary").value;
if(CopyrightInHistory_NewTemplate.indexOf('{{Traduit de|')!=-1){
var ThisTemplate = CopyrightInHistory_NewTemplate.split('{{Traduit de|').join('{{Traduction/Référence|');
}else{
var ThisTemplate = CopyrightInHistory_NewTemplate;
}
//////////////////////////////////////////////
// OPERATIONS DE TRANSFORMATIONS DU CONTENU //
var TexteFinal = ThisTemplate ;
var SommaireFinal = 'Auteurs crédités : '+ThisTemplate
+ ' ; voir [['+mw.config.get('wgFormattedNamespaces')[(mw.config.get('wgNamespaceNumber')+1)]+':'+mw.config.get('wgTitle')+'/Droit d\'auteur#Crédits d\'auteurs]]'; // Résumé de modification
//////////////////////////////////////////////
document.getElementById ("wpTextbox1").value = TexteFinal ; // Copie du résultat
document.getElementById("wpSummary").value = SommaireFinal ; // Copie du résumé de modif
var AdressePublication = document.getElementById("editform").action;
var boundary = '--------123xyz';
var data = '';
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpTextbox1"\n\n' + TexteFinal + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpSection"\n\n' + document.editform.wpSection.value + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpSummary"\n\n' + SommaireFinal + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpStarttime"\n\n' + document.editform.wpStarttime.value + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpEdittime"\n\n' + document.editform.wpEdittime.value + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpEditToken"\n\n' + document.editform.wpEditToken.value + '\n'
var RequetePublication = sajax_init_object();
RequetePublication.open('POST', AdressePublication, true);
RequetePublication.setRequestHeader('Content-Type', 'multipart/form-data; boundary='+boundary);
RequetePublication.onreadystatechange = function(){
if (RequetePublication.readyState == 4){
while(document.body.firstChild){document.body.removeChild(document.body.firstChild);}
document.body.innerHTML = RequetePublication.responseText;
CopyrightInHistory_EditTwo();
}
}
RequetePublication.send(data + '--' + boundary);
}
RequeteEdition.send(null);
}
function CopyrightInHistory_EditTwo(){
var AdresseEdition = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + mw.config.get('wgPageName').replace(/&/g, "%26") + '&action=edit';
var RequeteEdition = sajax_init_object();
RequeteEdition.open("GET", AdresseEdition, true);
RequeteEdition.onreadystatechange = function() {
if( !(RequeteEdition.readyState == 4 && RequeteEdition.status == 200) ) return;
while(document.body.firstChild){document.body.removeChild(document.body.firstChild);}
document.body.innerHTML = RequeteEdition.responseText;
//////////////////////////////////////////////
// OPERATIONS DE TRANSFORMATIONS DU CONTENU //
var TexteFinal = CopyrightInHistory_ContenuPage ;
var SommaireFinal = 'Retour version précédente après crédits des auteurs';
//////////////////////////////////////////////
document.getElementById ("wpTextbox1").value = TexteFinal ; // Copie du résultat
document.getElementById("wpSummary").value = SommaireFinal ; // Copie du résumé de modif
var AdressePublication = document.getElementById("editform").action;
var boundary = '--------123xyz';
var data = '';
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpTextbox1"\n\n' + TexteFinal + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpSection"\n\n' + document.editform.wpSection.value + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpSummary"\n\n' + SommaireFinal + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpStarttime"\n\n' + document.editform.wpStarttime.value + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpEdittime"\n\n' + document.editform.wpEdittime.value + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpEditToken"\n\n' + document.editform.wpEditToken.value + '\n'
var RequetePublication = sajax_init_object();
RequetePublication.open('POST', AdressePublication, true);
RequetePublication.setRequestHeader('Content-Type', 'multipart/form-data; boundary='+boundary);
RequetePublication.onreadystatechange = function(){
if (RequetePublication.readyState == 4){
while(document.body.firstChild){document.body.removeChild(document.body.firstChild);}
document.body.innerHTML = RequetePublication.responseText;
CopyrightInHistory_EditThree();
}
}
RequetePublication.send(data + '--' + boundary);
}
RequeteEdition.send(null);
}
function CopyrightInHistory_EditThree(){
var AdresseEdition = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + mw.config.get('wgFormattedNamespaces')[(mw.config.get('wgNamespaceNumber')+1)] + ':' + mw.config.get('wgTitle').replace(/&/g, "%26") + "/Droit d'auteur&action=edit§ion=new";
var RequeteEdition = sajax_init_object();
RequeteEdition.open("GET", AdresseEdition, true);
RequeteEdition.onreadystatechange = function() {
if( !(RequeteEdition.readyState == 4 && RequeteEdition.status == 200) ) return;
while(document.body.firstChild){document.body.removeChild(document.body.firstChild);}
document.body.innerHTML = RequeteEdition.responseText;
var TexteFinal = '== Crédits d\'auteurs ==\n'
+ CopyrightInHistory_NewTemplate + '\n'
+ '~~' + '~~\n' ;
var SommaireFinal = '';
//////////////////////////////////////////////
document.getElementById ("wpTextbox1").value = TexteFinal ; // Copie du résultat
document.getElementById("wpSummary").value = SommaireFinal ; // Copie du résumé de modif
var AdressePublication = document.getElementById("editform").action;
var boundary = '--------123xyz';
var data = '';
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpTextbox1"\n\n' + TexteFinal + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpSection"\n\n' + document.editform.wpSection.value + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpSummary"\n\n' + SommaireFinal + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpStarttime"\n\n' + document.editform.wpStarttime.value + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpEdittime"\n\n' + document.editform.wpEdittime.value + '\n'
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpEditToken"\n\n' + document.editform.wpEditToken.value + '\n'
var RequetePublication = sajax_init_object();
RequetePublication.open('POST', AdressePublication, true);
RequetePublication.setRequestHeader('Content-Type', 'multipart/form-data; boundary='+boundary);
RequetePublication.onreadystatechange = function(){
if (RequetePublication.readyState == 4){
while(document.body.firstChild){document.body.removeChild(document.body.firstChild);}
document.body.innerHTML = RequetePublication.responseText;
CopyrightInHistory_EditFinal();
}
}
RequetePublication.send(data + '--' + boundary);
}
RequeteEdition.send(null);
}
function CopyrightInHistory_EditFinal(){
if(CopyrightInHistory_NewTemplate.indexOf('{{Traduit de|')!=-1){
var ThisTemplate = CopyrightInHistory_NewTemplate.split('{{Traduit de|').join('{{Traduction/Référence|');
}else{
var ThisTemplate = CopyrightInHistory_NewTemplate;
}
var AdresseEdition = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + mw.config.get('wgPageName').replace(/&/g, "%26") + '&action=edit';
var RequeteEdition = sajax_init_object();
RequeteEdition.open("GET", AdresseEdition, true);
RequeteEdition.onreadystatechange = function() {
if( !(RequeteEdition.readyState == 4 && RequeteEdition.status == 200) ) return;
while(document.body.firstChild){document.body.removeChild(document.body.firstChild);}
document.body.innerHTML = RequeteEdition.responseText;
var EditForm = document.getElementById("editform");
var NewDiv = document.createElement('div');
NewDiv.innerHTML = '<div style="border:3 px dashed red;margin:1em;padding:1em;">'
+ '<p><b><i>Vous pouvez à présent copier-coller le modèle ci-dessous dans la section « Références » </i></b></p><br/>'
+ '<p><tt><b><big>'+ ThisTemplate+'</big></b></tt></p><br/>'
+ '<p><b><i>ou bien <a href="javascript:window.location.reload();" >revenir à l\'article</a></i></b></p></div>';
EditForm.insertBefore(NewDiv, EditForm.firstChild);
}
RequeteEdition.send(null);
}
});
// </nowiki></pre></source>