User:Euphoria/common.js: Difference between revisions

From Test Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 7: Line 7:
         // Check if the current page is a user contributions page
         // Check if the current page is a user contributions page
         if (mw.config.get('wgCanonicalSpecialPageName') === 'Contributions') {
         if (mw.config.get('wgCanonicalSpecialPageName') === 'Contributions') {
             // Extract username from the contributions page using a regular expression
             // Extract username from the contributions page using a different method
             var match = pageTitle.match(/Special:Contributions\/([^\/?]+)/);
             var userNamespaceIndex = pageTitle.indexOf(':');
             username = match ? match[1] : null;
             if (userNamespaceIndex !== -1) {
                username = pageTitle.substring(userNamespaceIndex + 1);
            }
         } else {
         } else {
             // Extract username from the regular page title
             // Extract username from the regular page title
Line 15: Line 17:
         }
         }


         // Check if the current page is a user page, user talk page, or user contributions page
         // 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 isUserPage = mw.config.get('wgNamespaceNumber') === 2; // User namespace
         var isTalkPage = mw.config.get('wgNamespaceNumber') === 3; // User talk namespace
         var isTalkPage = mw.config.get('wgNamespaceNumber') === 3; // User talk namespace
         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, 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:38, 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) {
                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) {
            var sulLink = mw.util.addPortletLink(
                'p-cactions',
                mw.util.getUrl('Special:CentralAuth/' + username),
                'SUL',
                'ca-sul',
                'SUL',
                null,
                '#ca-sul'
            );
        }
    });