User:Professor Hershel Theodore Layton/global.js

/* FandomDesktop */

/** * On pages related to a specific user, add a link to their Discussions profile * in the Page Tools module of the Right Rail. * * @author Professor Hershel Theodore Layton * @version 2021-06-15 */ (function {	if (window.hasOwnProperty('pageToolsDiscussionsProfile')) return;	window.pageToolsDiscussionsProfile = {};	// Retrieve username from URL	var namespace = mw.config.get('wgCanonicalNamespace'),		pagetitle = mw.config.get('wgTitle'),		username = '';	switch(namespace) {		case 'User':		case 'User talk':		case 'Message Wall':			username = pagetitle;			if (username.indexOf('/') !== -1) return;		break;		case 'Special':			if (mw.config.get('wgCanonicalSpecialPageName') !== 'Contributions') return;			username = pagetitle.substr(pagetitle.indexOf('/') + 1);		break;		default: return;	}	var apiEndpoint = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/wikia.php';	$.ajax({ url: apiEndpoint, type: 'GET', format: 'json', data: { controller: 'DiscussionPost', method: 'getPosts', limit: 0 }	}).fail(function(err) { // Checking whether Discussions are enabled for the wiki: In either case, we're getting an // error. If the status code is 404, we can assume that the wiki doesn't have Discussions // enabled. Since we have set the limit to 0, we're getting a 400 bad request response in // case Discussions are enabled. if (err.status !== 404) { (new mw.Api).get({				action: 'query',				list: 'users',				ususers: username			}).then(function(data) {				var user = data.query.users[0];				if (user.hasOwnProperty('missing')) return;				var discussionsProfile = mw.config.get('wgServer') +					mw.config.get('wgScriptPath') + '/f/u/' + user.userid;				$('#page-tools-module .rail-module__list').prepend( $('', { id: 't-script-discussionsprofile' }).html(						$('', { href: discussionsProfile, text: "Profil in Diskussionen" })					)				);			});		}	}); }); /* Ende FandomDesktop */

window.globalNavButtons = [ {		text: 'Layton', icon: '', url: 'https://layton.fandom.com/de/wiki/Hauptseite', isMain: true, whoIsMain: false, shortName: 'layton' },	{		text: 'Deutsch: Letzte Änderungen', url: 'https://layton.fandom.com/de/wiki/Spezial:Letzte_Änderungen', isMain: false, whoIsMain: 'layton', shortName: 'layton-de' },	{		text: 'Englisch: Letzte Änderungen', url: 'https://layton.fandom.com/wiki/Special:RecentChanges', isMain: false, whoIsMain: 'layton', shortName: 'layton-en' }, 	{		text: 'Weitere', url: '', isMain: true, whoIsMain: false, shortName: 'weitere' },	{		text: 'Deutsch: Maze Runner', url: 'https://mazerunner.fandom.com/de/wiki/Spezial:Letzte_Änderungen', isMain: false, whoIsMain: 'weitere', shortName: 'mazerunner-de' },	{		text: 'Englisch: Maze Runner', url: 'https://mazerunner.fandom.com/wiki/Special:RecentChanges', isMain: false, whoIsMain: 'weitere', shortName: 'mazerunner-en' },	{		text: 'Fandom', icon: '    ', hasBackground: true, url: 'https://community.fandom.com/de/wiki/Spezial:Letzte_Änderungen', isMain: true, whoIsMain: false, shortName: 'fandom-related' }, {    text: 'Community RC (De)', url: 'https://community.fandom.com/de/wiki/Spezial:Letzte_Änderungen', isMain: false, whoIsMain: 'fandom-related', shortName: 'cc-de-rc' }, {    text: 'Community /f (De)', url: 'https://community.fandom.com/de/f', isMain: false, whoIsMain: 'fandom-related', shortName: 'cc-de-f' }, {    text: 'Dev', url: 'https://dev.fandom.com/wiki/Special:RecentChanges', isMain: false, whoIsMain: 'fandom-related', shortName: 'dev' }, {    text: 'Helpers', url: 'https://helpers.fandom.com/wiki/Special:RecentChanges', isMain: false, whoIsMain: 'fandom-related', shortName: 'helpers' }, {    text: 'Helpers Mergetest', url: 'https://helpers-mergetest.fandom.com/wiki/Special:RecentChanges', isMain: false, whoIsMain: 'fandom-related', shortName: 'helpers-mergetest' }, {    text: 'Council', url: 'https://communitycouncil.fandom.com/wiki/Blog:Recent_posts', isMain: false, whoIsMain: 'fandom-related', shortName: 'council' }, ];

importArticles({	type: 'script',	articles: [		// FandomDesktop interim fixes		'u:dev:MediaWiki:ThemeToggler.js',		// FandomDesktop interim fixes		'u:dev:MediaWiki:AjaxBatchDelete.js',		'u:dev:MediaWiki:AnalyticsShortcut.js',		'u:dev:MediaWiki:AvatarLink.js',		'u:dev:MediaWiki:Bang.js',		'u:dev:MediaWiki:DeleteTalkpage.js',		'u:dev:MediaWiki:GlobalNavButtons.js',		'u:dev:MediaWiki:MassCategorization/code.js',		'u:dev:MediaWiki:MassEdit/code.js',		'u:dev:MediaWiki:MassNullEdit/code.js',		'u:dev:MediaWiki:NewImages.js',		'u:dev:MediaWiki:NullEditButton/code.js',		'u:dev:MediaWiki:PortableListUsers.js',		'u:dev:MediaWiki:PurgeButton/code.js',	] });