Utilisateur:Kojemiaka/gadget copyvio
Apparence
function addCopyvioTab () {
if(wgAction=="edit") {
// Ajout du bouton "Signaler un copyvio sur les pages d'edit
$('#p-namespaces ul').append("<li><span><a id='copyvio'>Signaler un copyvio</a></span></li>");
}
}
function displayForm () {
$('#copyvio').bind('click', function () {
// Texte de la boîte de dialogue
var newDiv = "<div id='dialog' title='Signaler un copyvio'>Entrez l\'adresse du site qui a été copié : <br/><input id='site'/><br/><br/>Vos commentaires (merci de préciser ce qui exactement à été copié) : <br/><textarea id='details'/><div/>"
// Ouverture de la boîte de dialogue
$(newDiv).dialog({ modal: true }, {show: {effect: 'fade', speed: 250}},
{height:300},
{width:500},
{buttons:[{
text: "Signaler le copyvio",
click: function() {
var site = document.getElementById ('site').value;
var comments = document.getElementById ('details').value;
$(this).dialog("close");
function displayHeadband () {
var bandeau1 = "{{Copie de site | " + site + " }}\n\n";
var bandeau2 = "{{Copie à vérifier}}\n\n";
var contenuPage = $("#Tableau_de_bord #wpTextbox1").text(); // "wpTextbox1" = id de la fenêtre d'edit
var result;
if (site) {
result = bandeau1 + contenuPage;
}
else {
result = bandeau2 + contenuPage;
}
return result;
}
function commentCopyvio () {
var contenuPage = $("#Tableau_de_bord #wpTextbox1").text();
var result = contenuPage + "\n\n== [[:{{BASEPAGENAME}}]] ==\n\n" + comments; // Ajout d'une section dans la sous-page
return result;
}
function indexCopyvio () {
var contenuPage = $("#Tableau_de_bord #wpTextbox1").text();
var article = wgPageName; // "wgPageName" = nom de l'article
// Insertion du lien "au milieu" de la page
var part1 = contenuPage.substring(0,(contenuPage.indexOf('<!---------------------------------------------------------------------->'))-1);
var part2 = contenuPage.substring(contenuPage.indexOf('<!---------------------------------------------------------------------->'));
//alert ("part1");
//alert (part1);
//alert ("part2");
//alert (part2);
var result = part1 + "* [[:" + article + "]] ([[Discussion:" + article + "/Droit d'auteur|'''sous-page''']])\n\n" + part2 + "\n";
return result;
}
function autoEdit(Page, convertContent){
/*// Il ne peut pas y avoir deux "editform"
if((wgAction=="edit")||(wgAction=="submit")) return;*/
//var divName = "Tableau_de_bord" + number.toString();
// alert($("#Tableau_de_bord").length);
if ($("#Tableau_de_bord").length){
$("#Tableau_de_bord").remove();
}
//alert($("#Tableau_de_bord").length);
var TableauDeBord = document.createElement('div');
TableauDeBord.id = "Tableau_de_bord";
document.body.appendChild(TableauDeBord);
TableauDeBord.style.position = 'absolute';
TableauDeBord.style.zIndex = '150';
TableauDeBord.style.top = '50px';
TableauDeBord.style.left = '50px';
TableauDeBord.style.width = '600px';
TableauDeBord.style.backgroundColor = 'white';
TableauDeBord.style.opacity = '0';
/* ///////////////////////////// LANCEMENT REQUETE PAGE A EDITER //////////////////// */
// Adresse de requête
var AdresseEdition = wgServer + wgScript + '?title=' + decodeURIComponent(Page) + '&action=edit';
// Lancement de la requête
var RequeteEdition = new XMLHttpRequest(); // Requête ajax GET de la page à éditer
RequeteEdition.open("GET", AdresseEdition, false);
RequeteEdition.onreadystatechange = function() {
if( !(RequeteEdition.readyState == 4 && RequeteEdition.status == 200) ) return;
TableauDeBord.innerHTML = RequeteEdition.responseText; // Affichage de la page à éditer
/* ///////////////////////////// FIN REQUETE PAGE A EDITER //////////////////// */
// Modification de la page à éditer
var TexteFinal = convertContent();
var SommaireFinal = 'Test'; // Résumé de modification
// Demande de confirmation
//var SurEtCertain = confirm('Sauvegarder la modification ?');
//if(!SurEtCertain) return;
/* ///////////////////////////// LANCEMENT REQUETE PUBLICATION //////////////////// */
// Adresse de la requ뵥 (attribut "action" de l'ꭩment <form> )
var AdressePublication = wgServer + $("#Tableau_de_bord #editform").attr('action');
// Crꢴion des "param鵲es" de la requ뵥
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' + $('#Tableau_de_bord #editform input[name="wpSection"]').attr('value')/*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' + $('#Tableau_de_bord #editform input[name="wpStarttime"]').attr('value') + '\n';
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpMinoredit"\n\n' + $('#Tableau_de_bord #editform input[name="wpMinoredit"]').attr('value') + '\n';
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpWatchthis"\n\n' + $('#Tableau_de_bord #editform input[name="wpWatchthis"]').attr('value') + '\n';
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpEdittime"\n\n' + $('#Tableau_de_bord #editform input[name="wpEdittime"]').attr('value') + '\n';
data += '--' + boundary + '\nContent-Disposition: form-data; name="wpEditToken"\n\n' + $('#Tableau_de_bord #editform input[name="wpEditToken"]').attr('value') + '\n';
// Lancement de la requ뵥
var RequetePublication = new XMLHttpRequest(); // Requ뵥 ajax POST de la page ࡩditer
RequetePublication.open('POST', AdressePublication, true);
RequetePublication.setRequestHeader('Content-Type', 'multipart/form-data; boundary='+boundary);
RequetePublication.onreadystatechange = function(){
if (RequetePublication.readyState == 4){
// Affichage de la page publiꥍ
TableauDeBord.innerHTML = RequetePublication.responseText;
/* ///////////////////////////// FIN REQU˔E PUBLICATION //////////////////// */
}
}
RequetePublication.send(data + '--' + boundary);
}
RequeteEdition.send(null);
}
autoEdit (wgPageName, displayHeadband);
/*"Wikip%C3%A9dia:Bac_%C3%A0_sable"*/
//on crée une sous-page seulement à condition que l'utilisateur ait ajouté quelques chose dans la section "commentaires"
if (comments){
var sousPage = wgPageName + "/Droit_d%27auteur";
autoEdit(sousPage,commentCopyvio);
//trois pages differentes
var url1 = wgServer + wgScript + '?title=' + decodeURIComponent(sousPage);
window.open (url1, "_newtab");
}
autoEdit("Wikip%C3%A9dia:Pages_soup%C3%A7onn%C3%A9es_de_violation_de_copyright",indexCopyvio);
// autoEdit("Utilisateur:Kojemiaka/Pages_soup%C3%A7onn%C3%A9es_de_violation_de_copyright",indexCopyvio);
var url2 = wgServer + wgScript + '?title=' + decodeURIComponent("Utilisateur:Kojemiaka/Pages_soup%C3%A7onn%C3%A9es_de_violation_de_copyright");
window.open (url1, "_newtab");
document.location.href = wgServer + wgScript + '?title=' + decodeURIComponent(wgPageName);
alert ("Le tratement est terminé");
}
},
{
text: "Annuler",
click: function() { $(this).dialog("close"); }
}
]}
);
});
}
function main () {
addCopyvioTab ();
displayForm ();
}
addOnloadHook(main); // Charge main ࡣhaque chargement de page