Usuario:Alvaro qc/borrarrazon.js

De Wikipedia, la enciclopedia libre

Nota: Después de guardar, debes refrescar la caché de tu navegador para ver los cambios. Internet Explorer: mantén presionada Ctrl mientras pulsas Actualizar. Firefox: mientras presionas Mayús pulsas el botón Actualizar, (o presiona Ctrl-Shift-R). Los usuarios de Google Chrome y Safari pueden simplemente pulsar el botón Recargar. Para más detalles e instrucciones acerca de otros exploradores, véase Ayuda:Cómo limpiar la caché.

// If TwinkleConfig aint exist.
if( typeof( TwinkleConfig ) == 'undefined' ) {
	TwinkleConfig = {};
}
 
/**
 TwinkleConfig.summaryAd (string)
 If ad should be added or not to summary, default [[WP:TWINKLE|TWINKLE]]
 */
if( typeof( TwinkleConfig.summaryAd ) == 'undefined' ) {
	TwinkleConfig.summaryAd = " usando  [[w:es:WP:TW|Twinkle]]";
}
 
/**
 TwinkleConfig.watchProdPages (boolean)
 If, when applying prod template to page, watch it, default true
 */
if( typeof( TwinkleConfig.watchProdPages ) == 'undefined' ) {
	TwinkleConfig.watchProdPages = false;
}
 
function twinkleprod() {
	if( wgNamespaceNumber != 0 || wgCurRevisionId == false ) {
		return;
	}
	if (twinkleConfigExists)
	{
		mw.util.addPortletLink( 'p-cactions', "javascript:twinkleprod.callback()", "br-mot", "tw-prod", "Borrado rápido, con motivo", "");
	}
	else
	{
		mw.util.addPortletLink('p-cactions', 'javascript:alert("Su cuenta es muy nueva para usar Twinkle.");', 'prod', 'tw-prod', 'Propose deletion via WP:PROD', '');
	}
}
$(twinkleprod);
 
twinkleprod.callback = function twinkleprodCallback() {
	var Window = new SimpleWindow( 800, 400 );
	Window.setTitle( "Propuestas de borrado" );
	var form = new QuickForm( twinkleprod.callback.evaluate );
	var field = form.append( {
			type: 'field',
			label: 'Razón para su eliminado'
		} );
	field.append( {
			type: 'textarea',
			name: 'reason',
			label: 'Razón:'
		} );
	field.append( { type:'submit' } );
 
	var result = form.render();
	Window.setContent( result );
	Window.display();
}
 
twinkleprod.callbacks = {
	main: function( self ) {
		var form = self.responseXML.getElementById('editform');
		var text = form.wpTextbox1.value;
 
		var tag_re = /(\{\{(?:db-?|delete|[aitcmrs]fd|md1)[^{}]*?\|?[^{}]*?\}\})/;
 
		if( tag_re.test( text ) ) {
			self.statelem.warn( 'La página ya contiene una plantilla, abortando' );
			return;
		}
		// Notification to first contributor
		var query = {
			'action': 'query',
			'prop': 'revisions',
			'titles': wgPageName,
			'rvlimit': 1,
			'rvprop': 'user',
			'rvdir': 'newer'
		}
		var callback = function( self ) {
			var xmlDoc = self.responseXML;
			var user = xmlDoc.evaluate( '//rev/@user', xmlDoc, null, XPathResult.STRING_TYPE, null ).stringValue;
			var query = {
				'title': 'User talk:' + user,
				'action': 'submit'
			};
			var wikipedia_wiki = new Wikipedia.wiki( 'Notificando al creador (' + user + ')', query, twinkleprod.callbacks.userNotification );
			wikipedia_wiki.params = self.params;
			wikipedia_wiki.get();
		}
 
		var wikipedia_api = new Wikipedia.api( 'Grabbing data of initial contributor', query, callback );
		wikipedia_api.params = self.params;
		wikipedia_api.post();
 
		var postData = {
			'wpMinoredit': undefined, // Per memo
			'wpWatchthis': TwinkleConfig.watchProdPages ? '' : form.wpWatchthis.checked ? '' : undefined,
			'wpStarttime': form.wpStarttime.value,
			'wpEdittime': form.wpEdittime.value,
			'wpAutoSummary': form.wpAutoSummary.value,
			'wpEditToken': form.wpEditToken.value,
			'wpSummary': "Propuesta de borrado" + TwinkleConfig.summaryAd,
			'wpTextbox1': "\{\{destruir|1=" + self.params.reason + "}}\n" + text
		};
 
		self.post( postData );
	},
	userNotification: function( self ) {
		var form = this.responseXML.getElementById( 'editform' );
		var text = form.wpTextbox1.value;
		text += "\n\{\{subst:Aviso vandalismo|1=" + wgPageName + "\}\} \~\~\~\~";
		var postData = {
			'wpMinoredit': form.wpMinoredit.checked ? '' : undefined,
			'wpWatchthis': form.wpWatchthis.checked ? '' : undefined,
			'wpStarttime': form.wpStarttime.value,
			'wpEdittime': form.wpEdittime.value,
			'wpAutoSummary': form.wpAutoSummary.value,
			'wpEditToken': form.wpEditToken.value,
			'wpSummary': 'Aviso de borrado en  \[\[' + wgPageName + '\]\].' + TwinkleConfig.summaryAd,
			'wpTextbox1': text
		};
 
		self.post ( postData );
	}
}
 
twinkleprod.callback.evaluate = function twinkleprodCallbackEvaluate(e) {
	var form = e.target;
	var reason = form.reason.value;
 
	wgPageName = wgPageName.replace(/_/g, ' ');
 
	Status.init( form );
	var query = { 
		'title': wgPageName, 
		'action': 'submit'
	};
 
	var wikipedia_wiki = new Wikipedia.wiki( 'Marcando artículo', query, twinkleprod.callbacks.main );
	wikipedia_wiki.params = { reason: reason };
	wikipedia_wiki.followRedirect = true;
	wikipedia_wiki.get();
}