User:Euphoria/common.js: Difference between revisions
Jump to navigation
Jump to search
(adjustment in the regular expression) |
No edit summary |
||
Line 20: | Line 20: | ||
var isContributionsPage = mw.config.get('wgCanonicalSpecialPageName') === 'Contributions'; | var isContributionsPage = mw.config.get('wgCanonicalSpecialPageName') === 'Contributions'; | ||
// If the current page is a user page, user talk page, or user contributions page, add the "SUL" link | // If the current page is a user page, user talk page, or user contributions page, and a valid username is available, add the "SUL" link | ||
if (isUserPage || isTalkPage || isContributionsPage) { | if ((isUserPage || isTalkPage || isContributionsPage) && username !== null) { | ||
var sulLink = mw.util.addPortletLink( | var sulLink = mw.util.addPortletLink( | ||
'p-cactions', | 'p-cactions', |
Revision as of 07:37, 10 November 2023
mw.loader.using(['mediawiki.util'])
.then(function () {
// Extract the username from the current page title
var pageTitle = mw.config.get('wgTitle');
var username;
// Check if the current page is a user contributions page
if (mw.config.get('wgCanonicalSpecialPageName') === 'Contributions') {
// Extract username from the contributions page using a regular expression
var match = pageTitle.match(/Special:Contributions\/([^\/?]+)/);
username = match ? match[1] : null;
} else {
// Extract username from the regular page title
username = pageTitle.split('/')[0];
}
// Check if the current page is a user page, user talk page, or user contributions page
var isUserPage = mw.config.get('wgNamespaceNumber') === 2; // User namespace
var isTalkPage = mw.config.get('wgNamespaceNumber') === 3; // User talk namespace
var isContributionsPage = mw.config.get('wgCanonicalSpecialPageName') === 'Contributions';
// If the current page is a user page, user talk page, or user contributions page, and a valid username is available, add the "SUL" link
if ((isUserPage || isTalkPage || isContributionsPage) && username !== null) {
var sulLink = mw.util.addPortletLink(
'p-cactions',
mw.util.getUrl('Special:CentralAuth/' + username),
'SUL',
'ca-sul',
'SUL',
null,
'#ca-sul'
);
}
});