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' );
window.experimentalTags = true;
function removeGroupsText(group){
$(group).text('Remove')
}
function normalGroupsText(group, element){
$(element).text(group);
}
function showall(){
$('.tag').hide();
$.when(mw.loader.using(["mediawiki.api"])).then(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,
Usergroups=[];
for ( g in groups ) {
$('.hgroup').append('<span class="tag tag-all tag-' + groups[g] + '">' + groups[g] + '</span>');
}
$('.hgroup').append('<span class="tag tag-all" onclick="revertTags();">Revert tags</span>');
} );
});
}
function revertTags(){
$('.tag').show();
$('.tag.tag-all').hide();
$('.tag.tag-all-groups').hide();
}
$.when(mw.loader.using(["mediawiki.api"])).then(function () {
var userStatsparams = {
action: 'query',
list: 'users',
ususers: mw.config.get("wgPageName").replace('User:', '').replace('User_profile:',''),
usprop: 'blockinfo|groups|editcount|registration',
format: 'json'
},
userStatsAPI = new mw.Api();
userStatsAPI.get( userStatsparams ).done( function ( data ) {
var users = data.query.users,
u;
for ( u in users ) {
if(users[ u ].blockexpiry !== undefined){
$('.hgroup').append('<span class="tag tag-blocked">Blocked</span>');
}else{
if(mw.config.get("wgPageName").replace('User_profile:', 'User:') == "User:TheDemon08"){
$('.hgroup').append('<span class="tag tag-founder">Founder</span>');
}
if(users[ u ].groups.includes('bureaucrat') && users[ u ].groups.includes('sysop')){
$('.hgroup').append('<span class="tag tag-bureaucrat">Bureaucrat</span>');
$('.hgroup').append('<span class="tag tag-sysop" onclick="removeGroups(`sysop`)" onmouseover="removeGroupsText(this)" onmouseout="normalGroupsText(`Administrator`,this)">Administrator</span>');
}else if(users[ u ].groups.includes('bureaucrat')){
$('.hgroup').append('<span class="tag tag-bureaucrat">Bureaucrat</span>');
}else if(users[ u ].groups.includes('bot') && users[ u ].groups.includes('flow-bot')){
$('.hgroup').append('<span class="tag tag-bot" onclick="removeGroups(`bot`)" onmouseover="removeGroupsText(this)" onmouseout="normalGroupsText(`Bot`, this)">Bot</span>');
$('.hgroup').append('<span class="tag tag-flow_bot" onclick="removeGroups(`flow-bot`)" onmouseover="removeGroupsText(this)" onmouseout="normalGroupsText(`Structured Discussions bot`, this)">Structured Discussions bot</span>');
}else if(users[ u ].groups.includes('bot')){
$('.hgroup').append('<span class="tag tag-bot" onclick="removeGroups(`bot`)" onmouseover="removeGroupsText(this)" onmouseout="normalGroupsText(`Bot`, this)">Bot</span>');
}else if(users[ u ].groups.includes('moderator') && users[ u ].groups.includes('sysop')){
$('.hgroup').append('<span class="tag tag-sysop" onclick="removeGroups(`sysop`)" onmouseover="removeGroupsText(this)" onmouseout="normalGroupsText(`Administrator`, this)">Administrator</span>');
$('.hgroup').append('<span class="tag tag-moderator" onclick="removeGroups(`moderator`)" onmouseover="removeGroupsText(this)" onmouseout="normalGroupsText(`Moderator`, this)">Moderator</span>');
}else if(users[ u ].groups.includes('sysop')){
$('.hgroup').append('<span class="tag tag-sysop" onclick="removeGroups(`sysop`)" onmouseover="removeGroupsText(this)" onmouseout="normalGroupsText(`Administrator`, this)">Administrator</span>');
}else if(users[ u ].groups.includes('rollbacker') && users[ u ].groups.includes('moderator')){
$('.hgroup').append('<span class="tag tag-moderator" onclick="removeGroups(`moderator`)" onmouseover="removeGroupsText(this)" onmouseout="normalGroupsText(`Moderator`, this)">Moderator</span>');
$('.hgroup').append('<span class="tag tag-rollbacker" onclick="removeGroups(`rollbacker`)" onmouseover="removeGroupsText(this)" onmouseout="normalGroupsText(`Rollbacker`, this)">Rollbacker</span>');
}else if(users[ u ].groups.includes('moderator')){
$('.hgroup').append('<span class="tag tag-moderator" onclick="removeGroups(`moderator`)" onmouseover="removeGroupsText(this)" onmouseout="normalGroupsText(`Moderator`, this)">Moderator</span>');
}else if(users[ u ].groups.includes('rollbacker')){
$('.hgroup').append('<span class="tag tag-rollbacker" onclick="removeGroups(`rollbacker`)" onmouseover="removeGroupsText(this)" onmouseout="normalGroupsText(`Rollbacker`, this)">Rollbacker</span>');
}
if(mw.config.get("wgPageName").replace('User_profile:', 'User:') == "User:TheDemon08"){
$('.hgroup').append('<span class="tag tag-team_lead_titans">Team Lead: Titans</span>');
}else if(mw.config.get("wgPageName").replace('User_profile:', 'User:') == "User:Universal_Omega"){
$('.hgroup').append('<span class="tag tag-team_lead_stargirl">Team Lead: Stargirl</span>');
}else if(mw.config.get("wgPageName").replace('User_profile:', 'User:') == "User:Zomlouis"){
$('.hgroup').append('<span class="tag tag-team_lead_the_flash_1990">Team Lead: The Flash (1990)</span>');
}else if(mw.config.get("wgPageName").replace('User_profile:', 'User:') == "User:IC228"){
$('.hgroup').append('<span class="tag tag-team_lead_the_flash_2014">Team Lead: The Flash (2014)</span>');
}else if(mw.config.get("wgPageName").replace('User_profile:', 'User:') == "User:Rman41"){
$('.hgroup').append('<span class="tag tag-team_lead_superman_anthology">Team Lead: Superman Anthology</span>');
}
}
function removeGroups(group){
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:','') + 'to the sysop group;api testing',
format: 'json'
},
api = new mw.Api();
api.postWithToken( 'userrights', params ).done( function ( data ) {
console.log( data );
} );
}
$('.tag:nth-last-of-type(1)').after('<small><span class="tag" onclick="showall();">Show all</span></small>');
}
});
});
$('.hgroup').append('<span class="tag tag-all-groups tag-add" onclick="allGroups();">Add usergroups</span>');
function addGroups(group){
$.when(mw.loader.using(["mediawiki.api"])).then(function () {
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 ) {
console.log( data );
} );
});
}
function allGroups(){
$('.tag').hide();
$('.hgroup').append('<span class="tag tag-all-groups tag-add" onclick="revertTags();">Revert tags</span>');
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,
Usergroups=[];
for ( g in groups ) {
$('.hgroup').append('<span class="tag tag-all-groups tag-' + groups[g].name + '" onclick="addGroups(`' + groups[g].name +'`);">' + groups[g].name + '</span>');
}
} );
}