Utilisateur:Quentinv57/PatrolReport.js

Une page de Wikipédia, l'encyclopédie libre.
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.
/*
 ************* PatrolReport *****************
 * Permet de reporter une expression à      *
 * détecter. Attention, les données sont    *
 * envoyées vers le Toolserver !            *
 *                                          *
 * Auteur : Quentinv57, pour Wikimedia      *
 *          -- 05 apr. 2013 --              *
 ********************************************
 */
//<nowiki>
 
// Taken from http://mark.koli.ch/2009/09/use-javascript-and-jquery-to-get-user-selected-text.html
// BEGIN
if(!window.Kolich){
  Kolich = {};
}

Kolich.Selector = {};
Kolich.Selector.getSelected = function(){
  var t = '';
  if(window.getSelection){
    t = window.getSelection();
  }else if(document.getSelection){
    t = document.getSelection();
  }else if(document.selection){
    t = document.selection.createRange().text;
  }
  return t;
}
// END

// Evênement délenché
$(document).bind('keydown', function(event) {
	var str = Kolich.Selector.getSelected();
	
	if (str!='' && event.which==16) {
		var reason = prompt("Pourquoi faut-il révoquer ?");
		
		if (confirm("Attention: les données suivantes ainsi que votre nom et le nom de la page courante seront envoyées à Quentinv57 sur le Toolserver.\n\n"+'Chaine repérée : ['+str+']\n\nRaison évoquée : '+reason+'\n')) {
			$.ajax({
				type: "POST",
				url: "//toolserver.org/~quentinv57/test-frwiki/index.php",
				data: "str="+encodeURIComponent(str)+"&res="+encodeURIComponent(reason)+"&user="+encodeURIComponent(mw.config.get('wgUserName'))+"&loc="+encodeURIComponent(mw.config.get('wgPageName'))
			});
		}
	}
});



//</nowiki>