Usuario:Ismer/reversion.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é.

/* Fuente: //en.wikipedia.org/wiki/Usuario:Lorian/monobook.js y [[Usuario:Axxgreazz/Monobook-Suite]]

(- contribs, disc >> 'user1')
 <nowiki>
*/
if ( window.reversion === undefined ) {

    var reversion = {
        lista: ["k", "prueba", "prueba", "prueba0a", "prueba0b", "prueba0c",
                "prueba2", "prueba2a", "prueba3", "prueba4", "prueba5", "bienvenida"],
        listaMensajes: ["Prueba", "Wikietiqueta", "Estilo", "Spam", "Sin sentido",
                "Blanqueo", "Detente", "Ultima advertencia", "Bloqueo", "Bienvenido"]
    };
    window.reversion = reversion;

    (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];

                    var user2 = document.getElementById( 'mw-diff-ntitle2' )
                            .getElementsByTagName( 'a' )[0],
                        oldid = mw.util.getParamValue( 'oldid', document.getElementById( 'mw-diff-otitle1' )
                            .getElementsByTagName( 'a' )[0] ),
                        msAviTemp = '',
                        separador = ' / ',
                        largoListaMensajes = reversion.listaMensajes.length,
                        i;

                        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;
                    }

                    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 ' + 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 ' + 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 ); 
} 
//</nowiki>