Content added Content deleted
No edit summary |
(finished adding the ability to add groups from tags) |
||
Line 32: | Line 32: | ||
api.get( params ).done( function ( data ) { |
api.get( params ).done( function ( data ) { |
||
var groups = data.query.users[0].groups, |
var groups = data.query.users[0].groups, |
||
g |
g; |
||
Usergroups=[]; |
|||
for ( g in groups ) { |
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>'); |
$('.hgroup').append('<span class="tag tag-all tag-' + groups[g] + '" onclick="removeGroups(`' + groups[g] + '`); this.remove();">' + groups[g] + '</span>'); |
||
} |
|||
} |
} |
||
⚫ | |||
$('.hgroup').append('<span class="tag tag-all" onclick="revertTags();">Cancel</span>'); |
$('.hgroup').append('<span class="tag tag-all" onclick="revertTags();">Cancel</span>'); |
||
} ); |
} ); |
||
}); |
}); |
||
} |
} |
||
$(function(){ |
|||
$.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, |
|||
⚫ | |||
window.usergroups=[]; |
|||
for ( g in groups ) { |
|||
window.usergroups.push(groups[g]); |
|||
} |
|||
}); |
|||
}); |
|||
}); |
|||
function showallgroups(){ |
function showallgroups(){ |
||
$('.tag').hide(); |
$('.tag').hide(); |
||
Line 55: | Line 80: | ||
api.get( params ).done( function ( data ) { |
api.get( params ).done( function ( data ) { |
||
var groups = data.query.users[0].groups, |
var groups = data.query.users[0].groups, |
||
g |
g; |
||
Usergroups=[]; |
|||
for ( g in groups ) { |
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>'); |
$('.hgroup').append('<span class="tag tag-all_groups tag-' + groups[g] + '">' + groups[g] + '</span>'); |
||
} |
} |
||
} |
|||
$('.hgroup').append('<span class="tag tag-all" onclick="revertTags();">Cancel</span>'); |
$('.hgroup').append('<span class="tag tag-all" onclick="revertTags();">Cancel</span>'); |
||
} ); |
} ); |
||
Line 84: | Line 110: | ||
function allGroups(){ |
function allGroups(){ |
||
$('.tag').hide(); |
$('.tag').hide(); |
||
⚫ | |||
var params = { |
var params = { |
||
Line 96: | Line 121: | ||
api.get( params ).done( function ( data ) { |
api.get( params ).done( function ( data ) { |
||
var groups = data.query.usergroups, |
var groups = data.query.usergroups, |
||
g |
g; |
||
Usergroups=[]; |
|||
for ( g in groups ) { |
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 +'`);">' + groups[g].name + '</span>'); |
$('.hgroup').append('<span class="tag tag-all-groups tag-' + groups[g].name + '" onclick="addGroups(`' + groups[g].name +'`); this.remove();">' + groups[g].name + '</span>'); |
||
} |
|||
} |
} |
||
$('.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(){ |
function revertTags(){ |
||
$('.tag').show(); |
$('.tag').show(); |
||
$('.tag.tag-all').remove(); |
$('.tag.tag-all,.tag.tag-all-groups,.tag-all_groups').remove(); |
||
$('.tag.tag-all-groups').remove(); |
|||
} |
} |
||
var waitForTags = function(selector, callback) { |
var waitForTags = function(selector, callback) { |
Revision as of 02:20, 21 July 2020
window.FastDeleteNoConfirm = true;
mw.loader.load( '/w/index.php?title=MediaWiki:LastEdited.js&action=raw&ctype=text/javascript' );
function removeGroups(group){
$.when(mw.loader.using(["mediawiki.api"])).then(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 ) {
console.log( data );
alert(group + 'successfully removed from ' + mw.config.get("wgPageName").replace('User:', '').replace('User_profile:',''))
} );
});
}
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;
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>');
}
}
$('.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(){
$.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;
window.usergroups=[];
for ( g in groups ) {
window.usergroups.push(groups[g]);
}
});
});
});
function showallgroups(){
$('.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;
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>');
}
}
$('.hgroup').append('<span class="tag tag-all" onclick="revertTags();">Cancel</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 );
alert(group + ' successfully added to ' + mw.config.get("wgPageName").replace('User:', '').replace('User_profile:',''))
} );
});
}
function allGroups(){
$('.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>');
}
}
$('.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();
}
var waitForTags = function(selector, callback) {
if ($(selector).length) {
callback();
} else {
setTimeout(function() {
waitForTags(selector, callback);
}, 100);
}
};
waitForTags('.stats', function() {
if(mw.config.get('wgUserGroups').includes('bureaucrat')){
$('.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>');
}else{
$('.hgroup').append('<span class="tag tag-all_groups" onclick="showallgroups();">All Groups</span>');
}
});