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)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
window.FastDeleteNoConfirm = true;
mw.loader.load( '/w/index.php?title=MediaWiki:LastEdited.js&action=raw&ctype=text/javascript' );
mw.loader.load( '/w/index.php?title=MediaWiki:TagRightsManagement.js&action=raw&ctype=text/javascript' );
/*function removeGroups(group){
mw.loader.using(['mediawiki.api'], function() {
var params = {
action: 'userrights',
user: mw.config.get("wgPageName").replace('User:', '').replace('User_profile:',''),
remove: group,
reason: 'removed' + mw.config.get("wgPageName").replace('User:', '').replace('User_profile:','') + ' from the ' + group + ' group',
format: 'json'
},
api = new mw.Api();
api.postWithToken( 'userrights', params ).done( function ( data ) {
alert(group + ' successfully removed from ' + mw.config.get("wgPageName").replace('User:', '').replace('User_profile:',''))
} );
});
}
function showall(){
mw.loader.using(['mediawiki.api'], function() {
$('.tag').hide();
var params = {
action: 'query',
list: 'users',
ususers: mw.config.get("wgPageName").replace('User:', '').replace('User_profile:',''),
usprop: 'groups',
format: 'json'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var groups = data.query.users[0].groups,
g;
for ( g in groups ) {
if(groups[g] !== 'bureaucrat' && groups[g] !== 'autoconfirmed' && groups[g] !== '*' && groups[g] !== 'user' && groups[g] !== 'founder' && groups[g] !== 'owner' && groups[g] !== 'content_moderators' && groups[g] !== 'checkuser' && groups[g] !== 'steward' && groups[g] !== 'interwiki-admin' && groups[g] !== 'oversight'){
$('.hgroup').append('<span class="tag tag-all tag-' + groups[g] + '" onclick="removeGroups(`' + groups[g] + '`); this.remove();">' + groups[g] + '</span>');
}
}
if(usergroups.sort().join(',') !== removableusergroups.sort().join(',')){
$('.hgroup').append('<span class="tag tag-all_groups" onclick="showallgroups();">Show All</span>');
}
$('.hgroup').append('<span class="tag tag-all" onclick="revertTags();">Cancel</span>');
} );
});
}
$(function(){
mw.loader.using(['mediawiki.api'], function() {
var params = {
action: 'query',
list: 'users',
ususers: mw.config.get("wgPageName").replace('User:', '').replace('User_profile:',''),
usprop: 'groups',
format: 'json'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var groups = data.query.users[0].groups,
g;
window.usergroups=[],
window.removableusergroups = [];
for ( g in groups ) {
if(groups[g] !== '*' && groups[g] !== 'user'){
window.usergroups.push(groups[g]);
}
if(groups[g] !== 'bureaucrat' && groups[g] !== 'autoconfirmed' && groups[g] !== '*' && groups[g] !== 'user' && groups[g] !== 'founder' && groups[g] !== 'owner' && groups[g] !== 'content_moderators' && groups[g] !== 'checkuser' && groups[g] !== 'steward' && groups[g] !== 'interwiki-admin' && groups[g] !== 'oversight'){
window.removableusergroups.push(groups[g]);
}
}
var globalparams = {
action: 'query',
meta: 'globaluserinfo',
guiuser: mw.config.get("wgPageName").replace('User:', '').replace('User_profile:',''),
guiprop: 'groups',
format: 'json'
},
api = new mw.Api();
api.get( globalparams ).done( function ( data ) {
var globalgroups = data.query.globaluserinfo.groups,
gg;
for ( gg in globalgroups ) {
if(globalgroups[gg] !== '*' && globalgroups[gg] !== 'user'){
window.usergroups.push(globalgroups[gg]);
}
if(globalgroups[gg] !== 'bureaucrat' && globalgroups[gg] !== 'autoconfirmed' && globalgroups[gg] !== '*' && globalgroups[gg] !== 'user' && globalgroups[gg] !== 'founder' && globalgroups[gg] !== 'owner' && globalgroups[gg] !== 'content_moderators' && globalgroups[gg] !== 'checkuser' && globalgroups[gg] !== 'steward' && globalgroups[gg] !== 'interwiki-admin' && globalgroups[gg] !== 'oversight'){
window.removableusergroups.push(globalgroups[gg]);
}
}
if(mw.config.get('wgUserGroups').includes('bureaucrat')){
if(window.removableusergroups.length > 0){
$('.hgroup').append('<span class="tag tag-remove_groups" onclick="showall();">Remove Groups</span>');
}
$('.hgroup').append('<span class="tag tag-add_groups" onclick="allGroups();">Add Groups</span>');
if(window.usergroups.length > 0 && !window.removableusergroups.length > 0){
$('.hgroup').append('<span class="tag tag-show-all_groups" onclick="showallgroups();">Show All</span>');
}
}else if(window.usergroups.length > 0){
$('.hgroup').append('<span class="tag tag-show-all_groups" onclick="showallgroups();">All Groups</span>');
}
});
});
});
function showallgroups(){
mw.loader.using(['mediawiki.api'], function() {
$('.tag').hide();
var params = {
action: 'query',
list: 'users',
ususers: mw.config.get("wgPageName").replace('User:', '').replace('User_profile:',''),
usprop: 'groups',
format: 'json'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var groups = data.query.users[0].groups,
g;
for ( g in groups ) {
if(groups[g] !== '*' && groups[g] !== 'user' && groups[g] !== 'founder' && groups[g] !== 'owner' && groups[g] !== 'content_moderators'){
$('.hgroup').append('<span class="tag tag-all_groups tag-' + groups[g] + '">' + groups[g] + '</span>');
}
}
var globalparams = {
action: 'query',
meta: 'globaluserinfo',
guiuser: mw.config.get("wgPageName").replace('User:', '').replace('User_profile:',''),
guiprop: 'groups',
format: 'json'
},
api = new mw.Api();
api.get( globalparams ).done( function ( data ) {
var globalgroups = data.query.globaluserinfo.groups,
gg;
for ( gg in globalgroups ) {
if(globalgroups[gg] !== '*' && globalgroups[gg] !== 'user' && globalgroups[gg] !== 'founder' && globalgroups[gg] !== 'owner' && globalgroups[gg] !== 'content_moderators'){
$('.hgroup').append('<span class="tag tag-all_groups tag-' + globalgroups[gg] + '">' + globalgroups[gg] + '</span>');
}
}
$('.hgroup').append('<span class="tag tag-all" onclick="revertTags();">Cancel</span>');
});
} );
});
}
function addGroups(group){
var params = {
action: 'userrights',
user: mw.config.get("wgPageName").replace('User:', '').replace('User_profile:',''),
add: group,
reason: 'added' + mw.config.get("wgPageName").replace('User:', '').replace('User_profile:','') + ' to the ' + group + ' group',
format: 'json'
},
api = new mw.Api();
api.postWithToken( 'userrights', params ).done( function ( data ) {
alert(group + ' successfully added to ' + mw.config.get("wgPageName").replace('User:', '').replace('User_profile:',''))
} );
}
function allGroups(){
mw.loader.using(['mediawiki.api'], function() {
$('.tag').hide();
var params = {
action: "query",
meta: "siteinfo",
siprop: 'usergroups',
format: "json"
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var groups = data.query.usergroups,
g;
for ( g in groups ) {
if(groups[g].name !== 'bureaucrat' && groups[g].name !== 'autoconfirmed' && groups[g].name !== '*' && groups[g].name !== 'user' && groups[g].name !== 'founder' && groups[g].name !== 'owner' && groups[g].name !== 'content_moderators' && groups[g].name !== 'checkuser' && groups[g].name !== 'steward' && groups[g].name !== 'interwiki-admin' && groups[g].name !== 'oversight' && window.usergroups.includes(groups[g].name) === false){
$('.hgroup').append('<span class="tag tag-all-groups tag-' + groups[g].name + '" onclick="addGroups(`' + groups[g].name +'`); this.remove();">' + groups[g].name + '</span>');
}
}
if(window.usergroups.length > 0){
$('.hgroup').append('<span class="tag tag-all_groups" onclick="showallgroups();">Current Groups</span>');
}
$('.hgroup').append('<span class="tag tag-all-groups" onclick="revertTags();">Cancel</span>');
} );
});
}
function revertTags(){
$('.tag').show();
$('.tag.tag-all,.tag.tag-all-groups,.tag-all_groups').remove();
if((window.removableusergroups.length > 0) || (!mw.config.get('wgUserGroups').includes('bureaucrat') && !window.usergroups.length > 0)){
$('.tag-show-all_groups').remove();
}
}
});
mw.util.addCSS('[onclick="revertTags();"]{\n background-color:red !important;\n}\n[onclick="allGroups();"]{\n background-color:green !important;\n}\n[onclick="showall();"],[onclick="showallgroups();"]{\n background-color:blue !important;\n}\n.tag-all-groups,.tag-all,.tag-remove_groups,.tag-add_groups,[onclick="showallgroups();"]{\n cursor:pointer;\n}\n.tag-all-groups:not([onclick="revertTags();"]):not([onclick="allGroups();"]):hover{\n color:green;\n}\n.tag-all:not([onclick="revertTags();"]):not([onclick="allGroups();"]):hover{\n color:red;\n}\n[class*="team_lead"] ~ .tag-remove_groups,[class*="team_lead"] ~ .tag-add_groups{\n display:none;\n}');*/