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.

/* Sysop decrier/detector (rights group displayer), version [0.2.1]

Originally from http://en.wikipedia.org/wiki/User:Splarka/sysopdectector.js



Notes:

* Fixed this up to use the new API fun stuffs.

* Shows all groups now

* nstab-user isn't available in all skins, all skins have at least one h1 or h2 I believe.

* heading given class="detected-userrights-heading" and text in span class="detected-userrights"



Options:

* Now supports an option system.

* By setting a datalet true it shows in the header instead of the title.

* Note, all are assumed false if omitted. All but 'groups' are assumed false if undefined.

var showUserGroupSettings = {

	'IP':true,

	'unregistered':true,

	'registered':true,

	'groups': true,

	'editcount':true,

	'regdate':true,

	'blocked':true

};

*/



function showUserGroups() {

	var url = mw.config.get( 'wgServer' )

		+ mw.config.get( 'wgScriptPath' )

		+ '/api.php?action=query&format=json&callback=showUserGroupsCB\

&maxage=3600&smaxage=3600&usprop=blockinfo|groups|editcount|registration\

&list=users&ususers='

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

	mw.loader.load( url );

}



function showUserGroupsCB( obj ) {

	var show = window.showUserGroupSettings || false;

	var user = obj.query && obj.query.users;

	if ( !user || !user0 ) {

		return;

	}

	user = user0];

	var someHeading = document.getElementsByTagName( 'h1' )[0 || document.getElementsByTagName( 'h2' )[0];

	if ( !someHeading ) {

		return;

	}



	var span = document.createElement( 'span' );

	var title = 'User:' + user.name + ' ';

	var text = ' ';



	if ( user.invalid === '' ) {

		if ( show && show.IP ) {

			text += '[IP] ';

		} else {

			title += '[invalid or IP username] ';

		}

	} else if ( user.missing === '' ) {

		if ( show && show.unregistered ) {

			text += '[doesn\'t exist] ';

		} else {

			title += '[not a registered name] ';

		}

	} else {

		if ( show && show.registered ) {

			text += '[exists] ';

		} else {

			title += '[username registered] ';

		}

		if ( user.groups ) {

			if ( show && show.groups || !show ) {

				text += '[' + user.groups + '] ';

			} else {

				title += '[' + user.groups + '] ';

			}

		}

		if ( user.editcount ) {

			if ( show && show.editcount ) {

				text += '[' + user.editcount + ' edits] ';

			} else {

				title += '[' + user.editcount + ' edits] ';

			}

		}

		if ( user.registration ) {

			if ( show && show.regdate ) {

				text += '[created: ' + user.registration.split( 'T' )[0 + '] ';

			} else {

				title += '[created: ' + user.registration + '] ';

			}

		}

		if ( user.blockedby ) {

			if ( show && show.blocked ) {

				text += '[blocked] ';

			} else {

				text += '[currently blocked] ';

			}

		}

	}



	span.setAttribute( 'class', 'detected-userrights' );

	span.appendChild( document.createTextNode( text ) );

	someHeading.appendChild( span );

	someHeading.setAttribute( 'title', title );

	someHeading.className += ' detected-userrights-heading';

}



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' ) ) {

		$( showUserGroups );

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

/* Sysop decrier/detector (rights group displayer), version [0.2.1]

Originally from http://en.wikipedia.org/wiki/User:Splarka/sysopdectector.js



Notes:

* Fixed this up to use the new API fun stuffs.

* Shows all groups now

* nstab-user isn't available in all skins, all skins have at least one h1 or h2 I believe.

* heading given class="detected-userrights-heading" and text in span class="detected-userrights"



Options:

* Now supports an option system.

* By setting a datalet true it shows in the header instead of the title.

* Note, all are assumed false if omitted. All but 'groups' are assumed false if undefined.

var showUserGroupSettings = {

	'IP':true,

	'unregistered':true,

	'registered':true,

	'groups': true,

	'editcount':true,

	'regdate':true,

	'blocked':true

};

*/



function showUserGroups() {

	var url = mw.config.get( 'wgServer' )

		+ mw.config.get( 'wgScriptPath' )

		+ '/api.php?action=query&format=json&callback=showUserGroupsCB\

&maxage=3600&smaxage=3600&usprop=blockinfo|groups|editcount|registration\

&list=users&ususers='

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

	mw.loader.load( url );

}



function showUserGroupsCB( obj ) {

	var show = window.showUserGroupSettings || false;

	var user = obj.query && obj.query.users;

	if ( !user || !user0 ) {

		return;

	}

	user = user0];

	var someHeading = document.getElementsByTagName( 'h1' )[0 || document.getElementsByTagName( 'h2' )[0];

	if ( !someHeading ) {

		return;

	}



	var span = document.createElement( 'span' );

	var title = 'User:' + user.name + ' ';

	var text = ' ';



	if ( user.invalid === '' ) {

		if ( show && show.IP ) {

			text += '[IP] ';

		} else {

			title += '[invalid or IP username] ';

		}

	} else if ( user.missing === '' ) {

		if ( show && show.unregistered ) {

			text += '[doesn\'t exist] ';

		} else {

			title += '[not a registered name] ';

		}

	} else {

		if ( show && show.registered ) {

			text += '[exists] ';

		} else {

			title += '[username registered] ';

		}

		if ( user.groups ) {

			if ( show && show.groups || !show ) {

				text += '[' + user.groups + '] ';

			} else {

				title += '[' + user.groups + '] ';

			}

		}

		if ( user.editcount ) {

			if ( show && show.editcount ) {

				text += '[' + user.editcount + ' edits] ';

			} else {

				title += '[' + user.editcount + ' edits] ';

			}

		}

		if ( user.registration ) {

			if ( show && show.regdate ) {

				text += '[created: ' + user.registration.split( 'T' )[0 + '] ';

			} else {

				title += '[created: ' + user.registration + '] ';

			}

		}

		if ( user.blockedby ) {

			if ( show && show.blocked ) {

				text += '[blocked] ';

			} else {

				text += '[currently blocked] ';

			}

		}

	}



	span.setAttribute( 'class', 'detected-userrights' );

	span.appendChild( document.createTextNode( text ) );

	someHeading.appendChild( span );

	someHeading.setAttribute( 'title', title );

	someHeading.className += ' detected-userrights-heading';

}



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' ) ) {

		$( showUserGroups );

}

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook