MediaWiki:Common.js: Difference between revisions

From Engineered Residual Stress Implementation (ERSI)
Jump to navigationJump to search
No edit summary
No edit summary
 
(11 intermediate revisions by the same user not shown)
Line 64: Line 64:
// removes [[Special:Upload|Special:Upload]] from toolbox
// removes [[Special:Upload|Special:Upload]] from toolbox
// ModifySidebar( 'remove', 'toolbox', 'Upload file', 'https://en.wikipedia.org/wiki/Special:Upload' );
// ModifySidebar( 'remove', 'toolbox', 'Upload file', 'https://en.wikipedia.org/wiki/Special:Upload' );
ModifySidebar( 'remove', 'toolbox', 'Upload file');
// ModifySidebar( 'remove', 'toolbox', 'Upload file');
ModifySidebar( 'remove', 'toolbox', 'Page information');
ModifySidebar( 'remove', 'toolbox', 'Page information', 'https://residualstress.org/index.php?title=MediaWiki:Common.js&action=info' );
ModifySidebar( 'remove', 'toolbox', 'What links here');
ModifySidebar( 'remove', 'toolbox', 'What links here');
ModifySidebar( 'remove', 'toolbox', 'Related changes');
ModifySidebar( 'remove', 'toolbox', 'Related changes');
ModifySidebar( 'remove', 'toolbox', 'Permanent link');
ModifySidebar( 'remove', 'toolbox', 'Permanent link');
ModifySidebar( 'remove', 'toolbox', 'Printable version');
ModifySidebar( 'remove', 'toolbox', 'Printable version');
ModifySidebar( 'remove', 'toolbox', 'Special pages');
//ModifySidebar( 'remove', 'toolbox', 'Special pages');
}
}


function CustomizeModificationsOfSidebarAdmin() {
 
ModifySidebar( 'add', 'toolbox', 'Upload file');
ModifySidebar( 'add', 'toolbox', 'Special pages');
}


jQuery( CustomizeModificationsOfSidebar );
jQuery( CustomizeModificationsOfSidebar );
if ( mw.config.get( 'wgUserGroups', [] ).indexOf( 'administrator' ) == -1 ) {
jQuery( CustomizeModificationsOfSidebarAdmin );
}

Latest revision as of 15:41, 5 September 2023

/* Any JavaScript here will be loaded for all users on every page load. */


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 == link
				)
				{
					list.removeChild( listelements[i] );
				}
			}
		}


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

function CustomizeModificationsOfSidebar() {
	// adds [[Special:CategoryTree|Special:CategoryTree]] to toolbox
	// ModifySidebar( 'add', 'toolbox', 'CategoryTree', 'https://en.wikipedia.org/wiki/Special:CategoryTree' );
	// removes [[Special:Upload|Special:Upload]] from toolbox
	// ModifySidebar( 'remove', 'toolbox', 'Upload file', 'https://en.wikipedia.org/wiki/Special:Upload' );
	// ModifySidebar( 'remove', 'toolbox', 'Upload file');
	ModifySidebar( 'remove', 'toolbox', 'Page information', 'https://residualstress.org/index.php?title=MediaWiki:Common.js&action=info' );
	ModifySidebar( 'remove', 'toolbox', 'What links here');
	ModifySidebar( 'remove', 'toolbox', 'Related changes');
	ModifySidebar( 'remove', 'toolbox', 'Permanent link');
	ModifySidebar( 'remove', 'toolbox', 'Printable version');
	//ModifySidebar( 'remove', 'toolbox', 'Special pages');
}



jQuery( CustomizeModificationsOfSidebar );