User:NguoiDungKhongDinhDanh/ListAdmins.js

From Meta, a Wikimedia project coordination wiki

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
$(function() {
	(new mw.Api()).get({
		action: 'query',
		list: ['allusers', 'wikisets'],
		augroup: 'sysop',
		aulimit: 100,
		wsfrom: 'Opted-out of global sysop wikis',
		wsprop: 'wikisnotincluded',
		wslimit: 1,
		format: 'json',
		formatversion: 2
	}).done(function(response) {
		var wikisnotincluded = response.query.wikisets[0].wikisnotincluded;
		var allusers = response.query.allusers;
		var db = mw.config.get('wgDBname');
		var isGSWiki = true;
		var sysops = [];
			
		for (let wiki in wikisnotincluded) {
			if (wikisnotincluded[wiki] === db) {
				isGSWiki = false;
				break;
			}
		}
		for (let u in allusers) {
			sysops.push(allusers[u].name);
		}
		
		if (db !== 'enwiki') {
			mw.util.addPortletLink(
				'p-tb', // Some wikis don't have p-navigation.
				'/wiki/Special:ListAdmins',
				'ListAdmins',
				't-listadmins',
				null
			);
			$('#t-listadmins span').after($('<span>').css({
				'font-size': '0.75em',
				'margin-left': '1ch'
			}).text(
				'(' +
					(sysops.length >= 100 ? '99+' : sysops.length) + '/' +
					(isGSWiki === true ? '✓' : '✗') +
				')'
			));
		}
	});
});