Projet:Copyvio/copier-coller sourcé.js
//
/**
* Copier-coller sourcé
*
* Ce script permet d'ajouter la source (lien vers l'article + licence) à un copier-coller effectué à partir de Wikipédia.
*
* Auteurs : Kojemiaka et HKza
* Date de dernière révision : 10/04/12
*/
// Documentation du script :
//
//////////////////////ZONE PERSONNALISABLE//////////////////////
var nbreMotsMinimum=7;//Nombre de mots minimum à copier pour que la source s'affiche
var groupeUtilisateurExclu=4;
/*Groupes d'utilisateurs pour qui le gadget n'est pas activé. ex: si groupeUtilisateurExclu=3, alors le sourçage ne sera pas ajoutée aux copier-coller des "autopatrolled"*/
/*
0:"*":tout le monde, (pas d'intérêt)
1:"user":utilisateur enregistré,
2:"autoconfirmed":>4j,
3:"autopatrolled":>90j + >500 edit
4:personne
*/
var numeroEspace=0;// Namespace où le gadget est activé : ici, seulement dans l'espace encyclopédique
/*
"média": -2,
"spécial": -1,
"": 0,
"discussion": 1,
"utilisateur": 2,
"discussion_utilisateur": 3,
"wikipédia": 4,
"discussion_wikipédia": 5,
"fichier": 6,
"discussion_fichier": 7,
"mediawiki": 8,
"discussion_mediawiki": 9,
"modèle": 10,
"discussion_modèle": 11,
"aide": 12,
"discussion_aide": 13,
"catégorie": 14,
"discussion_catégorie": 15,
"portail": 100,
"discussion_portail": 101,
"projet": 102,
"discussion_projet": 103,
"référence": 104,
"discussion_référence": 105,
*/
var nbreCopieLimite=2;// Nombre de copier-coller successifs à partir duquel le sourçage ne s'affiche plus en bas des copier-coller - se remet à 0 si on change d'article
/////////////////FIN DE LA ZONE PERSONNALISABLE/////////////////
function ajouterSource () {
var compteur=0;//Pour compter le nombre de copier-coller successifs
if(mw.config.get('wgAction')=="view" && mw.config.get('wgNamespaceNumber')==numeroEspace /*&& !(wgUserGroups[groupeUtilisateurExclu])*/) { //On teste si le script doit être activé - 3ème test temporairement supprimé pour test
document.oncopy = function () {
compteur ++;
if(compteur < nbreCopieLimite){ //On teste le nombre de copier-coller successifs
var selection = window.getSelection();
if(selection.toString().split(' ').length > nbreMotsMinimum) { // On compte le nombre de mots copiés
var permalink = $('#t-permalink a').attr('href');
var source = "<br/><br/>Source : article <a href=" + permalink + ">" + mw.config.get('wgPageName') + "<a/> de Wikipédia, sous <a href='http://creativecommons.org/licenses/by-sa/3.0/deed.fr'>licence Creative Commons by-sa<a/>"; // Source à ajouter au copier-coller
var copytext = selection + source;
var newdiv = document.createElement('div');
newdiv.style.position='absolute';
newdiv.style.left='-99999px';
$(newdiv).appendTo('body');
newdiv.innerHTML = copytext; // On récupère la sélection et la source dans un div créé dans le body
selection.selectAllChildren(newdiv);
window.setTimeout(function() {
$(newdiv).remove(); // On supprime le div
},0);
}
}
}
}
}
addOnloadHook(ajouterSource);//