From 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.

/* 

 * User rights script

 * By MastCell

 * ------------------

 * Adds information on user rights (sysop, checkuser, etc) to the heading on user pages.

 * Heavily borrowed and lightly adapted from User:Splarka/sysopdectector.js

 */





/* 

 * Namespace check: Add user rights info if this is a userpage or talkpage

 * If this is a user or usertalk subpage (e.g. "User:Example/subpage"), we'll leave out

 * the info. We'll also leave it out if we're editing or submitting an edit.

 */



if ((mw.config.get('wgNamespaceNumber') == 2 || mw.config.get('wgNamespaceNumber') == 3)

	&& mw.config.get('wgTitle').indexOf('/') == -1

	&& mw.config.get('wgAction') != 'edit'

	&& mw.config.get('wgAction') != 'submit') {

		addOnloadHook(mcShowUserGroups);

}



function mcShowUserGroups() {

	var url = mw.config.get('wgServer') + mw.config.get('wgScriptPath');

	url += '/api.php?action=query&format=json&list=users&usprop=groups|blockinfo|editcount|registration';

	url += '&callback=mcDisplayUserRightsInfo&maxage=3600&smaxage=3600&ususers=';

	url += encodeURIComponent(mw.config.get('wgTitle'));

	importScriptURI(url);

}



function mcDisplayUserRightsInfo(queryObj) {

	// Check to make sure the query returned a user; otherwise, return

	if (!queryObj'query' || !queryObj'query']['users']) {

		return;

	}

	

	var user = queryObj'query']['users'];

	if (user.length === 0) {

		return;

	}

	user = user0];

	

	// If the user is an IP ("invalid") or unregistered ("missing"), return

	if (user'invalid' === "" || user'missing' === "") return;

	

	var userRightStr = "";

	

	// Get registration Date

	if (user'registration']) {

		var regDate = user'registration'].split("T")[0];

		var regDateObj = new Date(regDate);

		userRightStr += ("Registered " + (regDateObj.getMonth() + 1) + "/" + regDateObj.getDate() + "/" + regDateObj.getFullYear() + "; ");

	}

	

	// Get edit count

	if (user'editcount']) {

		userRightStr += (user'editcount' + " edits");

	}

	

	// Get user rights

	if (user'groups']) {

		var numRights = 0;

		var groupLength = user'groups'].length;

		

		for (var i = 0; i < groupLength; i++) {

			// We'll ignore the groups "*" and "users", since everyone belongs to them

			var currentGroup = user'groups'][i];

			if ((currentGroup != "*") && (currentGroup != "user")) {

				if (numRights === 0) {

					userRightStr += "; ";

				} else {

					userRightStr += ", ";

				}



                                if (currentGroup == "sysop") {

                                        userRightStr += "<span style='text-shadow: green 0px 0px 10px'>";

                                        userRightStr += currentGroup;

                                        userRightStr += "</span>";

                                } else if (currentGroup == "bureaucrat") {

                                        userRightStr += "<span style='text-shadow: yellow 0px 0px 10px'>";

                                        userRightStr += currentGroup;

                                        userRightStr += "</span>";

                                } else if (currentGroup == "checkuser") {

                                        userRightStr += "<span style='text-shadow: red 0px 0px 10px'>";

                                        userRightStr += currentGroup;

                                        userRightStr += "</span>";

                                } else if (currentGroup == "oversight") {

                                        userRightStr += "<span style='text-shadow: cyan 0px 0px 10px'>";

                                        userRightStr += currentGroup;

                                        userRightStr += "</span>";

                                } else {

				        userRightStr += currentGroup;

                                }

				numRights++;

			}

		}

	}

	

	// If currently blocked, mention it

	if (user'blockedby']) {

		var blockLogURL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + "/index.php?title=Special:Log/block&page=" + encodeURIComponent(mw.config.get('wgPageName'));

		userRightStr += "; <a href='" + blockLogURL + "'>currently blocked</a>";

	}

	

	// Attach the info where we want it

	$('#siteSub').before("<div id='mcUserRights' style='font-size: smaller'>" + userRightStr + "</div>");

}
From 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.

/* 

 * User rights script

 * By MastCell

 * ------------------

 * Adds information on user rights (sysop, checkuser, etc) to the heading on user pages.

 * Heavily borrowed and lightly adapted from User:Splarka/sysopdectector.js

 */





/* 

 * Namespace check: Add user rights info if this is a userpage or talkpage

 * If this is a user or usertalk subpage (e.g. "User:Example/subpage"), we'll leave out

 * the info. We'll also leave it out if we're editing or submitting an edit.

 */



if ((mw.config.get('wgNamespaceNumber') == 2 || mw.config.get('wgNamespaceNumber') == 3)

	&& mw.config.get('wgTitle').indexOf('/') == -1

	&& mw.config.get('wgAction') != 'edit'

	&& mw.config.get('wgAction') != 'submit') {

		addOnloadHook(mcShowUserGroups);

}



function mcShowUserGroups() {

	var url = mw.config.get('wgServer') + mw.config.get('wgScriptPath');

	url += '/api.php?action=query&format=json&list=users&usprop=groups|blockinfo|editcount|registration';

	url += '&callback=mcDisplayUserRightsInfo&maxage=3600&smaxage=3600&ususers=';

	url += encodeURIComponent(mw.config.get('wgTitle'));

	importScriptURI(url);

}



function mcDisplayUserRightsInfo(queryObj) {

	// Check to make sure the query returned a user; otherwise, return

	if (!queryObj'query' || !queryObj'query']['users']) {

		return;

	}

	

	var user = queryObj'query']['users'];

	if (user.length === 0) {

		return;

	}

	user = user0];

	

	// If the user is an IP ("invalid") or unregistered ("missing"), return

	if (user'invalid' === "" || user'missing' === "") return;

	

	var userRightStr = "";

	

	// Get registration Date

	if (user'registration']) {

		var regDate = user'registration'].split("T")[0];

		var regDateObj = new Date(regDate);

		userRightStr += ("Registered " + (regDateObj.getMonth() + 1) + "/" + regDateObj.getDate() + "/" + regDateObj.getFullYear() + "; ");

	}

	

	// Get edit count

	if (user'editcount']) {

		userRightStr += (user'editcount' + " edits");

	}

	

	// Get user rights

	if (user'groups']) {

		var numRights = 0;

		var groupLength = user'groups'].length;

		

		for (var i = 0; i < groupLength; i++) {

			// We'll ignore the groups "*" and "users", since everyone belongs to them

			var currentGroup = user'groups'][i];

			if ((currentGroup != "*") && (currentGroup != "user")) {

				if (numRights === 0) {

					userRightStr += "; ";

				} else {

					userRightStr += ", ";

				}



                                if (currentGroup == "sysop") {

                                        userRightStr += "<span style='text-shadow: green 0px 0px 10px'>";

                                        userRightStr += currentGroup;

                                        userRightStr += "</span>";

                                } else if (currentGroup == "bureaucrat") {

                                        userRightStr += "<span style='text-shadow: yellow 0px 0px 10px'>";

                                        userRightStr += currentGroup;

                                        userRightStr += "</span>";

                                } else if (currentGroup == "checkuser") {

                                        userRightStr += "<span style='text-shadow: red 0px 0px 10px'>";

                                        userRightStr += currentGroup;

                                        userRightStr += "</span>";

                                } else if (currentGroup == "oversight") {

                                        userRightStr += "<span style='text-shadow: cyan 0px 0px 10px'>";

                                        userRightStr += currentGroup;

                                        userRightStr += "</span>";

                                } else {

				        userRightStr += currentGroup;

                                }

				numRights++;

			}

		}

	}

	

	// If currently blocked, mention it

	if (user'blockedby']) {

		var blockLogURL = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + "/index.php?title=Special:Log/block&page=" + encodeURIComponent(mw.config.get('wgPageName'));

		userRightStr += "; <a href='" + blockLogURL + "'>currently blocked</a>";

	}

	

	// Attach the info where we want it

	$('#siteSub').before("<div id='mcUserRights' style='font-size: smaller'>" + userRightStr + "</div>");

}

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook