User:Igna/AutoReportSpambot.js

From Meta, a Wikimedia project coordination wiki

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
//Basado en https://es.wikipedia.org/wiki/Usuario:Ezarate/AutoVEC.js

//<nowiki>
var user = null;

function cancelar(){
	$('#ReportSpambot').remove();
}
function editPage(info){
	$.ajax({
		url: mw.util.wikiScript( 'api' ),
		type: 'POST',
		dataType: 'json',
		data:{
			format: 'json',
			action: 'edit',
			title: info.title,
			appendtext: info.text, // will replace entire page content
			summary: 'Reporting: ' + user + ' using [[m:User:Igna/AutoReportSpambot.js|AutoReportSpambot]]',
			token: mw.user.tokens.get('editToken')
		}
	}).done (function(data){
		if (data && data.edit && data.edit.result && data.edit.result == 'Success'){
			alert('Usuario reportado exitosamente!');
		}else{
			alert('Un error ha ocurrido');
		}
	}).fail (function(){
		alert( 'La solicitud AJAX ha fallado' );
	});
}
function reportar(){
	   var pagina = mw.config.get('wgPageName');
	   if ( mw.config.get( 'wgNamespaceNumber' ) === -1 ){
		 user = mw.util.getParamValue( 'target' ) || pagina.split( '/' )[1];
	   }else{
		 user = pagina.split( ':' )[1]; 
	   }
	   var plantreporte = null;
	   regexpusuario= /\d+\.\d+\.\d+\.\d+/;
	   if (regexpusuario.test(user)){
	   	plantreporte = '\n* {{Srcu|user}}';
	   }else{
		plantreporte = '\n{{Srcu|user}}';
	   }	   
	   editPage({
		title: 'm:User:Igna/Spambots',
		text: plantreporte, 
		summary: user,
	 });
}

function armarbotonera(){
	 if($('#ReportSpambot').length === 0){
		 var pagina = mw.config.get('wgPageName');
		 var divisor = pagina.split('/');
		 var texto= '<div id="ReportSpambot"><input type="button" value="OK" onclick="reportar()"><input type="button" value="Cancelar" onclick="cancelar()"></div>';
		 $('#contentSub').append(texto);
	 }
}

if ((mw.config.get('wgNamespaceNumber') === 3) ||(mw.config.get('wgPageName').indexOf("Special:Contributions") > -1)){ 
   $('#contentSub').append( '<input type="button" value= "ReportSpambot" onclick = armarbotonera() title="Report Spambot">');
}
//</nowiki>