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.)
 
(Replaced content with "$( function() { mw.util.addPortletLink('p-personal', mw.config.get('wgServer') + '/wiki/Special:ListFiles/' + mw.config.get('wgUserName'), 'My uploads', 'pt-uploads', 'List o...")
Line 1: Line 1:
(function () {
$( function() {
'use strict';
mw.util.addPortletLink('p-personal', mw.config.get('wgServer') + '/wiki/Special:ListFiles/' + mw.config.get('wgUserName'), 'My uploads', 'pt-uploads', 'List of files you uploaded', 'u','#pt-mycontris');
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 */

Revision as of 09:24, November 8, 2011

$( function() {
mw.util.addPortletLink('p-personal', mw.config.get('wgServer') + '/wiki/Special:ListFiles/' + mw.config.get('wgUserName'), 'My uploads', 'pt-uploads', 'List of files you uploaded', 'u','#pt-mycontris');
});