Projet:Copyvio/copier-coller sourcé.js

Une page de Wikipédia, l'encyclopédie libre.

//

/**
 * 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);//