User:Awesome Aasim/usergroups.js

Source: Wikipedia, the free encyclopedia.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
if (!UG) {
	var UG = {};
	$(document).ready(function() {
	    if (mw.config.get("wgNamespaceNumber") == 2 || mw.config.get("wgNamespaceNumber") == 3) {
	        var url = mw.config.get( 'wgScriptPath' ) + '/api.php'; 
	        var user = "";
	        if (mw.config.get("wgCanonicalSpecialPageName")) {
	            user = mw.config.get("wgTitle").split("/")[1];
	        } else {
	            user = mw.config.get("wgTitle").split("/")[0];
	        }
	        var params = {
	            action: "query",
	            list: "users",
	            ususers: user,
	            usprop: "blockinfo|groups",
	            format: "json"
	        };
	        $.get(url, params).done(function(response) {
                var userdata = response.query.users[0];
                $("#siteSub").text("")
                $("#siteSub").append($('<div style="font-family:sans-serif;font-style: normal;" id="usergroups"></div>'));
                if (userdata.blockid) {
                    $("#usergroups").append('<div class="warningbox mw-warning-with-logexcerpt mw-content-ltr" dir="ltr"><b>This user is currently blocked (see reason below):</b><br>' + userdata.blockedby + ' blocked this user with the reason:  <div style="border:solid 1px black" id="usergroups-blockreason">' + userdata.blockreason + '</div>Block ID:' + userdata.blockid + '<br>Expiry:  ' + userdata.blockexpiry + '</div>');
                    $("#usergroups-blockreason").text(userdata.blockreason);
                }
                var usergroups = "";
                for (var i = 0; i < userdata.groups.length; i++) {
                    if (userdata.groups[i] == "sysop") {
                        $("#usergroups").append('administrator&nbsp;');
                    } else if (userdata.groups[i] == "bureaucrat") {
                        $("#usergroups").append('bureaucrat&nbsp;');
                    } else if (userdata.groups[i] == "bot") {
                        $("#usergroups").append('bot&nbsp;');
                    } else if (userdata.groups[i] == "interface-admin") {
                        $("#usergroups").append('interface-administrator&nbsp;');
                    } else if (userdata.groups[i] != "*" && userdata.groups[i] != "user" && userdata.groups[i] != "autoconfirmed") {
                        $("#usergroups").append(userdata.groups[i] + '&nbsp;');
                    }
                }
	        });
	    }
	});
}