Utilisateur:Kojemiaka/gadget copyvio

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