User:Pinigin/usergroup.js

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search
Note: After saving, you have to bypass your browser's cache to see the changes. Internet Explorer: press Ctrl-F5, Mozilla: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Opera/Konqueror: press F5, Safari: hold down Shift + Alt while clicking Reload, Chrome: hold down Shift while clicking Reload.
/* UserGroup.js (c) 2017, Maksim Pinigin
 * Adds group to the name of the user's page
 * To install the script, add the following text to your /common.js subpage: importScript('User:MaksimPinigin/usergroup.js');
 * TODO: global groups support
*/

if(mw.config.values.wgNamespaceNumber === 2 && mw.config.values.wgAction == "view"|| mw.config.values.wgNamespaceNumber === 3 && mw.config.values.wgAction == "view") {
	if(mw.config.values.wgPageName.indexOf('/') === -1) {
		var userName = mw.config.values.wgPageName.split(':')[1];
		var userGroup = "";
		$.ajax({
			type:'get',
			url:'/w/api.php',
			data:{"action":"query","format":"json","list":"users","utf8":1,"usprop":"groups","ususers":userName},
			success:function (data) {
				var userGroups = data.query.users[0].groups;
				if (userGroups.indexOf('bureaucrat') !== -1) {
					if(mw.config.values.wgUserLanguage == "ru") {
						userGroup = "Бюрократ";
					} else {
						userGroup = "Bureaucrat";
					}
				} else if (userGroups.indexOf('sysop') !== -1) {
					if(mw.config.values.wgUserLanguage == "ru") {
						userGroup = "Администратор";
					} else {
						userGroup = "Administrator";
					}
				} else if (userGroups.indexOf('bot') !== -1) {
					if(mw.config.values.wgUserLanguage == "ru") {
						userGroup = "Бот";
					} else {
						userGroup = "Bot";
					}
				} else if (userGroups.indexOf('translationadmin') !== -1) {
					if(mw.config.values.wgUserLanguage == "ru") {
						userGroup = "Администратор перевода";
					} else {
						userGroup = "Translation Administrator";
					}
				} else if (userGroups.indexOf('Image-reviewer') !== -1) {
					if(mw.config.values.wgUserLanguage == "ru") {
						userGroup = "Проверяющий изображения";
					} else {
						userGroup = "Image reviewer";
					}
				} else if (userGroups.indexOf('patroller') !== -1) {
					if(mw.config.values.wgUserLanguage == "ru") {
						userGroup = "Патрулирующий";
					} else {
						userGroup = "Patroller";
					}
				} else if (userGroups.indexOf('autopatrolled') !== -1) {
					if(mw.config.values.wgUserLanguage == "ru") {
						userGroup = "Автопатрулируемый";
					} else {
						userGroup = "Autopatrolled";
					}
				} else if (userGroups.indexOf('filemover') !== -1) {
					if(mw.config.values.wgUserLanguage == "ru") {
						userGroup = "Переименовывающий файлы";
					} else {
						userGroup = "File mover";
					}
				} else if (userGroups.indexOf('extended-uploader') !== -1) {
					if(mw.config.values.wgUserLanguage == "ru") {
						userGroup = "Расширенный загружающий";
					} else {
						userGroup = "Extended uploader";
					}
				} else {
					userGroup = "";
				}
				if(userGroup !== "") {
					$('#firstHeading').text(mw.config.values.wgPageName.replace('_',' ') + " - " + userGroup);
				}
			}
		});
	}
}