User:Euphoria/common.js: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 9: | Line 9: | ||
// Extract username from the contributions page using a different method | // Extract username from the contributions page using a different method | ||
var userNamespaceIndex = pageTitle.indexOf(':'); | var userNamespaceIndex = pageTitle.indexOf(':'); | ||
if (userNamespaceIndex !== -1) { | if (userNamespaceIndex !== -1 && userNamespaceIndex < pageTitle.length - 1) { | ||
username = pageTitle.substring(userNamespaceIndex + 1); | username = pageTitle.substring(userNamespaceIndex + 1); | ||
} | } | ||
Line 22: | Line 22: | ||
var isContributionsPage = mw.config.get('wgCanonicalSpecialPageName') === 'Contributions'; | var isContributionsPage = mw.config.get('wgCanonicalSpecialPageName') === 'Contributions'; | ||
if (isUserPage || isTalkPage || isContributionsPage) { | if ((isUserPage || isTalkPage || isContributionsPage) && username) { | ||
var sulLink = mw.util.addPortletLink( | var sulLink = mw.util.addPortletLink( | ||
'p-cactions', | 'p-cactions', |
Revision as of 07:40, 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 different method
var userNamespaceIndex = pageTitle.indexOf(':');
if (userNamespaceIndex !== -1 && userNamespaceIndex < pageTitle.length - 1) {
username = pageTitle.substring(userNamespaceIndex + 1);
}
} 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, and add the "SUL" link
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 ((isUserPage || isTalkPage || isContributionsPage) && username) {
var sulLink = mw.util.addPortletLink(
'p-cactions',
mw.util.getUrl('Special:CentralAuth/' + username),
'SUL',
'ca-sul',
'SUL',
null,
'#ca-sul'
);
}
});