MediaWiki:Gadget-botonera.js

From Potatopedia

Note: After saving, 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.
/**
 * Botonera
 * <nowiki>
 */
/*jslint eqeq: true, vars: true, plusplus: true, white: true, browser: true*/
/*global jQuery, mediaWiki*/

// Protege contra doble inclusión, desactiva en páginas que no sean de edición
if ( window.botonera === undefined && $.inArray( mw.config.get( 'wgAction' ), ['edit', 'submit'] ) > -1 ) {

	//Global
	var botonera = {};

	//Enlaza con window
	window.botonera = botonera;

	//Scope local para no contaminar espacio global
	(function ( $, mw ) {
		'use strict';

		/**
		 * Main
		 */
		var queue = [],
			krInsertWikiEditorButton,
			queueButton,
			handleQueue,
			//insertButton,
			ejecutar;

		/**
		 * krInsertWikiEditorButton
		 * Insert WikiEditor Button
		 * @created 2011-06-05
		 * @source meta.wikimedia.org/wiki/User:Krinkle/Scripts/InsertWikiEditorButton
		 * @version 0.3.0 (2012-03-12)
		 * @author Krinkle, 2011 - 2012
		 * @author Locos epraix, 2012
		 * @license Released in the public domain
		 * @param options {Object} An object with options:
		 * - section {String} (optional) The name of the section in the WikiEditor. Defaults to 'main'
		 * - group {String} (optional) The name of the group in the WikiEditor. Defaults to 'insert'
		 * - id {String} (required) Unique id (ie. 'my-button')
		 * - icon {String} (recommended) URL to the icon, should be square about 21 to 22px
		 * - label {String} (required) Tooltip displayed when hovering button
		 * - callBackPrev {Function} (optional) Called when the button is clicked, executed before the string manipulation stuff
		 * - insertBefore {String} (optional) Wikitext to be inserted before the cursor on-click
		 * - sampleText {String} (optional) Text inserted in place of the cursor if no text was selected
		 * - insertAfter {String} (optional) Wikitext to be inserted after the cursor on-click
		 * - ownline {Boolean} (optional) Specifies if the inserted text go in it's own line. Defaults to 'false'
		 * - callback {Function} (optional) Called when the button is clicked
		 * - autoSummary {mixed} (optional) Null or an Object with the following properties:
		 *   - summary {String} (required) Edit summary that should be used
		 *   - position {String} (optional) 'append', 'prepend' or 'replace'
		 *   - delimiter {String} (optional) delimiter between the (possibly) current summary and the to-be-inserted summary
		 */
		krInsertWikiEditorButton = function( options ) {
			//options y chequeo de id y label movido a queueButton() para evitar duplicado
			var cajaTexto1 = $( '#wpTextbox1' ),
				btnObj = {
					'section': options.section,
					'group': options.group,
					'tools': {}
			};
			btnObj.tools[options.id] = {
					label: options.label,
					type: 'button',
					icon: options.icon,
					action: {
						type: 'callback',
						execute: function () {
							// Callback
							if ( $.isFunction( options.callbackPrev ) ) {
								options.callbackPrev();
							}
							// encapsulateSelection
							cajaTexto1.textSelection( 'encapsulateSelection', {
								pre: options.insertBefore,
								peri: options.sampleText,
								post: options.insertAfter,
								ownline: options.ownline
							});
							// Auto summary
							if ( options.autoSummary && options.autoSummary.summary ) {
								var $summary = $('#wpSummary'),
									currentSum = $summary.val();
								if ( $.isEmpty( currentSum ) ) {
									$summary.val( options.autoSummary.summary );
								} else {
									switch ( options.autoSummary.position ) {
									case 'prepend':
										$summary.val(
												options.autoSummary.summary +
												options.autoSummary.delimiter +
												currentSum
										);
										break;
									case 'replace':
										$summary.val( options.autoSummary.summary );
										break;
									default: // 'append'
										$summary.val(
												currentSum +
												options.autoSummary.delimiter +
												options.autoSummary.summary
										);
									}
								}
							}
							// Callback
							if ( $.isFunction( options.callback ) ) {
								options.callback();
							}
						}
					}
			};
			cajaTexto1.wikiEditor( 'addToToolbar', btnObj );
		};

		queueButton = function( options ) {
			// Defaults
			options = $.extend( {
				'section': 'main',
				'group': 'insert',
				'id': null,
				'icon': '//upload.wikimedia.org/wikipedia/commons/thumb/f/f0/Toolbaricon_bold_%21.png/21px-Toolbaricon_bold_%21.png',
				'iconOld': '//upload.wikimedia.org/wikipedia/commons/e/ec/Button_base.png',
				'label': '',
				'callbackPrev': null,
				'insertBefore': '',
				'sampleText': '',
				'insertAfter': '',
				'ownline': false,
				'callback': null,
				'autoSummary': {
					'summary': null,
					'position': 'append',
					'delimiter': '; '
				}
			}, options );
			// Required
			if ( !options.id || !options.label ) {
				return false;
			}
			queue.push( options );
		};

		handleQueue = function() {
			var i;
			for (i = 0; i < queue.length; i += 1) {
				botonera.insertButton( queue[i] );
			}
			queue = [];
		};

		/**
		 * Función expuesta para el que quiera añadir botones adicionales
		 */
		botonera.insertButton = function( btnObj ) {
			if( mw.user.options.get( 'usebetatoolbar' ) ) {
				mw.loader.using( 'ext.wikiEditor.toolbar', function () {
					krInsertWikiEditorButton( btnObj );
				} );
			} else {
				mw.loader.using( 'mediawiki.action.edit', function() {
					mw.toolbar.addButton( btnObj.iconOld || btnObj.icon, btnObj.label, btnObj.insertBefore,
						btnObj.insertAfter, btnObj.sampleText, btnObj.id);
				} );
			}
		};

		/**
		 * Aux
		 */
		var selectionStart,
			selectionEnd;

		function extraEscucharSeleccion() {
			var cajaTexto1 = $( '#wpTextbox1' );
			cajaTexto1.on( "select", function () {
				selectionStart = cajaTexto1[0].selectionStart;
				selectionEnd = cajaTexto1[0].selectionEnd;
			});
		}

		function extraCambiarCase() {
			var cajaTexto1 = $( '#wpTextbox1' ),
				selr = cajaTexto1.val().length - selectionEnd,
				selt = cajaTexto1.val().substring( selectionStart, selectionEnd ),
				temp;

			if (selectionEnd > selectionStart) {
				if (selt == selt.toUpperCase()) {
					selt = selt.toLowerCase();
				} else if (selt == selt.toLowerCase() && ( selectionEnd - selectionStart ) > 1) {
					selt = selt.substring(0, 1).toUpperCase() + selt.substring(1).toLowerCase();
				} else {
					selt = selt.toUpperCase();
				}

				cajaTexto1.val(
					cajaTexto1.val().substring( 0, selectionStart ) +
					selt +
					cajaTexto1.val().substring( selectionEnd ) );
				cajaTexto1[0].selectionStart = selectionStart;
				if ( selectionEnd > selectionStart ) {
					cajaTexto1[0].selectionEnd = cajaTexto1.val().length - selr;
				} else {
					temp = cajaTexto1[0].selectionEnd;
					cajaTexto1[0].selectionEnd = selectionStart;
					cajaTexto1[0].selectionStart = temp;
				}
			}
		}

		/*
		function extraAvisoUsuario() {
			btnAviso.avisoStr = window.prompt(
				"Tipo de aviso a usuario:\n" + "prueba : Prueba\n" +
				"prueba0a : Wikietiqueta\n" + "prueba0b : Estilo\n" + "prueba0c : Spam\n" +
				"prueba2 : Sin sentido\n" + "prueba2a : Blanqueo\n" + "prueba3 : Detente\n" +
				"prueba4 : Última advertencia\n" + "prueba5 : Bloqueo"
			);
		}*/

		function extraPreview() {
			$( '#wpPreview' ).click();
		}

		function extraGrabar() {
			$( '#editform' ).submit();
		}

		function extraCateg() {
			var cajaTexto1 = $( '#wpTextbox1' ),
			    texto = cajaTexto1.val(),
			    indice = texto.search( /\[\[Categoría:/ ),
			    nombrecat;

			nombrecat = window.prompt( 'Nombre de la categoría:' );
			if (indice == -1) {
				cajaTexto1.val( cajaTexto1.val() + '\n[[Categoría:' + nombrecat + ']]' );
			} else {
				var nuevotexto = texto.substr( 0, indice ) + '\n[[Categoría:' + nombrecat + ']]' +
					'\n' + texto.substr( indice, texto.length );
				cajaTexto1.val( nuevotexto );
			}
		}

		function extraArchivarConsultaBorrado() {
			var cajaTexto1 = $( '#wpTextbox1' );
			cajaTexto1.val( cajaTexto1.val() + '\n{{cierracdb-ab}}' );
			cajaTexto1[0].selectionStart = 0;
			cajaTexto1[0].selectionEnd = 0;
		}

		ejecutar = function () {
			var cajaTexto1 = $( '#wpTextbox1' );
			/**
			 * Añadiendo secciones para el wikiEditor y rutina para el caseChanger
			 * Miscelánea
			 * Mantenimiento
			 */
			if( mw.user.options.get( 'usebetatoolbar' ) ) {
				extraEscucharSeleccion();
				mw.loader.using( 'ext.wikiEditor.toolbar', function () {
					cajaTexto1.wikiEditor( 'addToToolbar', {
						'section': 'advanced',
						'groups': {
							'mw-botonera-miscelanea': {
								'label': 'Miscelánea'
							}
						}
					});
					cajaTexto1.wikiEditor( 'addToToolbar', {
						'section': 'advanced',
						'groups': {
							'mw-botonera-mantenimiento': {
								'label': 'Mantenimiento'
							}
						}
					});
				} );
			}

			queueButton({
				'id': 'mw-botonera-tachado',
				'section': 'advanced',
				'group': 'format',
				'icon': '//upload.wikimedia.org/wikipedia/commons/f/f9/Toolbaricon_regular_S_stroke.png',
				'iconOld': '//upload.wikimedia.org/wikipedia/commons/3/30/Btn_toolbar_rayer.png',
				'label': 'Texto tachado',
				'insertBefore': '<s>',
				'sampleText': 'Texto tachado',
				'insertAfter': '</s>'
			});

			queueButton({
				'id': 'mw-botonera-subrayado',
				'section': 'advanced',
				'group': 'format',
				'icon': '//upload.wikimedia.org/wikipedia/commons/1/13/Toolbaricon_regular_U_underline.png',
				'iconOld': '//upload.wikimedia.org/wikipedia/commons/f/fd/Button_underline.png',
				'label': 'Texto subrayado',
				'insertBefore': '<u>',
				'sampleText': 'Texto subrayado',
				'insertAfter': '</u>'
			});

			//Sólo sirve en wikiEditor
			if( mw.user.options.get( 'usebetatoolbar' ) ) {
				queueButton({
					'id': 'mw-botonera-cambiarcase',
					'section': 'advanced',
					'group': 'size',
					'icon': '//upload.wikimedia.org/wikipedia/commons/e/e4/Toolbar_case.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/1/12/Button_case.png',
					'label': 'Cambiar a mayúsculas o minúsculas',
					'callback': extraCambiarCase
				});
			}

			queueButton({
				'id': 'mw-botonera-comillas',
				'section': 'advanced',
				'group': 'insert',
				'icon': '//upload.wikimedia.org/wikipedia/commons/a/ac/Norwegian_quote_sign.png',
				'iconOld': '//upload.wikimedia.org/wikipedia/commons/2/26/Button_latinas.png',
				'label': 'Comillas angulares',
				'insertBefore': '«',
				'sampleText': '',
				'insertAfter': '»'
			});

			queueButton({
				'id': 'mw-botonera-pre',
				'section': 'advanced',
				'group': 'insert',
				'icon':'//upload.wikimedia.org/wikipedia/commons/b/b9/Toolbar_pre_vector.png',
				'iconOld': '//upload.wikimedia.org/wikipedia/commons/3/3c/Button_pre.png',
				'label': 'Texto preformateado',
				'insertBefore': '<pre>',
				'sampleText': 'Texto preformateado',
				'insertAfter': '</pre>'
			});

			queueButton({
				'id': 'mw-botonera-code',
				'section': 'advanced',
				'group': 'insert',
				'icon': '//upload.wikimedia.org/wikipedia/commons/6/62/Toolbar_code.png',
				'iconOld': '//upload.wikimedia.org/wikipedia/commons/2/23/Button_code.png',
				'label': 'Código',
				'insertBefore': '<code>',
				'sampleText': 'Código',
				'insertAfter': '</code>'
			});

			queueButton({
				'id': 'mw-botonera-blockquote',
				'section': 'advanced',
				'group': 'insert',
				'icon': '//upload.wikimedia.org/wikipedia/commons/f/fd/Toolbar_blockquote.png',
				'iconOld': '//upload.wikimedia.org/wikipedia/en/f/fd/Button_blockquote.png',
				'label': 'Blockquote',
				'insertBefore': '<blockquote>',
				'sampleText': 'Bloque de texto citado',
				'insertAfter': '</blockquote>'
			});

			queueButton({
				'id': 'mw-botonera-mate',
				'section': 'advanced',
				'group': 'insert',
				'icon': '//upload.wikimedia.org/wikipedia/commons/1/1c/Toolbaricon_math.png',
				'iconOld': '//upload.wikimedia.org/wikipedia/commons/3/3c/Button_pre.png',
				'label': 'Formula matemática (LaTeX)',
				'insertBefore': '<math>',
				'sampleText': 'Escribe aquí una fórmula',
				'insertAfter': '</math>'
			});

			queueButton({
				'id': 'mw-botonera-linea',
				'section': 'advanced',
				'group': 'insert',
				'icon': '//upload.wikimedia.org/wikipedia/commons/b/b4/Toolbaricon_rule.png',
				'iconOld': '//upload.wikimedia.org/wikipedia/commons/a/a4/H-line_icon.png',
				'label': 'Linea',
				'insertBefore': '----\n',
				'ownline': true
			});

			queueButton({
				'id': 'mw-botonera-oculto',
				'section': 'advanced',
				'group': 'insert',
				'icon': '//upload.wikimedia.org/wikipedia/commons/1/11/Toolbaricon_hiddencomment.png',
				'iconOld': '//upload.wikimedia.org/wikipedia/commons/1/1b/Button_hide_wiki_tag.png',
				'label': 'Comentario oculto',
				'insertBefore': '<!-- ',
				'sampleText': 'Texto oculto',
				'insertAfter': ' -->'
			});

			queueButton({
				'id': 'mw-botonera-plantilla',
				'section': 'advanced',
				'group': 'insert',
				'icon': '//upload.wikimedia.org/wikipedia/commons/4/4a/Norwegian_template_sign.png',
				'iconOld': '//upload.wikimedia.org/wikipedia/commons/e/eb/Button_plantilla.png',
				'label': 'Plantilla',
				'insertBefore': '{{',
				'sampleText': 'Nombre de plantilla',
				'insertAfter': '}}'
			});

			/*queueButton({
				'id': 'mw-botonera-cite',
				'section': 'advanced',
				'group': 'insert',
				'icon': '//upload.wikimedia.org/wikipedia/commons/2/2f/Toolbaricon_quote_1.png',
				'iconOld': '//upload.wikimedia.org/wikipedia/commons/3/32/Button_apostrophe.PNG',
				'label': 'Cita',
				'insertBefore': '{{cita|1=',
				'sampleText': 'Texto en cita',
				'insertAfter': '|2=Autor}}',
				'ownline': true
			});*/ //Not used

			//Que no sea main y anexo
			if ( $.inArray( mw.config.get( 'wgNamespaceNumber' ), [0, 104]) == -1 ) {
				queueButton({
					'id': 'mw-botonera-usuario',
					'section': 'advanced',
					'group': 'mw-botonera-miscelanea',
					'icon': '//upload.wikimedia.org/wikipedia/commons/8/8a/Toolbar_user.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/2/29/Button_user.png',
					'label': 'Usuario',
					'insertBefore': '{{u|1=',
					'sampleText': 'nombre usuario',
					'insertAfter': '}}'
				});

				queueButton({
					'id': 'mw-botonera-nofirmado',
					'section': 'advanced',
					'group': 'mw-botonera-miscelanea',
					'icon': '//upload.wikimedia.org/wikipedia/commons/3/34/Toolbar_miss_signature.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/1/1b/Button_miss_signature.png',
					'label': 'No firmado',
					'insertBefore': '{{subst:nofirmado|1=',
					'sampleText': 'nombre usuario',
					'insertAfter': '|2=--~~~~}}'
				});

				queueButton({
					'id': 'mw-botonera-hecho',
					'section': 'advanced',
					'group': 'mw-botonera-miscelanea',
					'icon': '//upload.wikimedia.org/wikipedia/commons/thumb/f/fb/Yes_check.svg/16px-Yes_check.svg.png',
					'label': 'Hecho',
					'insertBefore': '{{hecho|1=',
					'sampleText': '',
					'insertAfter': '}}'
				});

				//Para discusiones
				if ( mw.config.get( 'wgNamespaceNumber' ) == 3) {
					if ( /^\d+\.\d+\.\d+\.\d+$/.test( mw.config.get( 'wgTitle' ) ) ) {
						queueButton({
							'id': 'mw-botonera-bienvenido',
							'section': 'advanced',
							'group': 'mw-botonera-miscelanea',
							'icon': '//upload.wikimedia.org/wikipedia/commons/3/33/Toolbar_welcome.png',
							'iconOld': '//upload.wikimedia.org/wikipedia/commons/4/4a/Button_welcome.png',
							'label': 'Bienvenido',
							'insertBefore': '{{subst:Bienvenida ip}} --~~~~',
							'autoSummary': {
								'summary': 'Bienvenido'
							}
						});
					} else {
						queueButton({
							'id': 'mw-botonera-bienvenido',
							'section': 'advanced',
							'group': 'mw-botonera-miscelanea',
							'icon': '//upload.wikimedia.org/wikipedia/commons/3/33/Toolbar_welcome.png',
							'iconOld': '//upload.wikimedia.org/wikipedia/commons/4/4a/Button_welcome.png',
							'label': 'Bienvenido',
							'insertBefore': '{{subst:Bienvenido usuario}} --~~~~',
							'autoSummary': {
								'summary': 'Bienvenido'
							}
						});
					}
				}
			}

			//Sólo sirve en wikiEditor
			if( mw.user.options.get( 'usebetatoolbar' ) ) {
				queueButton({
					'id': 'mw-botonera-previsualizar',
					'section': 'advanced',
					'group': 'mw-botonera-miscelanea',
					'icon': '//upload.wikimedia.org/wikipedia/commons/b/bd/Toolbar_preview.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/e/e9/Button_preview.png',
					'label': 'Previsualizar página',
					'callback': extraPreview
				});

				queueButton({
					'id': 'mw-botonera-grabar',
					'section': 'advanced',
					'group': 'mw-botonera-miscelanea',
					'icon': '//upload.wikimedia.org/wikipedia/commons/f/f6/Toolbar_save_changes.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/9/90/Button_save_changes.png',
					'label': 'Grabar página',
					'callback': extraGrabar
				});
			}

			/**
			 * Botones de mantenimiento
			 */
			//Para discusiones
			if ( mw.config.get( 'wgNamespaceNumber' ) == 3) {
				queueButton({
					'id': 'mw-botonera-aviso-copyvio',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/7/71/Toolbar_copyvio.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/c/c9/Button_copy_vio.png',
					'label': 'Aviso copyvio',
					'insertBefore': '{{subst:aviso copyvio|1=',
					'sampleText': 'nombre artículo',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Posible violación de copyright'
					}
				});

				queueButton({
					'id': 'mw-botonera-aviso-plagio',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/9/94/Toolbar_copyright.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/7/72/Button_copy_vio_plagio.png',
					'label': 'Aviso plagio',
					'insertBefore': '{{subst:aviso copyvio|1=',
					'sampleText': 'nombre artículo',
					'insertAfter': '|2=plagio}} --~~~~',
					'autoSummary': {
						'summary': 'Evidente violación de copyright'
					}
				});

				queueButton({
					'id': 'mw-botonera-aviso-promocional',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/6/6b/Toolbar_spam.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/f/fb/Button_spam2.png',
					'label': 'Aviso promocional',
					'insertBefore': '{{subst:aviso promocional|1=',
					'sampleText': 'nombre artículo',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Autopromoción'
					}
				});

				queueButton({
					'id': 'mw-botonera-aviso-borrar',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/2/23/Toolbar_cross.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/f/f0/Bouton_Vandale0.png',
					'label': 'Aviso borrar',
					'insertBefore': '{{subst:aviso BR|1=',
					'sampleText': 'nombre artículo',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Aviso de borrado'
					}
				});

				queueButton({
					'id': 'mw-botonera-aviso-propuestaborrado',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/b/ba/Toolbar_supr.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/f/f8/Button_suppr.png',
					'label': 'Aviso propuesta de borrado',
					'insertBefore': '{{subst:Aviso propb|1=',
					'sampleText': 'nombre artículo',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Propuesta de borrado'
					}
				});

				queueButton({
					'id': 'mw-botonera-aviso-consultaborrado',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/7/7b/Toolbar_clock.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/c/cd/Button_vote_deletion.png',
					'label': 'Aviso consulta de borrado',
					'insertBefore': '{{subst:Aviso cdb|1=',
					'sampleText': 'nombre artículo',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Consulta de borrado'
					}
				});

				queueButton({
					'id': 'mw-botonera-aviso-infraesbozo',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/0/05/Toolbar_microstub.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/7/7a/Button_micro_stub.png',
					'label': 'Aviso infraesbozo',
					'insertBefore': '{{subst:Aviso infraesbozo|1=',
					'sampleText': 'nombre artículo',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Infraesbozo'
					}
				});

				queueButton({
					'id': 'mw-botonera-aviso-contextualizar',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/c/c2/Toolbar_contexto.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/e/e2/Button_contexto.png',
					'label': 'Aviso contextualizar',
					'insertBefore': '{{subst:aviso contextualizar|1=',
					'sampleText': 'nombre artículo',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Contextualizar'
					}
				});

				queueButton({
					'id': 'mw-botonera-aviso-SRA',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/1/17/Toolbar_relevancy.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/6/63/Button_out_relevancy.png',
					'label': 'Aviso sin relevancia aparente',
					'insertBefore': '{{subst:aviso SRA|1=',
					'sampleText': 'nombre artículo',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Sin relevancia'
					}
				});

				queueButton({
					'id': 'mw-botonera-aviso-wikificar',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/0/06/Toolbar_wikificar.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/0/0d/Button_wikification.png',
					'label': 'Aviso wikificar',
					'insertBefore': '{{subst:aviso wikificar|1=',
					'sampleText': 'nombre artículo',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Wikificar'
					}
				});

				queueButton({
					'id': 'mw-botonera-aviso-copyedit',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/5/53/Toolbar_copyedit.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/e/e9/Button_copy_edit.png',
					'label': 'Aviso copyedit',
					'insertBefore': '{{subst:aviso copyedit|1=',
					'sampleText': 'nombre artículo',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Copyedit'
					}
				});

				queueButton({
					'id': 'mw-botonera-aviso-fuenteprimaria',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/c/c8/Toolbar_fuente_primaria.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/0/02/Button_fuente_primaria.png',
					'label': 'Aviso fuente primaria',
					'insertBefore': '{{subst:aviso FP|1=',
					'sampleText': 'nombre artículo',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Fuente primaria'
					}
				});

				queueButton({
					'id': 'mw-botonera-aviso-referencias',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/3/34/Toolbar_references.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/5/5c/Button_references2.png',
					'label': 'Aviso referencias',
					'insertBefore': '{{subst:aviso referencias|1=',
					'sampleText': 'nombre artículo',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Aviso falta de referencias'
					}
				});

				queueButton({
					'id': 'mw-botonera-aviso-votonulo',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/6/6c/Toolbar_anular_voto.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/3/32/Button_anular_voto.png',
					'label': 'Aviso voto nulo',
					'insertBefore': '{{subst:aviso votonulo}} --~~~~',
					'autoSummary': {
						'summary': 'Voto anulado'
					}
				});

				/*
				queueButton({
					'id': 'mw-botonera-aviso-usuario',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/c/cf/Toolbar_aviso_vec.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/e/ec/Button_aviso.png',
					'label': 'Aviso usuario',
					'callbackPrev': usuario,
					'avisoStr': '',
					'insertBefore': '{{subst:prueba' + btnAviso.avisoStr + '}} --~~~~',
					'autoSummary': {
						'summary': 'Aviso al usuario'
					}
				});
				*/

				queueButton({
					'id': 'mw-botonera-aviso-imagenretirada',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/3/39/Toolbar_avimg.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/3/3a/Button_av-img.png',
					'label': 'Aviso imagen retirada',
					'insertBefore': '{{subst:aviso imagen|1=',
					'sampleText': 'nombre de la imagen.ext',
					'insertAfter': '}} --~~~~',
					'autoSummary': {
						'summary': 'Imagen retirada'
					}
				});

			//Para no discusiones de usuario
			} else {
				queueButton({
					'id': 'mw-botonera-copyvio',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/7/71/Toolbar_copyvio.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/c/c9/Button_copy_vio.png',
					'label': 'Copyvio',
					'insertBefore': '{{copyvio|1=',
					'sampleText': 'posible violación de copyright desde',
					'insertAfter': '|2=--~~~~|3={{subst:CURRENTDAY}}|4={{subst:CURRENTMONTHNAME}}}}\n\n<!--',
					'autoSummary': {
						'summary': 'Posible violación de copyright'
					}
				});

				queueButton({
					'id': 'mw-botonera-plagio',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/9/94/Toolbar_copyright.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/7/72/Button_copy_vio_plagio.png',
					'label': 'Plagio',
					'insertBefore': '{{plagio|1=',
					'sampleText': 'evidente violación de copyright desde',
					'insertAfter': '|2=--~~~~|3={{subst:CURRENTDAY}}|4={{subst:CURRENTMONTHNAME}}}}\n\n<!--',
					'autoSummary': {
						'summary': 'Evidente violación de copyright'
					}
				});

				queueButton({
					'id': 'mw-botonera-promocional',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/6/6b/Toolbar_spam.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/f/fb/Button_spam2.png',
					'label': 'Promocional',
					'insertBefore': '{{promocional|1={{subst:CURRENTDAY}}|2={{subst:CURRENTMONTHNAME}}}}\n',
					'autoSummary': {
						'summary': 'Artículo promocional'
					}
				});

				queueButton({
					'id': 'mw-botonera-borrar',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/2/23/Toolbar_cross.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/f/f0/Bouton_Vandale0.png',
					'label': 'Destruir',
					'insertBefore': '{{destruir|1=',
					'sampleText': 'motivo para destruir',
					'insertAfter': '}}\n',
					'autoSummary': {
						'summary': 'Destruir'
					}
				});

				queueButton({
					'id': 'mw-botonera-propuestaborrado',
					'section': 'advanced',
					'group': 'mw-botonera-mantenimiento',
					'icon': '//upload.wikimedia.org/wikipedia/commons/b/ba/Toolbar_supr.png',
					'iconOld': '//upload.wikimedia.org/wikipedia/commons/f/f8/Button_suppr.png',
					'label': 'Propuesta borrado',
					'insertBefore': '{{subst:propb|1=',
					'sampleText': 'motivo para proponer borrado',
					'insertAfter': '}}\n',
					'autoSummary': {
						'summary': 'Propuesta de borrado'
					}
				});

				//Consulta de borrado
				if ( mw.config.get( 'wgPageName' ).indexOf( "Wikipedia:Consultas_de_borrado/" ) > -1 ) {
					if ( cajaTexto1.val() == '' ) {
						queueButton({
							'id': 'mw-botonera-consultaborrado',
							'section': 'advanced',
							'group': 'mw-botonera-mantenimiento',
							'icon': '//upload.wikimedia.org/wikipedia/commons/7/7b/Toolbar_clock.png',
							'iconOld': '//upload.wikimedia.org/wikipedia/commons/c/cd/Button_vote_deletion.png',
							'label': 'Consulta de borrado',
							'insertBefore': '{{subst:cdb2 | pg=' +
								mw.config.get( 'wgPageName' ).substring( mw.config.get( 'wgPageName' )
								.indexOf( '/' ) + 1 ).replace(/_/g, ' ') + ' | cat=N | texto=',
							'sampleText': 'motivo para el borrado',
							'insertAfter': ' }} --~~~~',
							'ownline': true,
							'autoSummary': {
								'summary': 'Consulta de borrado'
							}
						});
					} else {
						if ( $.inArray( 'sysop', mw.config.get( 'wgUserGroups' ) ) > -1 ) {
							queueButton({
								'id': 'mw-botonera-consultaborrado-archivo',
								'section': 'advanced',
								'group': 'mw-botonera-mantenimiento',
								'icon': '//upload.wikimedia.org/wikipedia/commons/8/80/Toolbar_archivo_borrar.png',
								'iconOld': '//upload.wikimedia.org/wikipedia/commons/d/d8/Button_archivo_borrar.png',
								'label': 'Archivado de consulta de borrado',
								'callbackPrev': extraArchivarConsultaBorrado,
								'insertBefore': "{{cierracdb-arr}} '''",
								'sampleText': 'resultado de la consulta',
								'insertAfter': "'''. --~~~~",
								'ownline': true,
								'autoSummary': {
									'summary': 'Archivado de consulta de borrado'
								}
							});
						}
					}
				}

				//Para main y anexo
				if ( $.inArray( mw.config.get( 'wgNamespaceNumber' ), [0, 104] ) > -1 ) {
					queueButton({
						'id': 'mw-botonera-consultaborrado',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/7/7b/Toolbar_clock.png',
						'iconOld': '//upload.wikimedia.org/wikipedia/commons/c/cd/Button_vote_deletion.png',
						'label': 'Consulta de borrado',
						'insertBefore': '{{subst:cdb}}\n',
						'autoSummary': {
							'summary': 'Consulta de borrado'
						}
					});

					queueButton({
						'id': 'mw-botonera-infraesbozo',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/0/05/Toolbar_microstub.png',
						'iconOld': '//upload.wikimedia.org/wikipedia/commons/7/7a/Button_micro_stub.png',
						'label': 'Infraesbozo',
						'insertBefore': '{{infraesbozo|1={{subst:CURRENTDAY}}|2={{subst:CURRENTMONTHNAME}}}}\n',
						'autoSummary': {
							'summary': 'Infraesbozo'
						}
					});

					queueButton({
						'id': 'mw-botonera-contextualizar',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/c/c2/Toolbar_contexto.png',
						'iconOld': '//upload.wikimedia.org/wikipedia/commons/e/e2/Button_contexto.png',
						'label': 'Contextualizar',
						'insertBefore': '{{contextualizar|1={{subst:CURRENTDAY}}|2={{subst:CURRENTMONTHNAME}}}}\n',
						'autoSummary': {
							'summary': 'Contextualizar'
						}
					});

					queueButton({
						'id': 'mw-botonera-SRA',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/1/17/Toolbar_relevancy.png',
						'iconOld': '//upload.wikimedia.org/wikipedia/commons/6/63/Button_out_relevancy.png',
						'label': 'Sin relevancia aparente',
						'insertBefore': '{{sinrelevancia|1={{subst:CURRENTDAY}}|2={{subst:CURRENTMONTHNAME}}}}\n',
						'autoSummary': {
							'summary': 'Sin relevancia aparente'
						}
					});

					if( mw.user.options.get( 'usebetatoolbar' ) ) {
						queueButton({
							'id': 'mw-botonera-categoria',
							'section': 'advanced',
							'group': 'mw-botonera-mantenimiento',
							'icon': '//upload.wikimedia.org/wikipedia/commons/c/c4/Toolbar_category.png',
							'iconOld': '//upload.wikimedia.org/wikipedia/commons/2/2a/Button_category_plus.png',
							'label': 'Agregar categoría',
							'callback': extraCateg,
							'autoSummary': {
								'summary': 'Agregar categoría'
							}
						});
					}

					queueButton({
						'id': 'mw-botonera-wikificar',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/0/06/Toolbar_wikificar.png',
						'iconOld': '//upload.wikimedia.org/wikipedia/commons/0/0d/Button_wikification.png',
						'label': 'Wikificar',
						'insertBefore': '{{wikificar|1=',
						'sampleText': 'categoría 1',
						'insertAfter': '|categoría 2|t={{subst:CURRENTTIMESTAMP}}}}\n',
						'autoSummary': {
							'summary': 'Wikificar'
						}
					});

					queueButton({
						'id': 'mw-botonera-copyedit',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/5/53/Toolbar_copyedit.png',
						'iconOld': '//upload.wikimedia.org/wikipedia/commons/e/e9/Button_copy_edit.png',
						'label': 'Copyedit',
						'insertBefore': '{{copyedit}}\n',
						'autoSummary': {
							'summary': 'Copyedit'
						}
					});

					queueButton({
						'id': 'mw-botonera-fuenteprimaria',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/c/c8/Toolbar_fuente_primaria.png',
						'iconOld': '//upload.wikimedia.org/wikipedia/commons/0/02/Button_fuente_primaria.png',
						'label': 'Fuente primaria',
						'insertBefore': '{{fuenteprimaria|1={{subst:CURRENTDAY}}|2={{subst:CURRENTMONTHNAME}}}}\n',
						'autoSummary': {
							'summary': 'Fuente primaria'
						}
					});

					queueButton({
						'id': 'mw-botonera-referencias',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/3/34/Toolbar_references.png',
						'iconOld': '//upload.wikimedia.org/wikipedia/commons/5/5c/Button_references2.png',
						'label': 'Referencias',
						'insertBefore': '{{referencias|t={{subst:CURRENTTIMESTAMP}}}}\n',
						'autoSummary': {
							'summary': 'Faltan referencias'
						}
					});

					queueButton({
						'id': 'mw-botonera-Transferir a',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/e/e5/Toolbar_wikt_new.png',
						'iconOld': '//upload.wikimedia.org/wikipedia/commons/f/f6/Button_wikt_new.png',
						'label': 'Transferir a',
						'insertBefore': '{{Transferir a}}\n',
						'autoSummary': {
							'summary': 'Transferir a'
						}
					});

					queueButton({
						'id': 'mw-botonera-fusionar',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/3/33/Toolbar_merge_articles.png',
						'iconOld': '//upload.wikimedia.org/wikipedia/commons/b/be/Button_merge_articles.png',
						'label': 'Fusionar',
						'insertBefore': '{{fusionar|1=',
						'sampleText': 'fusionar con',
						'insertAfter': '}}\n',
						'autoSummary': {
							'summary': 'Fusionar'
						}
					});

					queueButton({
						'id': 'mw-botonera-noneutralidad',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/e/e5/Toolbar_no_neutral.png',
						'iconOld': '//upload.wikimedia.org/wikipedia/commons/3/37/Button_no_neutral.png',
						'label': 'No neutralidad',
						'insertBefore': '{{noneutralidad}}\n',
						'autoSummary': {
							'summary': 'No neutral'
						}
					});

					queueButton({
						'id': 'mw-botonera-desambiguacion',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/3/3d/Toolbar_desambig.png',
						'iconOld': '//upload.wikimedia.org/wikipedia/commons/6/62/Button_desambig.png',
						'label': 'Desambiguación',
						'insertBefore': '{{desambiguación}}\n',
						'autoSummary': {
							'summary': 'Desambiguación'
						}
					});

					queueButton({
						'id': 'mw-botonera-citarequerida',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/c/c3/Toolbar_references2.png',
						'iconOld': '//upload.wikimedia.org/wikipedia/commons/9/9a/Button_references.png',
						'label': 'Cita requerida',
						'insertBefore': '{{cita requerida|',
						'sampleText': '',
						'insertAfter': '}}',
						'autoSummary': {
							'summary': 'Cita requerida'
						}
					});

					queueButton({
						'id': 'mw-botonera-endesarrollo',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/d/d1/Toolbar_indevelopment.png',
						'iconOld': '//upload.wikimedia.org/wikipedia/commons/1/17/Button_indevelopment.png',
						'label': 'En desarrollo',
						'insertBefore': '{{endesarrollo|1=' + mw.config.get( 'wgUserName' ) + '}}\n',
						'autoSummary': {
							'summary': 'En desarrollo'
						}
					});

					queueButton({
						'id': 'mw-botonera-traduccion',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/d/d8/Toolbar_trad.png',
						'iconOld': '//upload.wikimedia.org/wikipedia/commons/1/12/Button_breve.png',
						'label': 'Traducción inconclusa',
						'insertBefore': '{{Traducción inconclusa|art=',
						'sampleText': 'nombre del artículo original',
						'insertAfter': '|ci=código del idioma}}\n',
						'autoSummary': {
							'summary': 'Traducción inconclusa'
						}
					});

					queueButton({
						'id': 'mw-botonera-listaref',
						'section': 'advanced',
						'group': 'insert',
						'icon': '//upload.wikimedia.org/wikipedia/commons/c/cf/Toolbar_insert_reference.png',
						'iconOld': '//upload.wikimedia.org/wikipedia/commons/2/2b/Button_ref_inscription.png',
						'label': 'Sección de referencias',
						'insertBefore': '\n\=\= Referencias \=\=\n{{Listaref}}\n',
						'autoSummary': {
							'summary': 'Agregando sección de referencias'
						}
					});

				}

				// Que sean discusiones o espacio de wikiproyecto
				if ( mw.config.get( 'wgNamespaceNumber' ) % 2 == 1 || mw.config.get( 'wgNamespaceNumber' ) == 102) {
					queueButton({
						'id': 'mw-botonera-votonulo',
						'section': 'advanced',
						'group': 'mw-botonera-mantenimiento',
						'icon': '//upload.wikimedia.org/wikipedia/commons/6/6c/Toolbar_anular_voto.png',
						'iconOld': '//upload.wikimedia.org/wikipedia/commons/3/32/Button_anular_voto.png',
						'label': 'Voto nulo',
						'insertBefore': ':<s>',
						'sampleText': 'Voto a anular',
						'insertAfter': '</s> {{votonulo|--~~~~}}',
						'autoSummary': {
							'summary': 'Voto anulado'
						}
					});
				}
			}

			handleQueue();
		};

		$( document ).ready( ejecutar );

	})( jQuery, mediaWiki ); // Fin de función anónima
} //fin de chequeo
// </nowiki>