MediaWiki:Gadget-reversion.js
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é.
/*
* Reversión
* Fuente: //en.wiki.x.io/wiki/Usuario:Lorian/monobook.js y [[Usuario:Axxgreazz/Monobook-Suite]]
* <nowiki>
*/
// Protege contra doble inclusión
if ( window.reversion === undefined ) {
//Enlaza con window
var reversion = {
lista: ["k", "prueba", "prueba", "prueba0a", "prueba0b", "prueba0c",
"prueba2", "prueba2a", "prueba3","planvand", "prueba4", "prueba5", "bienvenida"],
listaMensajes: ["Prueba", "Wikietiqueta", "Estilo", "Spam", "Arbitrariedad",
"Blanqueo", "Detente","Primera y última advertencia", "Última advertencia", "Bloqueo", "Bienvenido"]
};
window.reversion = reversion;
//Scope local para no contaminar espacio global
(function ( $, mw ) {
'use strict';
reversion.darMensaje = function ( where, user1, user2, oldid ) {
var message = window.prompt( 'Mensaje' + ':', '' );
if ( message != null ) {
window.location.href = mw.util.wikiScript( 'index' ) + '?title=' +
mw.util.getParamValue( 'title' ) + '&action=edit&oldid=' + oldid +
'&' + where + '=2&user1=' + user1 + '&user2=' + user2 +
'&message=' + message;
}
return false;
};
function install() {
if ( mw.util.getParamValue( 'diff' ) ) {
// Get username of submitter
var user1 = document.getElementById( 'mw-diff-otitle2' );
if ( user1 ) {
user1 = user1.getElementsByTagName( 'a' )[0];
if(!user1) return;
var diffTitle2 = document.getElementById( 'mw-diff-ntitle2' ),
user2 = diffTitle2 ? diffTitle2.getElementsByTagName( 'a' )[0] : null,
oldid = mw.util.getParamValue( 'oldid', document.getElementById( 'mw-diff-otitle1' )
.getElementsByTagName( 'a' )[0] ),
msAviTemp = '',
separador = ' / ',
largoListaMensajes = reversion.listaMensajes.length,
i;
if(!user2) return;
user1 = user1.innerText || user1.textContent;
user2 = user2.innerText || user2.textContent;
for ( i = 0; i < largoListaMensajes; i++ ) {
if ( i == largoListaMensajes - 1 ) {
separador = '';
}
msAviTemp = msAviTemp + '<a href="' + mw.util.wikiScript( 'index' ) +
'?title=User_talk:' + user2 + '&action=edit&warnMS=' + i + '&titleP=' +
mw.config.get( 'wgPageName' ).replace( /_/g, ' ' ) + '">' +
reversion.listaMensajes[i] + '</a>' + separador;
}
// Workaround for https://phabricator.wikimedia.org/T315639
// Can be removed when API is made available T316830
if(!document.getElementById('contentSub')) {
$('<div id="contentSub"></div>').insertBefore('#mw-content-text');
}
document.getElementById( 'contentSub' ).innerHTML = '(<a href="' +
mw.util.wikiScript( 'index' ) + '?title=' + mw.util.getParamValue( 'title' ) +
'&action=edit&oldid=' + oldid + '&revertMS=1&user1=' + user1 + '&user2=' + user2 +
'">' + 'Revertir' + '</a> / ' +
'<a href="#" onclick="return reversion.darMensaje(\'revertMS\', \'' + user1 +
'\', \'' + user2 + '\', \'' + oldid + '\');">' + 'Mensaje' + '</a>) ' +
'(Aviso a usuarios: ' + msAviTemp + ')';
}
} else if ( mw.util.getParamValue( 'revertMS' ) == 1 ) {
$( '#wpSummary' ).val( 'Revertidos los cambios de [[Special:Contributions/' +
mw.util.getParamValue( 'user2' ) + '|' + mw.util.getParamValue( 'user2' ) +
']] a la última edición de [[Special:Contributions/' + mw.util.getParamValue('user1') + '|' +
mw.util.getParamValue('user1') + ']]' );
document.getElementById('wpMinoredit').checked = true;
$( '#editform' ).submit();
} else if ( mw.util.getParamValue( 'revertMS' ) == 2 ) {
$( '#wpSummary' ).val( 'Revertidos los cambios de [[Special:Contributions/' +
mw.util.getParamValue( 'user2' ) + '|' + mw.util.getParamValue( 'user2' ) +
']] a la última edición de [[Special:Contributions/' + mw.util.getParamValue('user1') + '|' +
mw.util.getParamValue('user1') + ']] (' + mw.util.getParamValue( 'message' ) + ')' );
document.getElementById('wpMinoredit').checked = true;
$( '#editform' ).submit();
} else if ( mw.config.get( 'wgCanonicalNamespace' ) == 'User_talk' && mw.config.get( 'wgAction' ) == "edit" && mw.util.getParamValue( 'warnMS' ) !== null ) {
var indice = parseInt( location.href.substring( location.href.indexOf( "&titleP=" ) - 1,
location.href.indexOf( "&titleP=" ) ), 10 ),
parametros = '';
if ( indice == 0 ) {
parametros = '|' + mw.util.getParamValue( 'titleP' );
}
$( '#wpSummary' ).val( 'Aviso al usuario' );
$( '#wpTextbox1' ).val( $( '#wpTextbox1' ).val() + '\n{{subst:' + reversion.lista[indice + 2] + parametros + '}} --~~~~' );
$( '#editform' ).submit();
}
}
$(document).ready( install );
})( jQuery, mediaWiki ); // Fin de función anónima
} //fin de chequeo
//</nowiki>