MediaWiki:Common.js: Difference between revisions

From Lawries Music People Archive
Jump to navigationJump to search
(Copy JS from tunes archive)
 
(Remove sidebar edit calls for lp access checks)
 
(One intermediate revision by the same user not shown)
Line 61: Line 61:
// ModifySidebar( 'add', 'toolbox', 'CategoryTree', '/~lpb/tunes/index.php?title=Special:CategoryTree' );
// ModifySidebar( 'add', 'toolbox', 'CategoryTree', '/~lpb/tunes/index.php?title=Special:CategoryTree' );
// removes items from toolbox
// removes items from toolbox
ModifySidebar( 'remove', 'toolbox', 'What links here', 'Special:WhatLinksHere/' );
// ModifySidebar( 'remove', 'toolbox', 'What links here', 'Special:WhatLinksHere/' );
ModifySidebar( 'remove', 'toolbox', 'Related changes', 'Special:RecentChangesLinked/' );
// ModifySidebar( 'remove', 'toolbox', 'Related changes', 'Special:RecentChangesLinked/' );
ModifySidebar( 'remove', 'toolbox', 'Permanent link', 'oldid=' );
// ModifySidebar( 'remove', 'toolbox', 'Permanent link', 'oldid=' );
// ModifySidebar( 'remove', 'toolbox', 'Page information', 'action=info' );
if (wgUserName == null ) { // not logged in user
if (wgUserName == null ) { // not logged in user
ModifySidebar( 'remove', 'toolbox', 'Special pages', 'Special:SpecialPages' );
ModifySidebar( 'remove', 'toolbox', 'Special pages', 'Special:SpecialPages' );

Latest revision as of 00:37, 18 February 2017

/* Any JavaScript here will be loaded for all users on every page load. */
/* Tools sidebar modification code from: https://www.mediawiki.org/wiki/Manual:Interface/Sidebar */

function ModifySidebar( action, section, name, link ) {
	try {
		switch ( section ) {
			case 'languages':
				var target = 'p-lang';
				break;
			case 'toolbox':
				var target = 'p-tb';
				break;
			case 'navigation':
				var target = 'p-navigation';
				break;
			default:
				var target = 'p-' + section;
				break;
		}

		if ( action == 'add' ) {
			var node = document.getElementById( target )
							   .getElementsByTagName( 'div' )[0]
							   .getElementsByTagName( 'ul' )[0];

			var aNode = document.createElement( 'a' );
			var liNode = document.createElement( 'li' );

			aNode.appendChild( document.createTextNode( name ) );
			aNode.setAttribute( 'href', link );
			liNode.appendChild( aNode );
			liNode.className = 'plainlinks';
			node.appendChild( liNode );
		}

		if ( action == 'remove' ) {
			var list = document.getElementById( target )
							   .getElementsByTagName( 'div' )[0]
							   .getElementsByTagName( 'ul' )[0];

			var listelements = list.getElementsByTagName( 'li' );

			for ( var i = 0; i < listelements.length; i++ ) {
				if (
					listelements[i].getElementsByTagName( 'a' )[0].innerHTML == name ||
					listelements[i].getElementsByTagName( 'a' )[0].href.includes(link) )
				{
					list.removeChild( listelements[i] );
				}
			}
		}

	} catch( e ) {
		// let's just ignore what's happened
		return;
	}
}

function CustomizeModificationsOfSidebar() {
	// adds items to toolbox
	// ModifySidebar( 'add', 'toolbox', 'CategoryTree', '/~lpb/tunes/index.php?title=Special:CategoryTree' );
	// removes items from toolbox
	// ModifySidebar( 'remove', 'toolbox', 'What links here', 'Special:WhatLinksHere/' );
	// ModifySidebar( 'remove', 'toolbox', 'Related changes', 'Special:RecentChangesLinked/' );
	// ModifySidebar( 'remove', 'toolbox', 'Permanent link', 'oldid=' );
	// ModifySidebar( 'remove', 'toolbox', 'Page information', 'action=info' );
	if (wgUserName == null ) { // not logged in user
		ModifySidebar( 'remove', 'toolbox', 'Special pages', 'Special:SpecialPages' );
	}
}

jQuery( CustomizeModificationsOfSidebar );