MediaWiki:Gadget-show-sysop-activity.js

Fra Wikipedia, den frie encyklopedi

Merk: Etter publisering vil det kanskje være nødvendig å slette mellomlageret i nettleseren din for å se endringene.

  • Firefox / Safari: Hold Shift mens du klikker på Oppdater, eller trykk enten Ctrl+F5 eller Ctrl+R (⌘+R på Mac)
  • Google Chrome: Trykk Ctrl+Shift+R (⌘+Shift+R på Mac)
  • Internet Explorer / Edge: Hold Ctrl mens du trykker på Oppdater eller trykk Ctrl+F5
  • Opera: Ttrykk Ctrl+F5.
function getSysopList() {
	getList( 'span.sysop-activity', 'sysop', 'Wikipedia:Administratorer/Status', processAllSysops);
}

function processAllSysops(obj) {
	// Get the bodyContent-container to construct the table
	var docobj = mw.util.$content.find( '#bodyContent' )[0];
	if (obj.special) {
		var searchName = obj.special.search.name.replace(/\s/g, '_');
		docobj = document.getElementById('sysop-activity-'+searchName);
	}
	if (obj.query && docobj) {
		var header = ['Navn','Patrol','Blokk','Slett','Beskytt','Import','Rettighet','MediaWiki','Redigering','50 red.','Ant. red.', 'E-post'];
		var types = ['name','lastpatrol','lastblock','lastdelete','lastprotect','lastimport','lastrights','lastmwedit','lastedit','last50edit', 'editcount', 'emailable'];
		processAll(header, types, obj.query.allusers, docobj, processSysop);
	}
}

function processSysop(obj) {
	var query = { action:'query', format:'json', 'continue': '' };
	var logs = { list:'logevents', lelimit:100, leuser: obj };
	var edits = { list:'usercontribs', ucuser: obj };
	var APICalls = {
		'patrol': [$.extend({}, query, { list:'logevents', lelimit:1, leuser: obj, letype: 'patrol' }), patrol_handler ],
		'block': [$.extend({}, query, logs, { letype: 'block' }), getLastAction ],
		'delete': [$.extend({}, query, logs, { letype: 'delete' }), getLastAction ],
		'protect': [$.extend({}, query, logs, { letype: 'protect' }), getLastAction ],
		'import': [$.extend({}, query, logs, { letype: 'import' }), getLastAction ],
		'rights': [$.extend({}, query, logs, { letype: 'rights' }), getLastAction ],
		'mw-edits': [$.extend({}, query, edits, { uclimit: 1, ucnamespace: 8 }), getLastMWedit ],
		'last-edit': [$.extend({}, query, edits, { uclimit: 1 }), getLastEdit ],
		'last-50-edits': [$.extend({}, query, edits, { uclimit: 50 }), getLast50Edit ],
		'user-info': [$.extend({}, query, { list:'users', usprop: 'editcount|emailable', ususers: obj }), getUserinfo ]
	};
	$.each( APICalls, function(api, data){
		try {
			$.getJSON( mw.util.wikiScript( 'api' ), data[0], data[1] );
		} catch(e) {
			mw.log( 'Error using API for ' + api );
		}
	});
}

if ( ( mw.config.get( 'wgAction' ) == 'view' ) && $.inArray( mw.config.get( 'wgNamespaceNumber' ), [ 2, 3, 4, 5 ]) > -1 ) {
	var isDiff = ( document.location.search && ( document.location.search.indexOf( 'diff=' ) != -1 || document.location.search.indexOf( 'oldid=' ) != -1 ) );
	if ( !isDiff ) {
		$( document ).ready( function () {
			$.getScript( '//no.wikipedia.org/w/index.php?title=MediaWiki:Gadget-show-activity.js&action=raw&ctype=text/javascript', getSysopList );
		});
	}
}