User:Dross/links.js

From Miraheze Meta, Miraheze's central coordination wiki

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.
/* START MANAGEWIKI LINKS */

// First, remove default Administration links
$( '#p-managewiki-sidebar-header' ).remove();

// New ManageWiki link location
switch( mw.config.get("skin") ) {
	case "vector": $( 'div#mw-panel>nav:last-child' ).after( '<nav id="p-managewiki-links" class="mw-portlet mw-portlet-tb vector-menu vector-menu-portal portal" role="navigation" aria-labelledby="p-managewiki-links-label"><h3 id="p-managewiki-links-label" class="vector-menu-heading">ManageWiki</h3><div class="vector-menu-content"><ul class="vector-menu-content-list"></ul></div></nav>' );
	break;
	default: $( 'div#sidebar>div:last-child' ).after( '<div id="p-managewiki-links" class="portlet" role="navigation" aria-labelledby="p-managewiki-links-label"><h3 id="p-managewiki-links-label">ManageWiki</h3><div class="pBody"><ul></ul></div></div>' );
}

// The links themselves ;D
mw.util.addPortletLink(
	'p-managewiki-links',
	'/wiki/Special:ManageWiki',
	'Go to ManageWiki home',
	't-managewiki-home',
	'Open the default ManageWiki page.'
);

mw.util.addPortletLink(
	'p-managewiki-links',
	'/wiki/Special:ManageWiki/core',
	'Core wiki settings',
	't-managewiki-core',
	'View database name, change site name, change language, change wiki visibility, and change category.'
);

mw.util.addPortletLink(
	'p-managewiki-links',
	'/wiki/Special:ManageWiki/extensions',
	'Extensions',
	't-managewiki-extensions',
	'View, enable, and disable wiki extensions.'
);

mw.util.addPortletLink(
	'p-managewiki-links',
	'/wiki/Special:ManageWiki/extensions#mw-section-skins',
	'Skins',
	't-managewiki-skins',
	'View, enable, and disable wiki skins.'
);

mw.util.addPortletLink(
	'p-managewiki-links',
	'/wiki/Special:ManageWiki/namespaces',
	'Namespaces',
	't-managewiki-namespaces',
	'Edit wiki namespace settings, including namespace protection.'
);

mw.util.addPortletLink(
	'p-managewiki-links',
	'/wiki/Special:ManageWiki/permissions',
	'Permissions',
	't-managewiki-permissions',
	'Manage permissions and user groups for this wiki.'
);

mw.util.addPortletLink(
	'p-managewiki-links',
	'/wiki/Special:ManageWiki/permissions/*',
	'Manage permissions for all users',
	't-managewiki-permissions-allusers',
	'Permissions for "*".'
);

mw.util.addPortletLink(
	'p-managewiki-links',
	'/wiki/Special:ManageWiki/permissions/user',
	'Manage permissions for logged in users',
	't-managewiki-permissions-user',
	'Permissions for "user".'
);

mw.util.addPortletLink(
	'p-managewiki-links',
	'/wiki/Special:ManageWiki/permissions/sysop',
	'Manage permissions for administrators',
	't-managewiki-permissions-sysop',
	'Permissions for "sysop".'
);

mw.util.addPortletLink(
	'p-managewiki-links',
	'/wiki/Special:ManageWiki/permissions/bureaucrat',
	'Manage permissions for bureaucrats',
	't-managewiki-permissions-bureaucrat',
	'Permissions for "bureaucrat".'
);

mw.util.addPortletLink(
	'p-managewiki-links',
	'/wiki/Special:ManageWiki/settings',
	'Miscellaneous',
	't-managewiki-additional',
	'Manage wiki settings for AbuseFilter, beta features, sitewide editor settings, link settings, l10n, media, notifications, default skin, and view restricted settings.'
);

mw.util.addPortletLink(
	'p-managewiki-links',
	'/wiki/Special:ManageWiki/settings#mw-section-restricted',
	'Restricted',
	't-managewiki-restricted',
	'View restricted wiki settings (changes require "managewiki-restricted").'
);

/* END MANAGEWIKI LINKS */

/* START PERSONAL LINK TOOLBOX (inspiration from and credit to [[meta:User:Void/links.js]]) */

// A home for these links to live...
switch( mw.config.get("skin") ) {
	case 'vector': $( 'nav#p-navigation' ).after( '<nav id="p-drosslinks" class="mw-portlet mw-portlet-navigation vector-menu vector-menu-portal portal" role="navigation" aria-labelledby="p-drosslinks"><h3 id="p-drosslinks-label" class="vector-menu-heading">My toolbox</h3><div class="vector-menu-content"><ul></ul></div></nav>' );
	break;
	// My default skin is Monobook, so the default is tailored to the Monobook skin
	default: $( 'div#p-navigation' ).after( '<div id="p-drosslinks" class="portlet" role="navigation" aria-labelledby="p-drosslinks"><h3 id="p-drosslinks-label">My toolbox</h3><div class="pBody"><ul></ul></div></div>' );
}

// Now for the pleasant little links
mw.util.addPortletLink(
	'p-drosslinks',
	'/wiki/Special:AbuseFilter',
	'Abuse filter',
	't-abusefilter',
	'View AbuseFilter.'
);

mw.util.addPortletLink(
	'p-drosslinks',
	'/wiki/Special:AllPages',
	'All pages',
	't-allpages',
	'System generated listing of all pages.'
);

mw.util.addPortletLink(
	'p-drosslinks',
	'/wiki/Special:BlockList',
	'Blocked users',
	't-blocklist',
	'List of blocked users with details.'
);

mw.util.addPortletLink(
	'p-drosslinks',
	'/wiki/Special:ListUsers?group=sysop',
	'Local sysops',
	't-listadmins',
	'List all local administrators.'
);

mw.util.addPortletLink(
	'p-drosslinks',
	'/wiki/Special:ListGroupRights',
	'User group rights',
	't-listgrouprights',
	'List of user groups and their rights.'
);

mw.util.addPortletLink(
	'p-drosslinks',
	'/wiki/Special:ListUsers',
	'List all users',
	't-listusers',
	'List of all registered users on this wiki.'
);

mw.util.addPortletLink(
	'p-drosslinks',
	'//meta.miraheze.org/wiki/Special:RandomWiki',
	'Random wiki',
	't-randomwiki',
	'Go to a random wiki.'
);

/* END PERSONAL TOOLBOX */

// Extra link(s) for meta
if( mw.config.get( 'wgDBname' ) == 'metawiki' ) {
	mw.util.addPortletLink(
		'p-Requests',
		'//meta.miraheze.org/wiki/Special:RequestWikiQueue?status=inreview',
		'Open wiki requests',
		'n-openwikirequests',
		'View current open wiki requests.',
		'',
		$( 'li#n-miraheze-requestfeatures' )
	);
}

// CA link for relevant user pages (from [[m:User:Void/centralAuthLink.js]])
var relUser = mw.config.get( 'wgRelevantUserName' );
if( relUser !== null && !mw.util.isIPAddress(relUser) ){
	mw.util.addPortletLink(
		'p-navigation',
		mw.util.getUrl( ( mw.config.get('wgDBname') === 'metawiki' ? '' : 'meta:' ) + 'Special:CentralAuth/' + relUser ),
		'Current user CA',
		'p-centralauth',
		'View global account information'
	);
}