MediaWiki:Gadget-MyUploads.js: Difference between revisions

From Zelda Dungeon Wiki
Jump to navigation Jump to search
Want an adless experience? Log in or Create an account.
(Created page.)
 
(load mediawiki.util)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
(function () {
$( function() {
'use strict';
   mw.loader.using(['mediawiki.util']).then(function() {
if (window.uploadLink || mw.user.anonymous()) return;
    mw.util.addPortletLink('p-personal', mw.config.get('wgServer') + '/wiki/Special:ListFiles/' + mw.config.get('wgUserName'), 'Uploads', 'pt-uploads', 'List of files you have uploaded', 'o','#pt-mycontris');
   });
window.uploadLink = { // extra-object to prevent pollution of "window"
   getUserName: function () {
    var username = '';
    switch (mw.config.get('wgNamespaceNumber')) {
    case 3: // User_talk
    case 2: // User
      username = mw.config.get('wgPageName').match(/.*?\:(.*?)(\/.*)*$/)[1];
      break;
    case -1: // Special pages
      try {
        if ("Contributions" === mw.config.get('wgCanonicalSpecialPageName')) {
          if (-1 !== location.href.indexOf("\/Special:Contributions\/")) {
            username = decodeURI(location.href.match(/Special\:Contributions\/(.*?)$/)[1]);
          } else if (-1 !== location.href.indexOf(mw.config.get('wgScript'))) {
            username = mw.util.getParamValue('target');
          }
        }
        if ("Log" === mw.config.get('wgCanonicalSpecialPageName')) {
          if (mw.util.getParamValue('user')) username = mw.util.getParamValue('user');
          if (mw.util.getParamValue('page')) {
            if (/User:+./.test(mw.util.getParamValue('page'))) {
              username = mw.util.getParamValue('page').replace("User:", "");
            }
          }
        }
      } catch (ex) {}
      break;
    }
    return username;
  },
  install: function () {
    var link, userlink, username = encodeURI(this.getUserName());
      link = mw.config.get('wgScript') + '?title=' + 'Special:MyUploads';
      userlink = mw.config.get('wgScript') + '?title=' + 'Special:ListFiles/' + username;
    var userlinkText = "User uploads"; // english only
    var linkTextList = {
      // Translations of the menu item
      i18n: {
        'en': 'My uploads', // default
      }
    };
    var linkTooltipList = {
      // Translations of the menu item tooltip
      i18n: {
        'en': 'List of files you have uploaded', // default
      }
    };
    var linkText = linkTextList.i18n[mw.config.get('wgUserLanguage')] || linkTextList.i18n.en;
    var linkTooltip = linkTooltipList.i18n[mw.config.get('wgUserLanguage')] || linkTooltipList.i18n.en;
    mw.util.addPortletLink('p-personal', link, linkText, 'pt-upl', linkTooltip, '', document.getElementById('pt-logout'));
    if (username) {
      mw.util.addPortletLink('p-tb', userlink, userlinkText, 't-JSONListUploads', '', '', document.getElementById('t-log'));
    }
   } // function
}; // object
jQuery(function ($) {
  try {
    window.uploadLink.install();
  } catch (ex) {} // silently fail - it is obvious if the link is missing
});
});
})();
/* End MyUploads */

Latest revision as of 19:12, June 20, 2020

$( function() {
  mw.loader.using(['mediawiki.util']).then(function() {
    mw.util.addPortletLink('p-personal', mw.config.get('wgServer') + '/wiki/Special:ListFiles/' + mw.config.get('wgUserName'), 'Uploads', 'pt-uploads', 'List of files you have uploaded', 'o','#pt-mycontris');
  });
});