Content added Content deleted
m (Undo revision 33688 by Universal Omega (talk)) |
(Update/normalise URLs) |
||
(34 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
mw.loader.load( '/MediaWiki:LastEdited.js?action=raw&ctype=text/javascript' ); |
|||
if ( $( '#mw-content .hgroup' ).length > 0 === true ) { |
|||
function removeGroups(group){ |
|||
mw.loader.load( '/MediaWiki:TagRightsManagement.js?action=raw&ctype=text/javascript' ); |
|||
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:','')) |
|||
} ); |
|||
}); |
|||
} |
} |
||
if ( $( '#mw-content a[href*="/Special:UpdateProfile"]' ).length > 0 === true ) { |
|||
function showall(){ |
|||
$( '#profile-top, #mw-content #cosmos-articleHeader-actions' ).hover( function () { |
|||
mw.loader.using(['mediawiki.api'], function() { |
|||
$( '#mw-content #cosmos-articleHeader-actions' ).css( 'visibility', 'visible' ); |
|||
$('.tag').hide(); |
|||
}, function () { |
|||
var params = { |
|||
$( '#mw-content #cosmos-articleHeader-actions' ).css( 'visibility', 'hidden' ); |
|||
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}'); |
Latest revision as of 20:54, 17 May 2023
mw.loader.load( '/MediaWiki:LastEdited.js?action=raw&ctype=text/javascript' );
if ( $( '#mw-content .hgroup' ).length > 0 === true ) {
mw.loader.load( '/MediaWiki:TagRightsManagement.js?action=raw&ctype=text/javascript' );
}
if ( $( '#mw-content a[href*="/Special:UpdateProfile"]' ).length > 0 === true ) {
$( '#profile-top, #mw-content #cosmos-articleHeader-actions' ).hover( function () {
$( '#mw-content #cosmos-articleHeader-actions' ).css( 'visibility', 'visible' );
}, function () {
$( '#mw-content #cosmos-articleHeader-actions' ).css( 'visibility', 'hidden' );
});
}