MediaWiki:Gadget-MyUploads.js

From Zelda Dungeon Wiki
Revision as of 05:45, October 24, 2011 by Emma (talk | contribs) (Created page.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Want an adless experience? Log in or Create an account.

Note: After saving, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: hold Shift while clicking Reload, or press either Ctrl+F5 or Ctrl+R (Command+R on a Mac)
  • Google Chrome: press Ctrl+Shift+R (Command+Shift+R on a Mac)
  • Internet Explorer: hold Ctrl while clicking Refresh, or press Ctrl+F5
  • Konqueror: click Reload or press F5
  • Opera: clear the cache in Tools → Preferences
(function () {
'use strict';
if (window.uploadLink || mw.user.anonymous()) return;
 
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 */