MediaWiki:Gadget-quickeditcounter.js

// Warning! This gadget also use other projects. // Original version: // - QuickEditCounter script by pl:User:ChP94 // - Released under the GNU Public License (GPL) // Modified by: w:pl:User:Beau, w:pl:User:Rzuwig, w:fr:User:Arkanosis, w:gl:User:Vivaelcelta, w:es:Usuario:Zerabat window.qecGadget = { version: 10, _i18n: ( function {		var l10n = {                       ca: {                                thismaleusermade: 'Aquest usuari ha fet',                                thisfemaleusermade: 'Aquesta usuària ha fet',                                total: 'un total de',                                edits: 'edicions'                        },			en: {				thismaleusermade: 'This user has made',				thisfemaleusermade: 'This user has made',				total: 'a total of',				edits: 'edits'			},			es: {				thismaleusermade: 'Este usuario hizo',				thisfemaleusermade: 'Esta usuaria hizo',				total: 'un total de',				edits: 'ediciones'			},			fr: {				thismaleusermade: 'Cet utilisateur a fait',				thisfemaleusermade: 'Cette utilisatrice a fait',				total: 'un total de',				edits: 'éditions'			},			gl: {				thismaleusermade: 'Este usuario fixo',				thisfemaleusermade: 'Esta usuaria fixo',				total: 'un total de', edits: 'edicións' },			it: { thismaleusermade: 'Questo utente ha fatto', thisfemaleusermade: 'Questa utente ha fatto', total: 'un totale di', edits: 'edizioni' },			ja: { thismaleusermade: 'この利用者は', thisfemaleusermade: 'この利用者は', total: '&nbsp', edits: '編集回数持ってます. '			},			ko: { thismaleusermade: '이 사용자는', thisfemaleusermade: '이 사용자는', total: '&nbsp', edits: '회 편집하였습니다' },			pl: { thismaleusermade: 'Ten użytkownik wykonał', thisfemaleusermade: 'Ta użytkowniczka wykonała', total: 'łącznie', edits: 'edycji' },			zh-hans: { thismaleusermade: '此用户已作出', thisfemaleusermade: '此用户已作出', total: '总数为', edits: '次编辑' },		};		var lang = mw.user.options.get( 'language' ); if( !l10n[ lang ] ) { lang = 'es'; }		return function( key ) { if( l10n[ lang ][ key ] ) { return l10n[ lang ][ key ]; } else { return l10n[ 'es' ][ key ]; }		};	} ),	init: function {		if ( mw.config.get( 'wgNamespaceNumber' ) != 2 && mw.config.get( 'wgNamespaceNumber' ) != 3 ) {			return;		}		if ( mw.util.getParamValue('printable') == 'yes' ) {			return;		}		this.username = mw.config.get( 'wgTitle' ).replace( /\/.*$/, '' );		var that = this;		var request = {			action:	'query',			list:	'users',			usprop:	'editcount|gender',			format:	'json',			ususers: this.username,			requestid: new Date.getTime		};		jQuery.getJSON( mw.util.wikiScript( 'api' ), request, function( result ) { jQuery( document ).ready( function {				if ( result ) {					that.showResults( result );				}			}); });	},	showResults: function( data ) {		data = data.query.users[0];		if ( !data || data.name != this.username || data.invalid != null || data.editcount === undefined )			return;		var firstHeading;		var headers = document.getElementsByTagName( 'h1' );		for ( var i = 0; i < headers.length; i++ ) {			var header = headers[i];			if ( header.className == 'firstHeading' || header.id == 'firstHeading' || header.className == 'pagetitle' ) {				firstHeading = header; break;			}		}		if( !firstHeading ) {			firstHeading = document.getElementById( 'section-0' );		}		if( !firstHeading ) {			return;		}		var html = data.gender == 'female'			? this._i18n( 'thisfemaleusermade' )			: this._i18n( 'thismaleusermade' );		var lang = 'es';		var wiki = 'wikipedia';		var m;		if ( m = mw.config.get( 'wgServer' ).match( /^(?:http:)?\/\/(.+?).([^.]+).org$/ ) ) {			lang = m[1];			wiki = m[2];		} else if ( m = mw.config.get( 'wgScriptPath' ).match( /\/(.+?)\/(.+?)\// ) ) { lang = m[2]; wiki = m[1]; }

html += ' ' + this._i18n( 'total' ) + ' ' + data.editcount + ' ' + this._i18n( 'edits' ) + '.'; var div = document.createElement( 'div' ); div.style.cssText = 'font-size:8pt;line-height:1em'; div.className = 'plainlinks'; div.innerHTML = html; if ( mw.config.get( 'skin' ) == 'modern' ) { div.style.marginLeft = '10px'; div.style.display = 'inline-block'; }		firstHeading.appendChild( div ); } }; qecGadget.init;