MediaWiki:Common.js
From Wikimedicine
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */ /* Any JavaScript here will be loaded for all users on every page load. */ /** * Cusomize the sidebar * @see https://www.mediawiki.org/wiki/Manual:Interface/Sidebar * added by Greg Rundlett <info@eQuality-Tech.com> */ function isObject( obj ) { return typeof obj == 'object' && obj !== null; } function isArray( obj ) { return isObject( obj ) && obj.constructor.toString().indexOf( 'Array' ) != -1; } Array.prototype.Contains = function( element, strict ) { for( var i in this ) { if( this[i] == element && !strict || this[i] === element ) { return true; } } return false; }; function ModifySidebar( action, section, name, link ) { try { var target; switch ( section ) { case 'languages': target = 'p-lang'; break; case 'toolbox': target = 'p-tb'; break; case 'navigation': target = 'p-navigation'; break; default: 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:Html2Wiki]] to toolbox ModifySidebar( 'add', 'toolbox', 'Import HTML', '/wiki/Special:Html2Wiki' ); // removes [[Special:Upload]] from toolbox // ModifySidebar( 'remove', 'toolbox', 'Upload file', 'http://en.wikipedia.org/wiki/Special:Upload' ); } // for anyone addOnloadHook( CustomizeModificationsOfSidebar ); // customize only for bureaucrats // didn't work in testing /*if ( isArray( wgUserGroups ) ) { if ( wgUserGroups.Contains( 'bureaucrat' ) ) { addOnloadHook( CustomizeModificationsOfSidebar ); } }*/