MediaWiki:Gadget-blocked-newusers.js
OBS: Efter du har publicerat sidan kan du behöva tömma din webbläsares cache för att se ändringarna.
- Firefox / Safari: Håll ned Skift och klicka på Uppdatera sidan eller tryck Ctrl-F5 eller Ctrl-R (⌘-R på Mac)
- Google Chrome: Tryck Ctrl-Skift-R (⌘-Skift-R på Mac)
- Internet Explorer / Edge: Håll ned Ctrl och klicka på Uppdatera eller tryck Ctrl-F5
- Opera: Tryck Ctrl-F5.
$( function() {
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) != 'Log' || !$( '.mw-logline-newusers' ).length ) {
// Annan sida än [[Special:Logg]] med poster för nya användare
return;
}
var api = new mw.Api(),
options = {
action: 'query',
list: 'logevents',
letype: 'newusers',
leprop: [ 'ids', 'details' ],
lelimit: 'max'
},
start = new URLSearchParams( $( '.mw-prevlink' ).attr( 'href' ) ).get( 'offset' ),
end = new URLSearchParams( $( '.mw-nextlink' ).attr( 'href' ) ).get( 'offset' ),
params = new URLSearchParams( window.location.search );
if ( params.get( 'user' ) ) {
options.leuser = params.get( 'user' );
}
if ( params.get( 'page' ) ) {
options.letitle = params.get( 'page' );
}
if ( params.get( 'tagfilter' ) ) {
options.letag = params.get( 'tagfilter' );
}
if ( params.get( 'subtype' ) ) {
options.leaction = 'newusers/' + params.get( 'subtype' );
}
if ( start ) {
options.lestart = start;
}
if ( end ) {
options.leend = end;
}
api.get( options ).done( function ( d ) {
if ( !d || !d.query || !d.query.logevents ) {
return;
}
var users = {};
d.query.logevents.forEach( function( e ) {
if ( e.logid && e.params && e.params.userid ) {
users[ e.params.userid ] = e.logid;
}
} );
api.post( {
action: 'query',
list: 'users',
usprop: 'blockinfo',
ususerids: Object.keys( users )
} ).done( function( d ) {
if ( !d || !d.query || !d.query.users ) {
return;
}
d.query.users.forEach( function( u ) {
if ( u.blockid ) {
logline = $( '.mw-logline-newusers[data-mw-logid="' + users[ u.userid ] + '"]' );
logline.append( ' (Blockerad)' );
logline.addClass( 'blocked-new-user' );
}
} );
} );
} );
} );